Plugin Directory

Changeset 2505545


Ignore:
Timestamp:
03/29/2021 09:05:17 PM (5 years ago)
Author:
jboydston
Message:

tagging version 1.21.0

Location:
newspack-newsletters/trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • newspack-newsletters/trunk/dist/adsEditor.asset.php

    r2474708 r2505545  
    1 <?php return array('dependencies' => array('wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins', 'wp-polyfill'), 'version' => 'f56f64d6891a1303e3413552697340e1');
     1<?php return array('dependencies' => array('wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins', 'wp-polyfill'), 'version' => '2a77894edff6c39fda152fb9b7fa5fe1');
  • newspack-newsletters/trunk/dist/branding.asset.php

    r2474708 r2505545  
    1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => 'fa8e59a04427e71de742f7b092d0e3fa');
     1<?php return array('dependencies' => array('wp-polyfill'), 'version' => '5e503794df2e2917cf198c3bee87a8d7');
  • newspack-newsletters/trunk/dist/editor.asset.php

    r2474708 r2505545  
    1 <?php return array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-plugins', 'wp-polyfill', 'wp-url'), 'version' => '5d1a8fb10015b77f9930f60e6dd73c7a');
     1<?php return array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-plugins', 'wp-polyfill', 'wp-url'), 'version' => '6a980ed8c84cfe72d2ce1d8e649c3e39');
  • newspack-newsletters/trunk/dist/editor.css

    r2474708 r2505545  
    187187h6.block-editor-rich-text__editable a {
    188188  color: inherit; }
     189
     190.autocomplete-tokenfield {
     191  position: relative;
     192  /* Workaround for hard-coded help text in FormTokenField. */ }
     193  .autocomplete-tokenfield .components-spinner {
     194    position: absolute;
     195    top: 2em;
     196    right: 0; }
     197  .autocomplete-tokenfield .components-form-token-field > .components-form-token-field__help {
     198    display: none; }
     199  .autocomplete-tokenfield .autocomplete-tokenfield__help {
     200    font-style: italic; }
    189201
    190202.newspack-newsletters__layout-preview {
     
    508520    display: none; }
    509521
     522.newspack-newsletters__list-select {
     523  position: relative; }
     524  .newspack-newsletters__list-select .components-spinner {
     525    float: none;
     526    left: 50%;
     527    margin: 0;
     528    position: absolute;
     529    top: 50%;
     530    transform: translateX(-50%); }
     531
    510532/**
    511533 * Colors
     
    530552    border-top: 1px solid #e2e4e7; }
    531553
    532 .newspack-newsletters__subject-textcontrol .components-base-control__label, .newspack-newsletters__to-selectcontrol .components-base-control__label {
     554.newspack-newsletters__subject-textcontrol .components-base-control__label, .newspack-newsletters__to-selectcontrol .components-base-control__label, .newspack-newsletters__sendmode-radiocontrol .components-base-control__label {
    533555  font-weight: 600; }
    534556
     
    567589    margin-left: 1.3em; }
    568590
    569 .post-type-newspack_nl_cpt .editor-post-title {
    570   display: none; }
     591.post-type-newspack_nl_cpt .editor-post-title.newspack-newsletters-post-title-hidden {
     592  height: 0;
     593  opacity: 0;
     594  pointer-events: none; }
    571595
    572596.post-type-newspack_nl_cpt .components-button.editor-post-publish-button__button.is-primary {
  • newspack-newsletters/trunk/dist/editor.js

    r2474708 r2505545  
    120120/***/ }),
    121121
     122/***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js":
     123/*!**********************************************************************!*\
     124  !*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
     125  \**********************************************************************/
     126/*! no static exports found */
     127/***/ (function(module, exports) {
     128
     129eval("function _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\nmodule.exports = _assertThisInitialized;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js?");
     130
     131/***/ }),
     132
     133/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js":
     134/*!***************************************************************!*\
     135  !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
     136  \***************************************************************/
     137/*! no static exports found */
     138/***/ (function(module, exports) {
     139
     140eval("function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nmodule.exports = _classCallCheck;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?");
     141
     142/***/ }),
     143
     144/***/ "./node_modules/@babel/runtime/helpers/createClass.js":
     145/*!************************************************************!*\
     146  !*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
     147  \************************************************************/
     148/*! no static exports found */
     149/***/ (function(module, exports) {
     150
     151eval("function _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\nmodule.exports = _createClass;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/createClass.js?");
     152
     153/***/ }),
     154
     155/***/ "./node_modules/@babel/runtime/helpers/createSuper.js":
     156/*!************************************************************!*\
     157  !*** ./node_modules/@babel/runtime/helpers/createSuper.js ***!
     158  \************************************************************/
     159/*! no static exports found */
     160/***/ (function(module, exports, __webpack_require__) {
     161
     162eval("var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct */ \"./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = __webpack_require__(/*! ./possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n  return function () {\n    var Super = getPrototypeOf(Derived),\n        result;\n\n    if (isNativeReflectConstruct()) {\n      var NewTarget = getPrototypeOf(this).constructor;\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return possibleConstructorReturn(this, result);\n  };\n}\n\nmodule.exports = _createSuper;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/createSuper.js?");
     163
     164/***/ }),
     165
    122166/***/ "./node_modules/@babel/runtime/helpers/defineProperty.js":
    123167/*!***************************************************************!*\
     
    142186/***/ }),
    143187
     188/***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js":
     189/*!***************************************************************!*\
     190  !*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
     191  \***************************************************************/
     192/*! no static exports found */
     193/***/ (function(module, exports) {
     194
     195eval("function _getPrototypeOf(o) {\n  module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js?");
     196
     197/***/ }),
     198
     199/***/ "./node_modules/@babel/runtime/helpers/inherits.js":
     200/*!*********************************************************!*\
     201  !*** ./node_modules/@babel/runtime/helpers/inherits.js ***!
     202  \*********************************************************/
     203/*! no static exports found */
     204/***/ (function(module, exports, __webpack_require__) {
     205
     206eval("var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ \"./node_modules/@babel/runtime/helpers/setPrototypeOf.js\");\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\nmodule.exports = _inherits;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/inherits.js?");
     207
     208/***/ }),
     209
     210/***/ "./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js":
     211/*!*************************************************************************!*\
     212  !*** ./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***!
     213  \*************************************************************************/
     214/*! no static exports found */
     215/***/ (function(module, exports) {
     216
     217eval("function _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nmodule.exports = _isNativeReflectConstruct;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js?");
     218
     219/***/ }),
     220
    144221/***/ "./node_modules/@babel/runtime/helpers/iterableToArray.js":
    145222/*!****************************************************************!*\
     
    219296/***/ }),
    220297
     298/***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
     299/*!**************************************************************************!*\
     300  !*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
     301  \**************************************************************************/
     302/*! no static exports found */
     303/***/ (function(module, exports, __webpack_require__) {
     304
     305eval("var _typeof = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n\nvar assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\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\nmodule.exports = _possibleConstructorReturn;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?");
     306
     307/***/ }),
     308
     309/***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
     310/*!***************************************************************!*\
     311  !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
     312  \***************************************************************/
     313/*! no static exports found */
     314/***/ (function(module, exports) {
     315
     316eval("function _setPrototypeOf(o, p) {\n  module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?");
     317
     318/***/ }),
     319
    221320/***/ "./node_modules/@babel/runtime/helpers/slicedToArray.js":
    222321/*!**************************************************************!*\
     
    238337
    239338eval("var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ \"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\");\n\nvar iterableToArray = __webpack_require__(/*! ./iterableToArray */ \"./node_modules/@babel/runtime/helpers/iterableToArray.js\");\n\nvar unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray */ \"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread */ \"./node_modules/@babel/runtime/helpers/nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js?");
     339
     340/***/ }),
     341
     342/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
     343/*!*******************************************************!*\
     344  !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
     345  \*******************************************************/
     346/*! no static exports found */
     347/***/ (function(module, exports) {
     348
     349eval("function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    module.exports = _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    module.exports = _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nmodule.exports = _typeof;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/typeof.js?");
    240350
    241351/***/ }),
     
    275385/***/ }),
    276386
     387/***/ "./src/components/autocomplete-tokenfield/autocomplete-tokenfield.scss":
     388/*!*****************************************************************************!*\
     389  !*** ./src/components/autocomplete-tokenfield/autocomplete-tokenfield.scss ***!
     390  \*****************************************************************************/
     391/*! no static exports found */
     392/***/ (function(module, exports, __webpack_require__) {
     393
     394eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/autocomplete-tokenfield/autocomplete-tokenfield.scss?");
     395
     396/***/ }),
     397
     398/***/ "./src/components/autocomplete-tokenfield/index.js":
     399/*!*********************************************************!*\
     400  !*** ./src/components/autocomplete-tokenfield/index.js ***!
     401  \*********************************************************/
     402/*! exports provided: default */
     403/***/ (function(module, __webpack_exports__, __webpack_require__) {
     404
     405"use strict";
     406eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_createSuper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createSuper */ \"./node_modules/@babel/runtime/helpers/createSuper.js\");\n/* harmony import */ var _babel_runtime_helpers_createSuper__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createSuper__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _autocomplete_tokenfield_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./autocomplete-tokenfield.scss */ \"./src/components/autocomplete-tokenfield/autocomplete-tokenfield.scss\");\n/* harmony import */ var _autocomplete_tokenfield_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_autocomplete_tokenfield_scss__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n/**\n * Internal dependencies\n */\n\n\n/**\n * An multi-selecting, api-driven autocomplete input suitable for use in block attributes.\n */\n\nvar AutocompleteTokenField = /*#__PURE__*/function (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(AutocompleteTokenField, _Component);\n\n  var _super = _babel_runtime_helpers_createSuper__WEBPACK_IMPORTED_MODULE_4___default()(AutocompleteTokenField);\n\n  function AutocompleteTokenField(props) {\n    var _this;\n\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, AutocompleteTokenField);\n\n    _this = _super.call(this, props);\n\n    _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default()(_this), \"isFetchingInfoOnLoad\", function () {\n      var _this$props = _this.props,\n          tokens = _this$props.tokens,\n          fetchSavedInfo = _this$props.fetchSavedInfo;\n      return Boolean(tokens.length && fetchSavedInfo);\n    });\n\n    _this.state = {\n      suggestions: [],\n      validValues: {},\n      loading: _this.isFetchingInfoOnLoad()\n    };\n    _this.debouncedUpdateSuggestions = Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"debounce\"])(_this.updateSuggestions, 500);\n    return _this;\n  }\n  /**\n   * If the component has tokens passed in props, it should fetch info after it mounts.\n   */\n\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(AutocompleteTokenField, [{\n    key: \"componentDidMount\",\n\n    /**\n     * When the component loads, fetch information about the tokens so we can populate\n     * the tokens with the correct labels.\n     */\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      if (this.isFetchingInfoOnLoad()) {\n        var _this$props2 = this.props,\n            tokens = _this$props2.tokens,\n            fetchSavedInfo = _this$props2.fetchSavedInfo;\n        fetchSavedInfo(tokens).then(function (results) {\n          var validValues = _this2.state.validValues;\n          results.forEach(function (suggestion) {\n            validValues[suggestion.value] = suggestion.label;\n          });\n\n          _this2.setState({\n            validValues: validValues,\n            loading: false\n          });\n        });\n      }\n    }\n    /**\n     * Clean up any unfinished autocomplete api call requests.\n     */\n\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      delete this.suggestionsRequest;\n      this.debouncedUpdateSuggestions.cancel();\n    }\n    /**\n     * Get a list of labels for input values.\n     *\n     * @param {Array} values Array of values (ids, etc.).\n     * @return {Array} array of valid labels corresponding to the values.\n     */\n\n  }, {\n    key: \"getLabelsForValues\",\n    value: function getLabelsForValues(values) {\n      var validValues = this.state.validValues;\n      return values.reduce(function (accumulator, value) {\n        return validValues[value] ? [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(accumulator), [validValues[value]]) : accumulator;\n      }, []);\n    }\n    /**\n     * Get a list of values for input labels.\n     *\n     * @param {Array} labels Array of labels from the tokens.\n     * @return {Array} Array of valid values corresponding to the labels.\n     */\n\n  }, {\n    key: \"getValuesForLabels\",\n    value: function getValuesForLabels(labels) {\n      var validValues = this.state.validValues;\n      return labels.map(function (label) {\n        return Object.keys(validValues).find(function (key) {\n          return validValues[key] === label;\n        });\n      });\n    }\n    /**\n     * Refresh the autocomplete dropdown.\n     *\n     * @param {string} input Input to fetch suggestions for\n     */\n\n  }, {\n    key: \"updateSuggestions\",\n    value: function updateSuggestions(input) {\n      var _this3 = this;\n\n      var fetchSuggestions = this.props.fetchSuggestions;\n\n      if (!fetchSuggestions) {\n        return;\n      }\n\n      this.setState({\n        loading: true\n      }, function () {\n        var request = fetchSuggestions(input);\n        request.then(function (suggestions) {\n          // A fetch Promise doesn't have an abort option. It's mimicked by\n          // comparing the request reference in on the instance, which is\n          // reset or deleted on subsequent requests or unmounting.\n          if (_this3.suggestionsRequest !== request) {\n            return;\n          }\n\n          var validValues = _this3.state.validValues;\n          var currentSuggestions = [];\n          suggestions.forEach(function (suggestion) {\n            currentSuggestions.push(suggestion.label);\n            validValues[suggestion.value] = suggestion.label;\n          });\n\n          _this3.setState({\n            suggestions: currentSuggestions,\n            validValues: validValues,\n            loading: false\n          });\n        })[\"catch\"](function () {\n          if (_this3.suggestionsRequest === request) {\n            _this3.setState({\n              loading: false\n            });\n          }\n        });\n        _this3.suggestionsRequest = request;\n      });\n    }\n    /**\n     * When a token is selected, we need to convert the string label into a recognized value suitable for saving as an attribute.\n     *\n     * @param {Array} tokenStrings An array of token label strings.\n     */\n\n  }, {\n    key: \"handleOnChange\",\n    value: function handleOnChange(tokenStrings) {\n      var onChange = this.props.onChange;\n      onChange(this.getValuesForLabels(tokenStrings));\n    }\n    /**\n     * To populate the tokens, we need to convert the values into a human-readable label.\n     *\n     * @return {Array} An array of token label strings.\n     */\n\n  }, {\n    key: \"getTokens\",\n    value: function getTokens() {\n      var tokens = this.props.tokens;\n      return this.getLabelsForValues(tokens);\n    }\n    /**\n     * Render.\n     */\n\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this4 = this;\n\n      var _this$props3 = this.props,\n          help = _this$props3.help,\n          _this$props3$label = _this$props3.label,\n          label = _this$props3$label === void 0 ? '' : _this$props3$label;\n      var _this$state = this.state,\n          suggestions = _this$state.suggestions,\n          loading = _this$state.loading;\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"div\", {\n        className: \"autocomplete-tokenfield\"\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"FormTokenField\"], {\n        value: this.getTokens(),\n        suggestions: suggestions,\n        onChange: function onChange(tokens) {\n          return _this4.handleOnChange(tokens);\n        },\n        onInputChange: function onInputChange(input) {\n          return _this4.debouncedUpdateSuggestions(input);\n        },\n        label: label\n      }), loading && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], null), help && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"p\", {\n        className: \"autocomplete-tokenfield__help\"\n      }, help));\n    }\n  }]);\n\n  return AutocompleteTokenField;\n}(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AutocompleteTokenField);\n\n//# sourceURL=webpack:///./src/components/autocomplete-tokenfield/index.js?");
     407
     408/***/ }),
     409
    277410/***/ "./src/components/init-modal/index.js":
    278411/*!********************************************!*\
     
    295428
    296429"use strict";
    297 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/keycodes */ \"@wordpress/keycodes\");\n/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n\n\nvar _dispatch = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__[\"dispatch\"])('core/editor'),\n    lockPostAutosaving = _dispatch.lockPostAutosaving,\n    unlockPostAutosaving = _dispatch.unlockPostAutosaving,\n    savePost = _dispatch.savePost;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n  var onSetupStatus = _ref.onSetupStatus;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])({}),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2),\n      settings = _useState2[0],\n      setSettings = _useState2[1];\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(false),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState3, 2),\n      inFlight = _useState4[0],\n      setInFlight = _useState4[1];\n\n  var _useState5 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])({}),\n      _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState5, 2),\n      errors = _useState6[0],\n      setErrors = _useState6[1];\n\n  var commitSettings = function commitSettings() {\n    setInFlight(true);\n    setErrors({});\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4___default()({\n      path: '/newspack-newsletters/v1/settings',\n      method: 'POST',\n      data: settings\n    }).then(function (results) {\n      window.newspack_newsletters_data.service_provider = results.service_provider;\n      unlockPostAutosaving('newsletters-modal-is-open-lock');\n      savePost().then(function () {\n        setInFlight(false);\n        setSettings(results);\n        onSetupStatus(!results.status);\n      });\n    })[\"catch\"](handleErrors);\n  };\n\n  var handleErrors = function handleErrors(error) {\n    if ('newspack_rest_forbidden' === error.code) {\n      setInFlight(false);\n      setErrors({\n        newspack_newsletters_invalid_keys: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Only administrators can set API keys.', 'newspack-newsletters'),\n        newspack_newsletters_invalid_keys_mjml: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Only administrators can set MJML credentials.', 'newspack-newsletters')\n      });\n      return;\n    }\n\n    var allErrors = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, error.code, error.message);\n\n    (error.additional_errors || []).forEach(function (additionalError) {\n      return allErrors[additionalError.code] = additionalError.message;\n    });\n    setErrors(allErrors);\n    setInFlight(false);\n  };\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    lockPostAutosaving('newsletters-modal-is-open-lock');\n    setInFlight(true);\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4___default()({\n      path: \"/newspack-newsletters/v1/settings\"\n    }).then(function (results) {\n      setInFlight(false);\n      setSettings(results);\n      onSetupStatus(!results.status);\n    })[\"catch\"](handleErrors);\n  }, []);\n  var _settings$service_pro = settings.service_provider,\n      serviceProvider = _settings$service_pro === void 0 ? '' : _settings$service_pro,\n      _settings$credentials = settings.credentials,\n      credentials = _settings$credentials === void 0 ? {} : _settings$credentials,\n      _settings$mjml_api_ke = settings.mjml_api_key,\n      mjmlApplicationId = _settings$mjml_api_ke === void 0 ? '' : _settings$mjml_api_ke,\n      _settings$mjml_api_se = settings.mjml_api_secret,\n      mjmlAPISecret = _settings$mjml_api_se === void 0 ? '' : _settings$mjml_api_se;\n  var canSubmit = Object(lodash__WEBPACK_IMPORTED_MODULE_10__[\"values\"])(credentials).join('').length && mjmlApplicationId.length > 0 && mjmlAPISecret.length > 0;\n  var classes = classnames__WEBPACK_IMPORTED_MODULE_9___default()('newspack-newsletters-modal__content', 'newspack-newsletters-modal__settings', inFlight && 'newspack-newsletters-modal__in-flight');\n\n  var handleKeyDown = function handleKeyDown(event) {\n    if (canSubmit && _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7__[\"ENTER\"] === event.keyCode) {\n      event.preventDefault();\n      commitSettings();\n    }\n  };\n\n  var setCredentials = function setCredentials(key) {\n    return function (value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        credentials: _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, credentials, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, key, value))\n      }));\n    };\n  };\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: classes\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters-modal__settings-wrapper\"\n  }, inFlight && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"Spinner\"], null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Select your email service provider', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"SelectControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Service Provider', 'newspack-newsletters'),\n    value: serviceProvider,\n    disabled: inFlight,\n    onChange: function onChange(value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        service_provider: value\n      }));\n    },\n    options: [{\n      value: '',\n      disabled: true,\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Select service provider', 'newspack-newsletters')\n    }, {\n      value: 'mailchimp',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Mailchimp', 'newspack-newsletters')\n    }, {\n      value: 'constant_contact',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Constant Contact', 'newspack-newsletters')\n    }]\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null), 'mailchimp' === serviceProvider && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your Mailchimp API key', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Mailchimp API key', 'newspack-newsletters'),\n    value: credentials.api_key,\n    onChange: setCredentials('api_key'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://us1.admin.mailchimp.com/account/api/\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Generate Mailchimp API key', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"span\", {\n    className: \"separator\"\n  }, \" | \"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://mailchimp.com/help/about-api-keys/\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('About Mailchimp API keys', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null)), 'constant_contact' === serviceProvider && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your Constant Contact API key and access token', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Constant Contact API key', 'newspack-newsletters'),\n    value: credentials.api_key,\n    onChange: setCredentials('api_key'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Constant Contact Access token', 'newspack-newsletters'),\n    value: credentials.access_token,\n    onChange: setCredentials('access_token'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://constantcontact.mashery.com/\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Get Constant Contact API key', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"span\", {\n    className: \"separator\"\n  }, \" | \"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://constantcontact.mashery.com/io-docs\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Get Constant Contact access token', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your MJML API keys', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('MJML application ID', 'newspack-newsletters'),\n    value: mjmlApplicationId,\n    onChange: function onChange(value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        mjml_api_key: value\n      }));\n    },\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys_mjml && 'has-error'\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('MJML secret key', 'newspack-newsletters'),\n    value: mjmlAPISecret,\n    onChange: function onChange(value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        mjml_api_secret: value\n      }));\n    },\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys_mjml && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys_mjml && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys_mjml), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://mjml.io/api\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Request MJML API keys', 'newspack-newsletters'))))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters-modal__action-buttons\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"Button\"], {\n    isPrimary: true,\n    onClick: commitSettings,\n    disabled: inFlight || !canSubmit\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Save settings', 'newspack-newsletter'))));\n});\n\n//# sourceURL=webpack:///./src/components/init-modal/screens/api-keys/index.js?");
     430eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/keycodes */ \"@wordpress/keycodes\");\n/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n\n\nvar _dispatch = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__[\"dispatch\"])('core/editor'),\n    lockPostAutosaving = _dispatch.lockPostAutosaving,\n    unlockPostAutosaving = _dispatch.unlockPostAutosaving,\n    savePost = _dispatch.savePost;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n  var onSetupStatus = _ref.onSetupStatus;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])({}),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2),\n      settings = _useState2[0],\n      setSettings = _useState2[1];\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(false),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState3, 2),\n      inFlight = _useState4[0],\n      setInFlight = _useState4[1];\n\n  var _useState5 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])({}),\n      _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState5, 2),\n      errors = _useState6[0],\n      setErrors = _useState6[1];\n\n  var commitSettings = function commitSettings() {\n    setInFlight(true);\n    setErrors({});\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4___default()({\n      path: '/newspack-newsletters/v1/settings',\n      method: 'POST',\n      data: settings\n    }).then(function (results) {\n      window.newspack_newsletters_data.service_provider = results.service_provider;\n      unlockPostAutosaving('newsletters-modal-is-open-lock');\n      savePost().then(function () {\n        setInFlight(false);\n        setSettings(results);\n        onSetupStatus(!results.status);\n      });\n    })[\"catch\"](handleErrors);\n  };\n\n  var handleErrors = function handleErrors(error) {\n    if ('newspack_rest_forbidden' === error.code) {\n      setInFlight(false);\n      setErrors({\n        newspack_newsletters_invalid_keys: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Only administrators can set API keys.', 'newspack-newsletters'),\n        newspack_newsletters_invalid_keys_mjml: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Only administrators can set MJML credentials.', 'newspack-newsletters')\n      });\n      return;\n    }\n\n    var allErrors = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, error.code, error.message);\n\n    (error.additional_errors || []).forEach(function (additionalError) {\n      return allErrors[additionalError.code] = additionalError.message;\n    });\n    setErrors(allErrors);\n    setInFlight(false);\n  };\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    lockPostAutosaving('newsletters-modal-is-open-lock');\n    setInFlight(true);\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_4___default()({\n      path: \"/newspack-newsletters/v1/settings\"\n    }).then(function (results) {\n      setInFlight(false);\n      setSettings(results);\n      onSetupStatus(!results.status);\n    })[\"catch\"](handleErrors);\n  }, []);\n  var _settings$service_pro = settings.service_provider,\n      serviceProvider = _settings$service_pro === void 0 ? '' : _settings$service_pro,\n      _settings$credentials = settings.credentials,\n      credentials = _settings$credentials === void 0 ? {} : _settings$credentials,\n      _settings$mjml_api_ke = settings.mjml_api_key,\n      mjmlApplicationId = _settings$mjml_api_ke === void 0 ? '' : _settings$mjml_api_ke,\n      _settings$mjml_api_se = settings.mjml_api_secret,\n      mjmlAPISecret = _settings$mjml_api_se === void 0 ? '' : _settings$mjml_api_se;\n  var canSubmit = Object(lodash__WEBPACK_IMPORTED_MODULE_10__[\"values\"])(credentials).join('').length && mjmlApplicationId.length > 0 && mjmlAPISecret.length > 0;\n  var classes = classnames__WEBPACK_IMPORTED_MODULE_9___default()('newspack-newsletters-modal__content', 'newspack-newsletters-modal__settings', inFlight && 'newspack-newsletters-modal__in-flight');\n\n  var handleKeyDown = function handleKeyDown(event) {\n    if (canSubmit && _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_7__[\"ENTER\"] === event.keyCode) {\n      event.preventDefault();\n      commitSettings();\n    }\n  };\n\n  var setCredentials = function setCredentials(key) {\n    return function (value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        credentials: _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, credentials, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, key, value))\n      }));\n    };\n  };\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: classes\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters-modal__settings-wrapper\"\n  }, inFlight && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"Spinner\"], null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Select your email service provider', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"SelectControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Service Provider', 'newspack-newsletters'),\n    value: serviceProvider,\n    disabled: inFlight,\n    onChange: function onChange(value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        service_provider: value\n      }));\n    },\n    options: [{\n      value: '',\n      disabled: true,\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Select service provider', 'newspack-newsletters')\n    }, {\n      value: 'mailchimp',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Mailchimp', 'newspack-newsletters')\n    }, {\n      value: 'constant_contact',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Constant Contact', 'newspack-newsletters')\n    }, {\n      value: 'campaign_monitor',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Campaign Monitor', 'newspack-newsletters')\n    }]\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null), 'mailchimp' === serviceProvider && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your Mailchimp API key', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Mailchimp API key', 'newspack-newsletters'),\n    value: credentials.api_key,\n    onChange: setCredentials('api_key'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://us1.admin.mailchimp.com/account/api/\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Generate Mailchimp API key', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"span\", {\n    className: \"separator\"\n  }, \" | \"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://mailchimp.com/help/about-api-keys/\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('About Mailchimp API keys', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null)), 'constant_contact' === serviceProvider && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your Constant Contact API key and access token', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Constant Contact API key', 'newspack-newsletters'),\n    value: credentials.api_key,\n    onChange: setCredentials('api_key'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Constant Contact Access token', 'newspack-newsletters'),\n    value: credentials.access_token,\n    onChange: setCredentials('access_token'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://constantcontact.mashery.com/\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Get Constant Contact API key', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"span\", {\n    className: \"separator\"\n  }, \" | \"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://constantcontact.mashery.com/io-docs\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Get Constant Contact access token', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null)), 'campaign_monitor' === serviceProvider && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your Campaign Monitor API key and client ID', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Campaign Monitor API key', 'newspack-newsletters'),\n    value: credentials.api_key,\n    onChange: setCredentials('api_key'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Campaign Monitor Client ID', 'newspack-newsletters'),\n    value: credentials.client_id,\n    onChange: setCredentials('client_id'),\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://help.campaignmonitor.com/api-keys\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Get Campaign Monitor API key and Client ID', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"hr\", null)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"h4\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Enter your MJML API keys', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('MJML application ID', 'newspack-newsletters'),\n    value: mjmlApplicationId,\n    onChange: function onChange(value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        mjml_api_key: value\n      }));\n    },\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys_mjml && 'has-error'\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('MJML secret key', 'newspack-newsletters'),\n    value: mjmlAPISecret,\n    onChange: function onChange(value) {\n      return setSettings(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, settings, {\n        mjml_api_secret: value\n      }));\n    },\n    disabled: inFlight,\n    onKeyDown: handleKeyDown,\n    className: errors.newspack_newsletters_invalid_keys_mjml && 'has-error'\n  }), errors.newspack_newsletters_invalid_keys_mjml && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", {\n    className: \"error\"\n  }, errors.newspack_newsletters_invalid_keys_mjml), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"p\", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ExternalLink\"], {\n    href: \"https://mjml.io/api\"\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Request MJML API keys', 'newspack-newsletters'))))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters-modal__action-buttons\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"Button\"], {\n    isPrimary: true,\n    onClick: commitSettings,\n    disabled: inFlight || !canSubmit\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Save settings', 'newspack-newsletter'))));\n});\n\n//# sourceURL=webpack:///./src/components/init-modal/screens/api-keys/index.js?");
    298431
    299432/***/ }),
     
    377510
    378511"use strict";
    379 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _service_providers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../service-providers */ \"./src/service-providers/index.js\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./style.scss */ \"./src/components/send-button/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _utils_consts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/consts */ \"./src/utils/consts.js\");\n/* harmony import */ var _ads_admin_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../ads-admin/utils */ \"./src/ads-admin/utils.js\");\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\nvar _getServiceProvider = Object(_service_providers__WEBPACK_IMPORTED_MODULE_8__[\"getServiceProvider\"])(),\n    renderPreSendInfo = _getServiceProvider.renderPreSendInfo;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__[\"withDispatch\"])(function (dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      editPost = _dispatch.editPost,\n      savePost = _dispatch.savePost;\n\n  return {\n    editPost: editPost,\n    savePost: savePost\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__[\"withSelect\"])(function (select, _ref) {\n  var forceIsDirty = _ref.forceIsDirty;\n\n  var _select = select('core/editor'),\n      getCurrentPost = _select.getCurrentPost,\n      getEditedPostAttribute = _select.getEditedPostAttribute,\n      getEditedPostVisibility = _select.getEditedPostVisibility,\n      isEditedPostPublishable = _select.isEditedPostPublishable,\n      isEditedPostSaveable = _select.isEditedPostSaveable,\n      isSavingPost = _select.isSavingPost,\n      isEditedPostBeingScheduled = _select.isEditedPostBeingScheduled,\n      isCurrentPostPublished = _select.isCurrentPostPublished;\n\n  return {\n    currentPost: getCurrentPost(),\n    isPublishable: forceIsDirty || isEditedPostPublishable(),\n    isSaveable: isEditedPostSaveable(),\n    status: getEditedPostAttribute('status'),\n    isSaving: isSavingPost(),\n    isEditedPostBeingScheduled: isEditedPostBeingScheduled(),\n    hasPublishAction: Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"get\"])(getCurrentPost(), ['_links', 'wp:action-publish'], false),\n    visibility: getEditedPostVisibility(),\n    meta: getEditedPostAttribute('meta'),\n    isPublished: isCurrentPostPublished(),\n    author: getEditedPostAttribute('author')\n  };\n})])(function (_ref2) {\n  var editPost = _ref2.editPost,\n      savePost = _ref2.savePost,\n      currentPost = _ref2.currentPost,\n      isPublishable = _ref2.isPublishable,\n      isSaveable = _ref2.isSaveable,\n      isSaving = _ref2.isSaving,\n      status = _ref2.status,\n      isEditedPostBeingScheduled = _ref2.isEditedPostBeingScheduled,\n      hasPublishAction = _ref2.hasPublishAction,\n      visibility = _ref2.visibility,\n      meta = _ref2.meta,\n      isPublished = _ref2.isPublished,\n      author = _ref2.author;\n\n  // State to handle post-publish changes to Public setting.\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),\n      isDirty = _useState2[0],\n      setIsDirty = _useState2[1];\n\n  var font_body = meta.font_body,\n      font_header = meta.font_header,\n      _meta$newsletterData = meta.newsletterData,\n      newsletterData = _meta$newsletterData === void 0 ? {} : _meta$newsletterData,\n      _meta$newsletterValid = meta.newsletterValidationErrors,\n      newsletterValidationErrors = _meta$newsletterValid === void 0 ? [] : _meta$newsletterValid,\n      is_public = meta.is_public; // If changing certain settings that can affect the published post, after sending.\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(function () {\n    if (currentPost && isPublished && (currentPost.author !== author || currentPost.status !== status || currentPost.meta.font_body !== font_body || currentPost.meta.font_header !== font_header || currentPost.meta.is_public !== is_public)) {\n      setIsDirty(true);\n    }\n  }, [author, status, font_body, font_header, is_public]);\n  var isButtonEnabled = (isPublishable || isEditedPostBeingScheduled) && isSaveable && !isPublished && !isSaving && newsletterData.campaign && 0 === newsletterValidationErrors.length;\n  var label;\n\n  if (isPublished) {\n    if (isSaving) label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Sending', 'newspack-newsletters');else {\n      label = is_public ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Sent and Published', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Sent', 'newspack-newsletters');\n    }\n  } else if ('future' === status) {\n    // Scheduled to be sent\n    label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Scheduled', 'newspack-newsletters');\n  } else if (isEditedPostBeingScheduled) {\n    label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Schedule sending', 'newspack-newsletters');\n  } else {\n    label = is_public ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send and Publish', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send', 'newspack-newsletters');\n  }\n\n  var publishStatus;\n\n  if (!hasPublishAction) {\n    publishStatus = 'pending';\n  } else if (visibility === 'private') {\n    publishStatus = 'private';\n  } else if (isEditedPostBeingScheduled) {\n    publishStatus = 'future';\n  } else {\n    publishStatus = 'publish';\n  }\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState3, 2),\n      adsWarning = _useState4[0],\n      setAdsWarning = _useState4[1];\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(function () {\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default()({\n      path: \"/wp/v2/\".concat(_utils_consts__WEBPACK_IMPORTED_MODULE_10__[\"NEWSLETTER_AD_CPT_SLUG\"])\n    }).then(function (response) {\n      var activeAds = response.filter(_ads_admin_utils__WEBPACK_IMPORTED_MODULE_11__[\"isAdActive\"]);\n\n      if (activeAds.length) {\n        setAdsWarning(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"sprintf\"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"_n\"])('There is %d active ad.', 'There are %d active ads.', activeAds.length, 'newspack-newsletters'), activeAds.length));\n      }\n    });\n  }, []);\n\n  var triggerCampaignSend = function triggerCampaignSend() {\n    editPost({\n      status: publishStatus\n    });\n    savePost();\n  };\n\n  var _useState5 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false),\n      _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState5, 2),\n      modalVisible = _useState6[0],\n      setModalVisible = _useState6[1]; // If we've changed the Public setting post-publish, allow the user to just save the post.\n\n\n  if (isDirty && isPublished) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n      className: \"editor-post-publish-button\",\n      isBusy: isSaving,\n      isPrimary: true,\n      isLarge: true,\n      disabled: isSaving,\n      onClick: function _callee() {\n        return regeneratorRuntime.async(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return regeneratorRuntime.awrap(savePost());\n\n              case 2:\n                setIsDirty(false);\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, null, null, null, Promise);\n      }\n    }, isSaving ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Updating...', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Update', 'newspack-newsletters'));\n  }\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n    className: \"editor-post-publish-button\",\n    isBusy: isSaving && 'publish' === status,\n    isPrimary: true,\n    isLarge: true,\n    onClick: function onClick() {\n      return setModalVisible(true);\n    },\n    disabled: !isButtonEnabled\n  }, label), modalVisible && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Modal\"], {\n    className: \"newspack-newsletters__modal\",\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send your newsletter?', 'newspack-newsletters'),\n    onRequestClose: function onRequestClose() {\n      return setModalVisible(false);\n    }\n  }, adsWarning ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Notice\"], {\n    isDismissible: false\n  }, adsWarning, ' ', Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(\"a\", {\n    href: \"/wp-admin/edit.php?post_type=\".concat(_utils_consts__WEBPACK_IMPORTED_MODULE_10__[\"NEWSLETTER_CPT_SLUG\"], \"&page=newspack-newsletters-ads-admin\")\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Manage ads', 'newspack-newsletters'))) : null, renderPreSendInfo(newsletterData), newsletterValidationErrors.length ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Notice\"], {\n    status: \"error\",\n    isDismissible: false\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('The following errors prevent the newsletter from being sent:', 'newspack-newsletters'), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(\"ul\", null, newsletterValidationErrors.map(function (error, i) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(\"li\", {\n      key: i\n    }, error);\n  }))) : null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n    isPrimary: true,\n    disabled: newsletterValidationErrors.length > 0,\n    onClick: function onClick() {\n      triggerCampaignSend();\n      setModalVisible(false);\n    }\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n    isSecondary: true,\n    onClick: function onClick() {\n      return setModalVisible(false);\n    }\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Cancel', 'newspack-newsletters'))));\n}));\n\n//# sourceURL=webpack:///./src/components/send-button/index.js?");
     512eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _service_providers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../service-providers */ \"./src/service-providers/index.js\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./style.scss */ \"./src/components/send-button/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _utils_consts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/consts */ \"./src/utils/consts.js\");\n/* harmony import */ var _ads_admin_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../ads-admin/utils */ \"./src/ads-admin/utils.js\");\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\nvar _getServiceProvider = Object(_service_providers__WEBPACK_IMPORTED_MODULE_8__[\"getServiceProvider\"])(),\n    renderPreSendInfo = _getServiceProvider.renderPreSendInfo;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__[\"withDispatch\"])(function (dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      editPost = _dispatch.editPost,\n      savePost = _dispatch.savePost;\n\n  return {\n    editPost: editPost,\n    savePost: savePost\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__[\"withSelect\"])(function (select, _ref) {\n  var forceIsDirty = _ref.forceIsDirty;\n\n  var _select = select('core/editor'),\n      getCurrentPost = _select.getCurrentPost,\n      getEditedPostAttribute = _select.getEditedPostAttribute,\n      getEditedPostVisibility = _select.getEditedPostVisibility,\n      isEditedPostPublishable = _select.isEditedPostPublishable,\n      isEditedPostSaveable = _select.isEditedPostSaveable,\n      isSavingPost = _select.isSavingPost,\n      isEditedPostBeingScheduled = _select.isEditedPostBeingScheduled,\n      isCurrentPostPublished = _select.isCurrentPostPublished;\n\n  return {\n    isPublishable: forceIsDirty || isEditedPostPublishable(),\n    isSaveable: isEditedPostSaveable(),\n    status: getEditedPostAttribute('status'),\n    isSaving: isSavingPost(),\n    isEditedPostBeingScheduled: isEditedPostBeingScheduled(),\n    hasPublishAction: Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"get\"])(getCurrentPost(), ['_links', 'wp:action-publish'], false),\n    visibility: getEditedPostVisibility(),\n    meta: getEditedPostAttribute('meta'),\n    isPublished: isCurrentPostPublished()\n  };\n})])(function (_ref2) {\n  var editPost = _ref2.editPost,\n      savePost = _ref2.savePost,\n      isPublishable = _ref2.isPublishable,\n      isSaveable = _ref2.isSaveable,\n      isSaving = _ref2.isSaving,\n      status = _ref2.status,\n      isEditedPostBeingScheduled = _ref2.isEditedPostBeingScheduled,\n      hasPublishAction = _ref2.hasPublishAction,\n      visibility = _ref2.visibility,\n      meta = _ref2.meta,\n      isPublished = _ref2.isPublished;\n  var _meta$newsletterData = meta.newsletterData,\n      newsletterData = _meta$newsletterData === void 0 ? {} : _meta$newsletterData,\n      _meta$newsletterValid = meta.newsletterValidationErrors,\n      newsletterValidationErrors = _meta$newsletterValid === void 0 ? [] : _meta$newsletterValid,\n      is_public = meta.is_public;\n  var isButtonEnabled = (isPublishable || isEditedPostBeingScheduled) && isSaveable && !isPublished && !isSaving && newsletterData.campaign && 0 === newsletterValidationErrors.length;\n  var label;\n\n  if (isPublished) {\n    if (isSaving) label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Sending', 'newspack-newsletters');else {\n      label = is_public ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Sent and Published', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Sent', 'newspack-newsletters');\n    }\n  } else if ('future' === status) {\n    // Scheduled to be sent\n    label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Scheduled', 'newspack-newsletters');\n  } else if (isEditedPostBeingScheduled) {\n    label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Schedule sending', 'newspack-newsletters');\n  } else {\n    label = is_public ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send and Publish', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send', 'newspack-newsletters');\n  }\n\n  var publishStatus;\n\n  if (!hasPublishAction) {\n    publishStatus = 'pending';\n  } else if (visibility === 'private') {\n    publishStatus = 'private';\n  } else if (isEditedPostBeingScheduled) {\n    publishStatus = 'future';\n  } else {\n    publishStatus = 'publish';\n  }\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),\n      adsWarning = _useState2[0],\n      setAdsWarning = _useState2[1];\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(function () {\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default()({\n      path: \"/wp/v2/\".concat(_utils_consts__WEBPACK_IMPORTED_MODULE_10__[\"NEWSLETTER_AD_CPT_SLUG\"])\n    }).then(function (response) {\n      var activeAds = response.filter(_ads_admin_utils__WEBPACK_IMPORTED_MODULE_11__[\"isAdActive\"]);\n\n      if (activeAds.length) {\n        setAdsWarning(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"sprintf\"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"_n\"])('There is %d active ad.', 'There are %d active ads.', activeAds.length, 'newspack-newsletters'), activeAds.length));\n      }\n    });\n  }, []);\n\n  var triggerCampaignSend = function triggerCampaignSend() {\n    editPost({\n      status: publishStatus\n    });\n    savePost();\n  };\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState3, 2),\n      modalVisible = _useState4[0],\n      setModalVisible = _useState4[1]; // For sent newsletters, display the generic button text.\n\n\n  if (isPublished) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n      className: \"editor-post-publish-button\",\n      isBusy: isSaving,\n      isPrimary: true,\n      isLarge: true,\n      disabled: isSaving,\n      onClick: savePost\n    }, isSaving ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Updating...', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Update', 'newspack-newsletters'));\n  }\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n    className: \"editor-post-publish-button\",\n    isBusy: isSaving && 'publish' === status,\n    isPrimary: true,\n    isLarge: true,\n    onClick: function _callee() {\n      return regeneratorRuntime.async(function _callee$(_context) {\n        while (1) {\n          switch (_context.prev = _context.next) {\n            case 0:\n              _context.next = 2;\n              return regeneratorRuntime.awrap(savePost());\n\n            case 2:\n              setModalVisible(true);\n\n            case 3:\n            case \"end\":\n              return _context.stop();\n          }\n        }\n      }, null, null, null, Promise);\n    },\n    disabled: !isButtonEnabled\n  }, label), modalVisible && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Modal\"], {\n    className: \"newspack-newsletters__modal\",\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send your newsletter?', 'newspack-newsletters'),\n    onRequestClose: function onRequestClose() {\n      return setModalVisible(false);\n    }\n  }, adsWarning ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Notice\"], {\n    isDismissible: false\n  }, adsWarning, ' ', Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(\"a\", {\n    href: \"/wp-admin/edit.php?post_type=\".concat(_utils_consts__WEBPACK_IMPORTED_MODULE_10__[\"NEWSLETTER_CPT_SLUG\"], \"&page=newspack-newsletters-ads-admin\")\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Manage ads', 'newspack-newsletters'))) : null, renderPreSendInfo(newsletterData), newsletterValidationErrors.length ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Notice\"], {\n    status: \"error\",\n    isDismissible: false\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('The following errors prevent the newsletter from being sent:', 'newspack-newsletters'), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(\"ul\", null, newsletterValidationErrors.map(function (error, i) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(\"li\", {\n      key: i\n    }, error);\n  }))) : null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n    isPrimary: true,\n    disabled: newsletterValidationErrors.length > 0,\n    onClick: function onClick() {\n      triggerCampaignSend();\n      setModalVisible(false);\n    }\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n    isSecondary: true,\n    onClick: function onClick() {\n      return setModalVisible(false);\n    }\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Cancel', 'newspack-newsletters'))));\n}));\n\n//# sourceURL=webpack:///./src/components/send-button/index.js?");
    380513
    381514/***/ }),
     
    472605
    473606"use strict";
    474 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/blocks */ \"@wordpress/blocks\");\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @wordpress/block-editor */ \"@wordpress/block-editor\");\n/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./style.scss */ \"./src/editor/blocks/posts-inserter/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _deduplication__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./deduplication */ \"./src/editor/blocks/posts-inserter/deduplication.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./icon */ \"./src/editor/blocks/posts-inserter/icon.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils */ \"./src/editor/blocks/posts-inserter/utils.js\");\n/* harmony import */ var _query_controls__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./query-controls */ \"./src/editor/blocks/posts-inserter/query-controls.js\");\n/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./consts */ \"./src/editor/blocks/posts-inserter/consts.js\");\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\n\n\nvar PostsInserterBlock = function PostsInserterBlock(_ref) {\n  var setAttributes = _ref.setAttributes,\n      attributes = _ref.attributes,\n      postList = _ref.postList,\n      replaceBlocks = _ref.replaceBlocks,\n      setHandledPostsIds = _ref.setHandledPostsIds,\n      setInsertedPostsIds = _ref.setInsertedPostsIds,\n      removeBlock = _ref.removeBlock,\n      blockEditorSettings = _ref.blockEditorSettings;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(!attributes.displayFeaturedImage),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2),\n      isReady = _useState2[0],\n      setIsReady = _useState2[1];\n\n  var stringifiedPostList = JSON.stringify(postList); // Stringify added to minimize flicker.\n\n  var templateBlocks = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useMemo\"])(function () {\n    return Object(_utils__WEBPACK_IMPORTED_MODULE_14__[\"getTemplateBlocks\"])(postList, attributes);\n  }, [stringifiedPostList, attributes]);\n  var stringifiedTemplateBlocks = JSON.stringify(templateBlocks);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    var isDisplayingSpecificPosts = attributes.isDisplayingSpecificPosts,\n        specificPosts = attributes.specificPosts; // No spinner if we're not dealing with images.\n\n    if (!attributes.displayFeaturedImage) {\n      return setIsReady(true);\n    } // No spinner if we're in the middle of selecting a specific post.\n\n\n    if (isDisplayingSpecificPosts && 0 === specificPosts.length) {\n      return setIsReady(true);\n    } // Reset ready state.\n\n\n    setIsReady(false); // If we have a post to show, check for featured image blocks.\n\n    if (0 < postList.length) {\n      // Find all the featured images.\n      var images = [];\n      postList.map(function (post) {\n        return post.featured_media && images.push(post.featured_media);\n      }); // If no posts have featured media, skip loading state.\n\n      if (0 === images.length) {\n        return setIsReady(true);\n      } // Wait for image blocks to be added to the BlockPreview.\n\n\n      var imageBlocks = stringifiedTemplateBlocks.match(/\\\"name\\\":\\\"core\\/image\\\"/g) || []; // Preview is ready once all image blocks are accounted for.\n\n      if (imageBlocks.length === images.length) {\n        setIsReady(true);\n      }\n    }\n  }, [stringifiedPostList, stringifiedTemplateBlocks]);\n  var innerBlocksToInsert = templateBlocks.map(_utils__WEBPACK_IMPORTED_MODULE_14__[\"convertBlockSerializationFormat\"]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    setAttributes({\n      innerBlocksToInsert: innerBlocksToInsert\n    });\n  }, [JSON.stringify(innerBlocksToInsert)]);\n  var handledPostIds = postList.map(function (post) {\n    return post.id;\n  });\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (attributes.areBlocksInserted) {\n      replaceBlocks(templateBlocks);\n      setInsertedPostsIds(handledPostIds);\n    }\n  }, [attributes.areBlocksInserted]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (!attributes.preventDeduplication) {\n      setHandledPostsIds(handledPostIds);\n      return removeBlock;\n    }\n  }, [handledPostIds.join()]);\n  var blockControlsImages = [{\n    icon: 'align-none',\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show image on top', 'newspack-blocks'),\n    isActive: attributes.featuredImageAlignment === 'top',\n    onClick: function onClick() {\n      return setAttributes({\n        featuredImageAlignment: 'top'\n      });\n    }\n  }, {\n    icon: 'align-pull-left',\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show image on left', 'newspack-blocks'),\n    isActive: attributes.featuredImageAlignment === 'left',\n    onClick: function onClick() {\n      return setAttributes({\n        featuredImageAlignment: 'left'\n      });\n    }\n  }, {\n    icon: 'align-pull-right',\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show image on right', 'newspack-blocks'),\n    isActive: attributes.featuredImageAlignment === 'right',\n    onClick: function onClick() {\n      return setAttributes({\n        featuredImageAlignment: 'right'\n      });\n    }\n  }];\n  return attributes.areBlocksInserted ? null : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"InspectorControls\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Post content settings', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display post excerpt', 'newspack-newsletters'),\n    checked: attributes.displayPostExcerpt,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayPostExcerpt: value\n      });\n    }\n  }), attributes.displayPostExcerpt && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"RangeControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Max number of words in excerpt', 'newspack-newsletters'),\n    value: attributes.excerptLength,\n    onChange: function onChange(value) {\n      return setAttributes({\n        excerptLength: value\n      });\n    },\n    min: 10,\n    max: 100\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display date', 'newspack-newsletters'),\n    checked: attributes.displayPostDate,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayPostDate: value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display featured image', 'newspack-newsletters'),\n    checked: attributes.displayFeaturedImage,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayFeaturedImage: value\n      });\n    }\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Sorting and filtering', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_query_controls__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n    attributes: attributes,\n    setAttributes: setAttributes\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Text style', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"FontSizePicker\"], {\n    fontSizes: blockEditorSettings.fontSizes,\n    value: attributes.textFontSize,\n    fallbackFontSize: 16,\n    onChange: function onChange(value) {\n      return setAttributes({\n        textFontSize: isNaN(value) ? null : value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ColorPicker\"], {\n    color: attributes.textColor,\n    onChangeComplete: function onChangeComplete(value) {\n      return setAttributes({\n        textColor: value.hex\n      });\n    },\n    disableAlpha: true\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Heading style', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"FontSizePicker\"], {\n    fontSizes: blockEditorSettings.fontSizes,\n    value: attributes.headingFontSize,\n    fallbackFontSize: 25,\n    onChange: function onChange(value) {\n      return setAttributes({\n        headingFontSize: isNaN(value) ? null : value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ColorPicker\"], {\n    color: attributes.headingColor,\n    onChangeComplete: function onChangeComplete(value) {\n      return setAttributes({\n        headingColor: value.hex\n      });\n    },\n    disableAlpha: true\n  }))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"BlockControls\"], null, attributes.displayFeaturedImage && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Toolbar\"], {\n    controls: blockControlsImages\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter__header\"\n  }, _icon__WEBPACK_IMPORTED_MODULE_13__[\"default\"], Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"span\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Posts Inserter', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter__preview\"\n  }, isReady ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"BlockPreview\"], {\n    blocks: templateBlocks,\n    viewportWidth: 558\n  }) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], null)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter__footer\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Button\"], {\n    isPrimary: true,\n    onClick: function onClick() {\n      return setAttributes({\n        areBlocksInserted: true\n      });\n    }\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Insert posts', 'newspack-newsletters')))));\n};\n\nvar PostsInserterBlockWithSelect = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withSelect\"])(function (select, props) {\n  var _props$attributes = props.attributes,\n      postsToShow = _props$attributes.postsToShow,\n      order = _props$attributes.order,\n      orderBy = _props$attributes.orderBy,\n      categories = _props$attributes.categories,\n      isDisplayingSpecificPosts = _props$attributes.isDisplayingSpecificPosts,\n      specificPosts = _props$attributes.specificPosts,\n      preventDeduplication = _props$attributes.preventDeduplication;\n\n  var _select = select('core'),\n      getEntityRecords = _select.getEntityRecords,\n      getMedia = _select.getMedia;\n\n  var _select2 = select('core/block-editor'),\n      getSelectedBlock = _select2.getSelectedBlock,\n      getBlocks = _select2.getBlocks,\n      getSettings = _select2.getSettings;\n\n  var catIds = categories && categories.length > 0 ? categories.map(function (cat) {\n    return cat.id;\n  }) : [];\n\n  var _select3 = select(_consts__WEBPACK_IMPORTED_MODULE_16__[\"POSTS_INSERTER_STORE_NAME\"]),\n      getHandledPostIds = _select3.getHandledPostIds;\n\n  var exclude = getHandledPostIds(props.clientId);\n  var posts = [];\n  var isHandlingSpecificPosts = isDisplayingSpecificPosts && specificPosts.length > 0;\n\n  if (!isDisplayingSpecificPosts || isHandlingSpecificPosts) {\n    var postListQuery = isDisplayingSpecificPosts ? {\n      include: specificPosts.map(function (post) {\n        return post.id;\n      })\n    } : Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"pickBy\"])({\n      categories: catIds,\n      order: order,\n      orderby: orderBy,\n      per_page: postsToShow,\n      exclude: preventDeduplication ? [] : exclude\n    }, function (value) {\n      return !Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"isUndefined\"])(value);\n    });\n    posts = getEntityRecords('postType', 'post', postListQuery) || [];\n  } // Order posts in the order as they appear in the input\n\n\n  if (isHandlingSpecificPosts) {\n    posts = specificPosts.reduce(function (all, _ref2) {\n      var id = _ref2.id;\n      var found = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"find\"])(posts, ['id', id]);\n      return found ? [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(all), [found]) : all;\n    }, []);\n  }\n\n  return {\n    // Not used by the component, but needed in deduplication.\n    existingBlocks: getBlocks(),\n    blockEditorSettings: getSettings(),\n    selectedBlock: getSelectedBlock(),\n    postList: posts.map(function (post) {\n      if (post.featured_media) {\n        var image = getMedia(post.featured_media);\n        var fallbackImageURL = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(image, 'source_url', null);\n        var featuredImageMediumURL = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(image, ['media_details', 'sizes', 'medium', 'source_url'], null) || fallbackImageURL;\n        var featuredImageLargeURL = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(image, ['media_details', 'sizes', 'large', 'source_url'], null) || fallbackImageURL;\n        return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, post, {\n          featuredImageMediumURL: featuredImageMediumURL,\n          featuredImageLargeURL: featuredImageLargeURL\n        });\n      }\n\n      return post;\n    })\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withDispatch\"])(function (dispatch, props) {\n  var _dispatch = dispatch('core/block-editor'),\n      _replaceBlocks = _dispatch.replaceBlocks;\n\n  var _dispatch2 = dispatch(_consts__WEBPACK_IMPORTED_MODULE_16__[\"POSTS_INSERTER_STORE_NAME\"]),\n      _setHandledPostsIds = _dispatch2.setHandledPostsIds,\n      setInsertedPostsIds = _dispatch2.setInsertedPostsIds,\n      _removeBlock = _dispatch2.removeBlock;\n\n  return {\n    replaceBlocks: function replaceBlocks(blocks) {\n      _replaceBlocks(props.selectedBlock.clientId, blocks);\n    },\n    setHandledPostsIds: function setHandledPostsIds(ids) {\n      return _setHandledPostsIds(ids, props);\n    },\n    setInsertedPostsIds: setInsertedPostsIds,\n    removeBlock: function removeBlock() {\n      return _removeBlock(props.clientId);\n    }\n  };\n})])(PostsInserterBlock);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n  Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__[\"registerBlockType\"])(_consts__WEBPACK_IMPORTED_MODULE_16__[\"POSTS_INSERTER_BLOCK_NAME\"], {\n    title: 'Posts Inserter',\n    category: 'widgets',\n    icon: _icon__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n    edit: PostsInserterBlockWithSelect,\n    attributes: {\n      areBlocksInserted: {\n        type: 'boolean',\n        \"default\": false\n      },\n      postsToShow: {\n        type: 'number',\n        \"default\": 3\n      },\n      displayPostExcerpt: {\n        type: 'boolean',\n        \"default\": true\n      },\n      excerptLength: {\n        type: 'number',\n        \"default\": 15\n      },\n      displayPostDate: {\n        type: 'boolean',\n        \"default\": false\n      },\n      displayFeaturedImage: {\n        type: 'boolean',\n        \"default\": true\n      },\n      innerBlocksToInsert: {\n        type: 'array',\n        \"default\": ''\n      },\n      featuredImageAlignment: {\n        type: 'string',\n        \"default\": 'left'\n      },\n      isDisplayingSpecificPosts: {\n        type: 'boolean',\n        \"default\": false\n      },\n      specificPosts: {\n        type: 'array',\n        \"default\": []\n      },\n      textFontSize: {\n        type: 'number',\n        \"default\": 16\n      },\n      headingFontSize: {\n        type: 'number',\n        \"default\": 25\n      },\n      textColor: {\n        type: 'string',\n        \"default\": '#000'\n      },\n      headingColor: {\n        type: 'string',\n        \"default\": '#000'\n      }\n    },\n    save: function save() {\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"InnerBlocks\"].Content, null);\n    }\n  });\n});\n\n//# sourceURL=webpack:///./src/editor/blocks/posts-inserter/index.js?");
     607eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/blocks */ \"@wordpress/blocks\");\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @wordpress/block-editor */ \"@wordpress/block-editor\");\n/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./style.scss */ \"./src/editor/blocks/posts-inserter/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _deduplication__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./deduplication */ \"./src/editor/blocks/posts-inserter/deduplication.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./icon */ \"./src/editor/blocks/posts-inserter/icon.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils */ \"./src/editor/blocks/posts-inserter/utils.js\");\n/* harmony import */ var _query_controls__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./query-controls */ \"./src/editor/blocks/posts-inserter/query-controls.js\");\n/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./consts */ \"./src/editor/blocks/posts-inserter/consts.js\");\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\n\n\nvar PostsInserterBlock = function PostsInserterBlock(_ref) {\n  var setAttributes = _ref.setAttributes,\n      attributes = _ref.attributes,\n      postList = _ref.postList,\n      replaceBlocks = _ref.replaceBlocks,\n      setHandledPostsIds = _ref.setHandledPostsIds,\n      setInsertedPostsIds = _ref.setInsertedPostsIds,\n      removeBlock = _ref.removeBlock,\n      blockEditorSettings = _ref.blockEditorSettings;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(!attributes.displayFeaturedImage),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2),\n      isReady = _useState2[0],\n      setIsReady = _useState2[1];\n\n  var stringifiedPostList = JSON.stringify(postList); // Stringify added to minimize flicker.\n\n  var templateBlocks = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useMemo\"])(function () {\n    return Object(_utils__WEBPACK_IMPORTED_MODULE_14__[\"getTemplateBlocks\"])(postList, attributes);\n  }, [stringifiedPostList, attributes]);\n  var stringifiedTemplateBlocks = JSON.stringify(templateBlocks);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    var isDisplayingSpecificPosts = attributes.isDisplayingSpecificPosts,\n        specificPosts = attributes.specificPosts; // No spinner if we're not dealing with images.\n\n    if (!attributes.displayFeaturedImage) {\n      return setIsReady(true);\n    } // No spinner if we're in the middle of selecting a specific post.\n\n\n    if (isDisplayingSpecificPosts && 0 === specificPosts.length) {\n      return setIsReady(true);\n    } // Reset ready state.\n\n\n    setIsReady(false); // If we have a post to show, check for featured image blocks.\n\n    if (0 < postList.length) {\n      // Find all the featured images.\n      var images = [];\n      postList.map(function (post) {\n        return post.featured_media && images.push(post.featured_media);\n      }); // If no posts have featured media, skip loading state.\n\n      if (0 === images.length) {\n        return setIsReady(true);\n      } // Wait for image blocks to be added to the BlockPreview.\n\n\n      var imageBlocks = stringifiedTemplateBlocks.match(/\\\"name\\\":\\\"core\\/image\\\"/g) || []; // Preview is ready once all image blocks are accounted for.\n\n      if (imageBlocks.length === images.length) {\n        setIsReady(true);\n      }\n    }\n  }, [stringifiedPostList, stringifiedTemplateBlocks]);\n  var innerBlocksToInsert = templateBlocks.map(_utils__WEBPACK_IMPORTED_MODULE_14__[\"convertBlockSerializationFormat\"]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    setAttributes({\n      innerBlocksToInsert: innerBlocksToInsert\n    });\n  }, [JSON.stringify(innerBlocksToInsert)]);\n  var handledPostIds = postList.map(function (post) {\n    return post.id;\n  });\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (attributes.areBlocksInserted) {\n      replaceBlocks(templateBlocks);\n      setInsertedPostsIds(handledPostIds);\n    }\n  }, [attributes.areBlocksInserted]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (!attributes.preventDeduplication) {\n      setHandledPostsIds(handledPostIds);\n      return removeBlock;\n    }\n  }, [handledPostIds.join()]);\n  var blockControlsImages = [{\n    icon: 'align-none',\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show image on top', 'newspack-blocks'),\n    isActive: attributes.featuredImageAlignment === 'top',\n    onClick: function onClick() {\n      return setAttributes({\n        featuredImageAlignment: 'top'\n      });\n    }\n  }, {\n    icon: 'align-pull-left',\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show image on left', 'newspack-blocks'),\n    isActive: attributes.featuredImageAlignment === 'left',\n    onClick: function onClick() {\n      return setAttributes({\n        featuredImageAlignment: 'left'\n      });\n    }\n  }, {\n    icon: 'align-pull-right',\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show image on right', 'newspack-blocks'),\n    isActive: attributes.featuredImageAlignment === 'right',\n    onClick: function onClick() {\n      return setAttributes({\n        featuredImageAlignment: 'right'\n      });\n    }\n  }];\n  return attributes.areBlocksInserted ? null : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"InspectorControls\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Post content settings', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display post excerpt', 'newspack-newsletters'),\n    checked: attributes.displayPostExcerpt,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayPostExcerpt: value\n      });\n    }\n  }), attributes.displayPostExcerpt && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"RangeControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Max number of words in excerpt', 'newspack-newsletters'),\n    value: attributes.excerptLength,\n    onChange: function onChange(value) {\n      return setAttributes({\n        excerptLength: value\n      });\n    },\n    min: 10,\n    max: 100\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display date', 'newspack-newsletters'),\n    checked: attributes.displayPostDate,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayPostDate: value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display featured image', 'newspack-newsletters'),\n    checked: attributes.displayFeaturedImage,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayFeaturedImage: value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display author', 'newspack-newsletters'),\n    checked: attributes.displayAuthor,\n    onChange: function onChange(value) {\n      return setAttributes({\n        displayAuthor: value\n      });\n    }\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Sorting and filtering', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_query_controls__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n    attributes: attributes,\n    setAttributes: setAttributes\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Text style', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"FontSizePicker\"], {\n    fontSizes: blockEditorSettings.fontSizes,\n    value: attributes.textFontSize,\n    fallbackFontSize: 16,\n    onChange: function onChange(value) {\n      return setAttributes({\n        textFontSize: isNaN(value) ? null : value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ColorPicker\"], {\n    color: attributes.textColor,\n    onChangeComplete: function onChangeComplete(value) {\n      return setAttributes({\n        textColor: value.hex\n      });\n    },\n    disableAlpha: true\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"PanelBody\"], {\n    title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Heading style', 'newspack-newsletters')\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"FontSizePicker\"], {\n    fontSizes: blockEditorSettings.fontSizes,\n    value: attributes.headingFontSize,\n    fallbackFontSize: 25,\n    onChange: function onChange(value) {\n      return setAttributes({\n        headingFontSize: isNaN(value) ? null : value\n      });\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ColorPicker\"], {\n    color: attributes.headingColor,\n    onChangeComplete: function onChangeComplete(value) {\n      return setAttributes({\n        headingColor: value.hex\n      });\n    },\n    disableAlpha: true\n  }))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"BlockControls\"], null, attributes.displayFeaturedImage && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Toolbar\"], {\n    controls: blockControlsImages\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter__header\"\n  }, _icon__WEBPACK_IMPORTED_MODULE_13__[\"default\"], Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"span\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Posts Inserter', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter__preview\"\n  }, isReady ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"BlockPreview\"], {\n    blocks: templateBlocks,\n    viewportWidth: 558\n  }) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], null)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(\"div\", {\n    className: \"newspack-posts-inserter__footer\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Button\"], {\n    isPrimary: true,\n    onClick: function onClick() {\n      return setAttributes({\n        areBlocksInserted: true\n      });\n    }\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Insert posts', 'newspack-newsletters')))));\n};\n\nvar PostsInserterBlockWithSelect = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withSelect\"])(function (select, props) {\n  var _props$attributes = props.attributes,\n      postsToShow = _props$attributes.postsToShow,\n      order = _props$attributes.order,\n      orderBy = _props$attributes.orderBy,\n      categories = _props$attributes.categories,\n      isDisplayingSpecificPosts = _props$attributes.isDisplayingSpecificPosts,\n      specificPosts = _props$attributes.specificPosts,\n      preventDeduplication = _props$attributes.preventDeduplication,\n      tags = _props$attributes.tags,\n      tagExclusions = _props$attributes.tagExclusions,\n      categoryExclusions = _props$attributes.categoryExclusions;\n\n  var _select = select('core'),\n      getEntityRecords = _select.getEntityRecords,\n      getMedia = _select.getMedia;\n\n  var _select2 = select('core/block-editor'),\n      getSelectedBlock = _select2.getSelectedBlock,\n      getBlocks = _select2.getBlocks,\n      getSettings = _select2.getSettings;\n\n  var catIds = categories && categories.length > 0 ? categories.map(function (cat) {\n    return cat.id;\n  }) : [];\n\n  var _select3 = select(_consts__WEBPACK_IMPORTED_MODULE_16__[\"POSTS_INSERTER_STORE_NAME\"]),\n      getHandledPostIds = _select3.getHandledPostIds;\n\n  var exclude = getHandledPostIds(props.clientId);\n  var posts = [];\n  var isHandlingSpecificPosts = isDisplayingSpecificPosts && specificPosts.length > 0;\n\n  if (!isDisplayingSpecificPosts || isHandlingSpecificPosts) {\n    var postListQuery = isDisplayingSpecificPosts ? {\n      include: specificPosts.map(function (post) {\n        return post.id;\n      })\n    } : Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"pickBy\"])({\n      categories: catIds,\n      tags: tags,\n      order: order,\n      orderby: orderBy,\n      per_page: postsToShow,\n      exclude: preventDeduplication ? [] : exclude,\n      categories_exclude: categoryExclusions,\n      tags_exclude: tagExclusions\n    }, function (value) {\n      return !Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"isUndefined\"])(value);\n    });\n    posts = getEntityRecords('postType', 'post', postListQuery) || [];\n  } // Order posts in the order as they appear in the input\n\n\n  if (isHandlingSpecificPosts) {\n    posts = specificPosts.reduce(function (all, _ref2) {\n      var id = _ref2.id;\n      var found = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"find\"])(posts, ['id', id]);\n      return found ? [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(all), [found]) : all;\n    }, []);\n  }\n\n  return {\n    // Not used by the component, but needed in deduplication.\n    existingBlocks: getBlocks(),\n    blockEditorSettings: getSettings(),\n    selectedBlock: getSelectedBlock(),\n    postList: posts.map(function (post) {\n      if (post.featured_media) {\n        var image = getMedia(post.featured_media);\n        var fallbackImageURL = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(image, 'source_url', null);\n        var featuredImageMediumURL = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(image, ['media_details', 'sizes', 'medium', 'source_url'], null) || fallbackImageURL;\n        var featuredImageLargeURL = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(image, ['media_details', 'sizes', 'large', 'source_url'], null) || fallbackImageURL;\n        return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_0___default()({}, post, {\n          featuredImageMediumURL: featuredImageMediumURL,\n          featuredImageLargeURL: featuredImageLargeURL\n        });\n      }\n\n      return post;\n    })\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withDispatch\"])(function (dispatch, props) {\n  var _dispatch = dispatch('core/block-editor'),\n      _replaceBlocks = _dispatch.replaceBlocks;\n\n  var _dispatch2 = dispatch(_consts__WEBPACK_IMPORTED_MODULE_16__[\"POSTS_INSERTER_STORE_NAME\"]),\n      _setHandledPostsIds = _dispatch2.setHandledPostsIds,\n      setInsertedPostsIds = _dispatch2.setInsertedPostsIds,\n      _removeBlock = _dispatch2.removeBlock;\n\n  return {\n    replaceBlocks: function replaceBlocks(blocks) {\n      _replaceBlocks(props.selectedBlock.clientId, blocks);\n    },\n    setHandledPostsIds: function setHandledPostsIds(ids) {\n      return _setHandledPostsIds(ids, props);\n    },\n    setInsertedPostsIds: setInsertedPostsIds,\n    removeBlock: function removeBlock() {\n      return _removeBlock(props.clientId);\n    }\n  };\n})])(PostsInserterBlock);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n  Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__[\"registerBlockType\"])(_consts__WEBPACK_IMPORTED_MODULE_16__[\"POSTS_INSERTER_BLOCK_NAME\"], {\n    title: 'Posts Inserter',\n    category: 'widgets',\n    icon: _icon__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n    edit: PostsInserterBlockWithSelect,\n    attributes: {\n      areBlocksInserted: {\n        type: 'boolean',\n        \"default\": false\n      },\n      postsToShow: {\n        type: 'number',\n        \"default\": 3\n      },\n      displayPostExcerpt: {\n        type: 'boolean',\n        \"default\": true\n      },\n      excerptLength: {\n        type: 'number',\n        \"default\": 15\n      },\n      displayPostDate: {\n        type: 'boolean',\n        \"default\": false\n      },\n      displayFeaturedImage: {\n        type: 'boolean',\n        \"default\": true\n      },\n      displayAuthor: {\n        type: 'boolean',\n        \"default\": false\n      },\n      innerBlocksToInsert: {\n        type: 'array',\n        \"default\": ''\n      },\n      featuredImageAlignment: {\n        type: 'string',\n        \"default\": 'left'\n      },\n      isDisplayingSpecificPosts: {\n        type: 'boolean',\n        \"default\": false\n      },\n      specificPosts: {\n        type: 'array',\n        \"default\": []\n      },\n      textFontSize: {\n        type: 'number',\n        \"default\": 16\n      },\n      headingFontSize: {\n        type: 'number',\n        \"default\": 25\n      },\n      textColor: {\n        type: 'string',\n        \"default\": '#000'\n      },\n      headingColor: {\n        type: 'string',\n        \"default\": '#000'\n      },\n      tags: {\n        type: 'array',\n        \"default\": []\n      },\n      tagExclusions: {\n        type: 'array',\n        \"default\": []\n      },\n      categoryExclusions: {\n        type: 'array',\n        \"default\": []\n      }\n    },\n    save: function save() {\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_10__[\"InnerBlocks\"].Content, null);\n    }\n  });\n});\n\n//# sourceURL=webpack:///./src/editor/blocks/posts-inserter/index.js?");
    475608
    476609/***/ }),
     
    484617
    485618"use strict";
    486 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/url */ \"@wordpress/url\");\n/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @wordpress/html-entities */ \"@wordpress/html-entities\");\n/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n\n\nvar fetchPostSuggestions = function fetchPostSuggestions(search) {\n  return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n    path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])('/wp/v2/search', {\n      search: search,\n      per_page: 20,\n      _fields: 'id,title',\n      subtype: 'post'\n    })\n  }).then(function (posts) {\n    return posts.map(function (post) {\n      return {\n        id: post.id,\n        title: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__[\"decodeEntities\"])(post.title) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('(no title)', 'newspack-newsletters')\n      };\n    });\n  });\n};\n\nvar SEPARATOR = '--';\n\nvar encodePosts = function encodePosts(posts) {\n  return posts.map(function (post) {\n    return [post.id, post.title].join(SEPARATOR);\n  });\n};\n\nvar decodePost = function decodePost(encodedPost) {\n  var match = encodedPost.match(new RegExp(\"^([\\\\d]*)\".concat(SEPARATOR, \"(.*)\")));\n\n  if (match) {\n    return [match[1], match[2]];\n  }\n\n  return encodedPost;\n}; // NOTE: Mostly copied from Gutenberg's Posts Inserter block.\n// https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/posts-inserter/edit.js\n\n\nvar QueryControlsSettings = function QueryControlsSettings(_ref) {\n  var attributes = _ref.attributes,\n      setAttributes = _ref.setAttributes;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])([]),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),\n      categoriesList = _useState2[0],\n      setCategoriesList = _useState2[1];\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useEffect\"])(function () {\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n      path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])(\"/wp/v2/categories\", {\n        per_page: -1\n      })\n    }).then(setCategoriesList);\n  }, []);\n  var categorySuggestions = categoriesList.reduce(function (accumulator, category) {\n    return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, accumulator, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, category.name, category));\n  }, {});\n\n  var selectCategories = function selectCategories(tokens) {\n    var hasNoSuggestion = tokens.some(function (token) {\n      return typeof token === 'string' && !categorySuggestions[token];\n    });\n\n    if (hasNoSuggestion) {\n      return;\n    } // Categories that are already will be objects, while new additions will be strings (the name).\n    // allCategories nomalizes the array so that they are all objects.\n\n\n    var allCategories = tokens.map(function (token) {\n      return typeof token === 'string' ? categorySuggestions[token] : token;\n    }); // We do nothing if the category is not selected\n    // from suggestions.\n\n    if (Object(lodash__WEBPACK_IMPORTED_MODULE_5__[\"includes\"])(allCategories, null)) {\n      return false;\n    }\n\n    setAttributes({\n      categories: allCategories\n    });\n  };\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])(false),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),\n      isFetchingPosts = _useState4[0],\n      setIsFetchingPosts = _useState4[1];\n\n  var _useState5 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])([]),\n      _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState5, 2),\n      foundPosts = _useState6[0],\n      setFoundPosts = _useState6[1];\n\n  var handleSpecificPostsInput = function handleSpecificPostsInput(search) {\n    if (isFetchingPosts || search.length === 0) {\n      return;\n    }\n\n    setIsFetchingPosts(true);\n    fetchPostSuggestions(search).then(function (posts) {\n      setIsFetchingPosts(false);\n      setFoundPosts(posts);\n    });\n  };\n\n  var handleSpecificPostsSelection = function handleSpecificPostsSelection(postTitles) {\n    setAttributes({\n      specificPosts: postTitles.map(function (encodedTitle) {\n        var _decodePost = decodePost(encodedTitle),\n            _decodePost2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_decodePost, 2),\n            id = _decodePost2[0],\n            title = _decodePost2[1];\n\n        return {\n          id: parseInt(id),\n          title: title\n        };\n      })\n    });\n  };\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters-query-controls\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display specific posts', 'newspack-newsletters'),\n    checked: attributes.isDisplayingSpecificPosts,\n    onChange: function onChange(value) {\n      return setAttributes({\n        isDisplayingSpecificPosts: value\n      });\n    }\n  }), attributes.isDisplayingSpecificPosts ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"FormTokenField\"], {\n    label: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"div\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Add posts', 'newspack-newsletters'), isFetchingPosts && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"Spinner\"], null)),\n    onChange: handleSpecificPostsSelection,\n    value: encodePosts(attributes.specificPosts),\n    suggestions: encodePosts(foundPosts),\n    displayTransform: function displayTransform(string) {\n      var _decodePost3 = decodePost(string),\n          _decodePost4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_decodePost3, 2),\n          id = _decodePost4[0],\n          title = _decodePost4[1];\n\n      return title || id;\n    },\n    onInputChange: Object(lodash__WEBPACK_IMPORTED_MODULE_5__[\"debounce\"])(handleSpecificPostsInput, 400)\n  }) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"QueryControls\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n    order: attributes.order,\n    orderBy: attributes.orderBy\n  }, {\n    numberOfItems: attributes.postsToShow,\n    onOrderChange: function onOrderChange(value) {\n      return setAttributes({\n        order: value\n      });\n    },\n    onOrderByChange: function onOrderByChange(value) {\n      return setAttributes({\n        orderBy: value\n      });\n    },\n    onNumberOfItemsChange: function onNumberOfItemsChange(value) {\n      return setAttributes({\n        postsToShow: value\n      });\n    },\n    categorySuggestions: categorySuggestions,\n    onCategoryChange: selectCategories,\n    selectedCategories: attributes.categories,\n    minItems: 1,\n    maxItems: 20\n  })));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (QueryControlsSettings);\n\n//# sourceURL=webpack:///./src/editor/blocks/posts-inserter/query-controls.js?");
     619eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/url */ \"@wordpress/url\");\n/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @wordpress/html-entities */ \"@wordpress/html-entities\");\n/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _components_autocomplete_tokenfield__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../components/autocomplete-tokenfield */ \"./src/components/autocomplete-tokenfield/index.js\");\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\nvar fetchPostSuggestions = function fetchPostSuggestions(search) {\n  return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n    path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])('/wp/v2/search', {\n      search: search,\n      per_page: 20,\n      _fields: 'id,title',\n      subtype: 'post'\n    })\n  }).then(function (posts) {\n    return posts.map(function (post) {\n      return {\n        id: post.id,\n        title: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__[\"decodeEntities\"])(post.title) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('(no title)', 'newspack-newsletters')\n      };\n    });\n  });\n};\n\nvar SEPARATOR = '--';\n\nvar encodePosts = function encodePosts(posts) {\n  return posts.map(function (post) {\n    return [post.id, post.title].join(SEPARATOR);\n  });\n};\n\nvar decodePost = function decodePost(encodedPost) {\n  var match = encodedPost.match(new RegExp(\"^([\\\\d]*)\".concat(SEPARATOR, \"(.*)\")));\n\n  if (match) {\n    return [match[1], match[2]];\n  }\n\n  return encodedPost;\n}; // NOTE: Mostly copied from Gutenberg's Posts Inserter block.\n// https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/posts-inserter/edit.js\n\n\nvar QueryControlsSettings = function QueryControlsSettings(_ref) {\n  var attributes = _ref.attributes,\n      setAttributes = _ref.setAttributes;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])([]),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),\n      categoriesList = _useState2[0],\n      setCategoriesList = _useState2[1];\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])(false),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),\n      showAdvancedFilters = _useState4[0],\n      setShowAdvancedFilters = _useState4[1];\n\n  var categoryExclusions = attributes.categoryExclusions,\n      tags = attributes.tags,\n      tagExclusions = attributes.tagExclusions;\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useEffect\"])(function () {\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n      path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])(\"/wp/v2/categories\", {\n        per_page: -1\n      })\n    }).then(setCategoriesList);\n  }, []);\n  var categorySuggestions = categoriesList.reduce(function (accumulator, category) {\n    return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, accumulator, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, category.name, category));\n  }, {});\n\n  var selectCategories = function selectCategories(tokens) {\n    var hasNoSuggestion = tokens.some(function (token) {\n      return typeof token === 'string' && !categorySuggestions[token];\n    });\n\n    if (hasNoSuggestion) {\n      return;\n    } // Categories that are already will be objects, while new additions will be strings (the name).\n    // allCategories nomalizes the array so that they are all objects.\n\n\n    var allCategories = tokens.map(function (token) {\n      return typeof token === 'string' ? categorySuggestions[token] : token;\n    }); // We do nothing if the category is not selected\n    // from suggestions.\n\n    if (Object(lodash__WEBPACK_IMPORTED_MODULE_5__[\"includes\"])(allCategories, null)) {\n      return false;\n    }\n\n    setAttributes({\n      categories: allCategories\n    });\n  };\n\n  var selectTags = function selectTags(tokens) {\n    var validTags = tokens.filter(function (token) {\n      return !!token;\n    });\n    setAttributes({\n      tags: validTags\n    });\n  };\n\n  var selectExcludedTags = function selectExcludedTags(tokens) {\n    var validTags = tokens.filter(function (token) {\n      return !!token;\n    });\n    setAttributes({\n      tagExclusions: validTags\n    });\n  };\n\n  var selectExcludedCategories = function selectExcludedCategories(tokens) {\n    var validCats = tokens.filter(function (token) {\n      return !!token;\n    });\n    setAttributes({\n      categoryExclusions: validCats\n    });\n  };\n\n  var _useState5 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])(false),\n      _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState5, 2),\n      isFetchingPosts = _useState6[0],\n      setIsFetchingPosts = _useState6[1];\n\n  var _useState7 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])([]),\n      _useState8 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState7, 2),\n      foundPosts = _useState8[0],\n      setFoundPosts = _useState8[1];\n\n  var handleSpecificPostsInput = function handleSpecificPostsInput(search) {\n    if (isFetchingPosts || search.length === 0) {\n      return;\n    }\n\n    setIsFetchingPosts(true);\n    fetchPostSuggestions(search).then(function (posts) {\n      setIsFetchingPosts(false);\n      setFoundPosts(posts);\n    });\n  };\n\n  var handleSpecificPostsSelection = function handleSpecificPostsSelection(postTitles) {\n    setAttributes({\n      specificPosts: postTitles.map(function (encodedTitle) {\n        var _decodePost = decodePost(encodedTitle),\n            _decodePost2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_decodePost, 2),\n            id = _decodePost2[0],\n            title = _decodePost2[1];\n\n        return {\n          id: parseInt(id),\n          title: title\n        };\n      })\n    });\n  };\n\n  var fetchCategorySuggestions = function fetchCategorySuggestions(search) {\n    return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n      path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])('/wp/v2/categories', {\n        search: search,\n        per_page: 20,\n        _fields: 'id,name',\n        orderby: 'count',\n        order: 'desc'\n      })\n    }).then(function (categories) {\n      return categories.map(function (category) {\n        return {\n          value: category.id,\n          label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__[\"decodeEntities\"])(category.name) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('(no title)', 'newspack-newsletters')\n        };\n      });\n    });\n  };\n\n  var fetchSavedCategories = function fetchSavedCategories(categoryIDs) {\n    return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n      path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])('/wp/v2/categories', {\n        per_page: 100,\n        _fields: 'id,name',\n        include: categoryIDs.join(',')\n      })\n    }).then(function (categories) {\n      return categories.map(function (category) {\n        return {\n          value: category.id,\n          label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__[\"decodeEntities\"])(category.name) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('(no title)', 'newspack-newsletters')\n        };\n      });\n    });\n  };\n\n  var fetchTagSuggestions = function fetchTagSuggestions(search) {\n    return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n      path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])('/wp/v2/tags', {\n        search: search,\n        per_page: 20,\n        _fields: 'id,name',\n        orderby: 'count',\n        order: 'desc'\n      })\n    }).then(function (fetchedTags) {\n      return fetchedTags.map(function (tag) {\n        return {\n          value: tag.id,\n          label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__[\"decodeEntities\"])(tag.name) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('(no title)', 'newspack-newsletters')\n        };\n      });\n    });\n  };\n\n  var fetchSavedTags = function fetchSavedTags(tagIDs) {\n    return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_9___default()({\n      path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_8__[\"addQueryArgs\"])('/wp/v2/tags', {\n        per_page: 100,\n        _fields: 'id,name',\n        include: tagIDs.join(',')\n      })\n    }).then(function (fetchedTags) {\n      return fetchedTags.map(function (tag) {\n        return {\n          value: tag.id,\n          label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_10__[\"decodeEntities\"])(tag.name) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('(no title)', 'newspack-newsletters')\n        };\n      });\n    });\n  };\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters-query-controls\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"ToggleControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Display specific posts', 'newspack-newsletters'),\n    checked: attributes.isDisplayingSpecificPosts,\n    onChange: function onChange(value) {\n      return setAttributes({\n        isDisplayingSpecificPosts: value\n      });\n    }\n  }), attributes.isDisplayingSpecificPosts ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"FormTokenField\"], {\n    label: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"div\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Add posts', 'newspack-newsletters'), isFetchingPosts && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"Spinner\"], null)),\n    onChange: handleSpecificPostsSelection,\n    value: encodePosts(attributes.specificPosts),\n    suggestions: encodePosts(foundPosts),\n    displayTransform: function displayTransform(string) {\n      var _decodePost3 = decodePost(string),\n          _decodePost4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_decodePost3, 2),\n          id = _decodePost4[0],\n          title = _decodePost4[1];\n\n      return title || id;\n    },\n    onInputChange: Object(lodash__WEBPACK_IMPORTED_MODULE_5__[\"debounce\"])(handleSpecificPostsInput, 400)\n  }) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"QueryControls\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n    order: attributes.order,\n    orderBy: attributes.orderBy\n  }, {\n    numberOfItems: attributes.postsToShow,\n    onOrderChange: function onOrderChange(value) {\n      return setAttributes({\n        order: value\n      });\n    },\n    onOrderByChange: function onOrderByChange(value) {\n      return setAttributes({\n        orderBy: value\n      });\n    },\n    onNumberOfItemsChange: function onNumberOfItemsChange(value) {\n      return setAttributes({\n        postsToShow: value\n      });\n    },\n    categorySuggestions: categorySuggestions,\n    onCategoryChange: selectCategories,\n    selectedCategories: attributes.categories,\n    minItems: 1,\n    maxItems: 20\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"p\", {\n    key: \"toggle-advanced-filters\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[\"Button\"], {\n    isLink: true,\n    onClick: function onClick() {\n      return setShowAdvancedFilters(!showAdvancedFilters);\n    }\n  }, showAdvancedFilters ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Hide Advanced Filters', 'newspack-newsletters') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Show Advanced Filters', 'newspack-newsletters'))), showAdvancedFilters && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_components_autocomplete_tokenfield__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n    key: \"tags\",\n    tokens: tags,\n    onChange: selectTags,\n    fetchSuggestions: fetchTagSuggestions,\n    fetchSavedInfo: fetchSavedTags,\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Tags', 'newspack-newsletters')\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_components_autocomplete_tokenfield__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n    key: \"category-exclusion\",\n    tokens: categoryExclusions,\n    onChange: selectExcludedCategories,\n    fetchSuggestions: fetchCategorySuggestions,\n    fetchSavedInfo: fetchSavedCategories,\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Excluded Categories', 'newspack-newsletters')\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_components_autocomplete_tokenfield__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n    key: \"tag-exclusion\",\n    tokens: tagExclusions,\n    onChange: selectExcludedTags,\n    fetchSuggestions: fetchTagSuggestions,\n    fetchSavedInfo: fetchSavedTags,\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Excluded Tags', 'newspack-newsletters')\n  }))));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (QueryControlsSettings);\n\n//# sourceURL=webpack:///./src/editor/blocks/posts-inserter/query-controls.js?");
    487620
    488621/***/ }),
     
    507640
    508641"use strict";
    509 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTemplateBlocks\", function() { return getTemplateBlocks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertBlockSerializationFormat\", function() { return convertBlockSerializationFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setPreventDeduplicationForPostsInserter\", function() { return setPreventDeduplicationForPostsInserter; });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/blocks */ \"@wordpress/blocks\");\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_date__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/date */ \"@wordpress/date\");\n/* harmony import */ var _wordpress_date__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_date__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./consts */ \"./src/editor/blocks/posts-inserter/consts.js\");\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\nvar assignFontSize = function assignFontSize(fontSize, attributes) {\n  if (typeof fontSize === 'number') {\n    attributes.style = _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, attributes.style || {}, {\n      typography: {\n        fontSize: fontSize\n      }\n    });\n  } else if (typeof fontSize === 'string') {\n    attributes.fontSize = fontSize;\n  }\n\n  return attributes;\n};\n\nvar getHeadingBlockTemplate = function getHeadingBlockTemplate(post, _ref) {\n  var headingFontSize = _ref.headingFontSize,\n      headingColor = _ref.headingColor;\n  return ['core/heading', assignFontSize(headingFontSize, {\n    style: {\n      color: {\n        text: headingColor\n      }\n    },\n    content: \"<a href=\\\"\".concat(post.link, \"\\\">\").concat(post.title.rendered, \"</a>\"),\n    level: 3\n  })];\n};\n\nvar getDateBlockTemplate = function getDateBlockTemplate(post, _ref2) {\n  var textFontSize = _ref2.textFontSize,\n      textColor = _ref2.textColor;\n\n  var dateFormat = Object(_wordpress_date__WEBPACK_IMPORTED_MODULE_5__[\"__experimentalGetSettings\"])().formats.date;\n\n  return ['core/paragraph', assignFontSize(textFontSize, {\n    content: Object(_wordpress_date__WEBPACK_IMPORTED_MODULE_5__[\"dateI18n\"])(dateFormat, post.date_gmt),\n    fontSize: 'normal',\n    style: {\n      color: {\n        text: textColor\n      }\n    }\n  })];\n};\n\nvar getExcerptBlockTemplate = function getExcerptBlockTemplate(post, _ref3) {\n  var excerptLength = _ref3.excerptLength,\n      textFontSize = _ref3.textFontSize,\n      textColor = _ref3.textColor;\n  var excerpt = post.excerpt.rendered;\n  var excerptElement = document.createElement('div');\n  excerptElement.innerHTML = excerpt;\n  excerpt = excerptElement.textContent || excerptElement.innerText || '';\n  var needsEllipsis = excerptLength < excerpt.trim().split(' ').length;\n  var postExcerpt = needsEllipsis ? \"\".concat(excerpt.split(' ', excerptLength).join(' '), \" [\\u2026]\") : excerpt;\n  var attributes = {\n    content: postExcerpt.trim(),\n    style: {\n      color: {\n        text: textColor\n      }\n    }\n  };\n  return ['core/paragraph', assignFontSize(textFontSize, attributes)];\n};\n\nvar createBlockTemplatesForSinglePost = function createBlockTemplatesForSinglePost(post, attributes) {\n  var postContentBlocks = [getHeadingBlockTemplate(post, attributes)];\n\n  if (attributes.displayPostDate && post.date_gmt) {\n    postContentBlocks.push(getDateBlockTemplate(post, attributes));\n  }\n\n  if (attributes.displayPostExcerpt) {\n    postContentBlocks.push(getExcerptBlockTemplate(post, attributes));\n  }\n\n  var hasFeaturedImage = post.featuredImageLargeURL || post.featuredImageMediumURL;\n\n  if (attributes.displayFeaturedImage && hasFeaturedImage) {\n    var getImageBlock = function getImageBlock() {\n      var alignCenter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      return ['core/image', _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({\n        url: alignCenter ? post.featuredImageLargeURL : post.featuredImageMediumURL,\n        linkDestination: post.link\n      }, alignCenter ? {\n        align: 'center'\n      } : {})];\n    };\n\n    var imageColumnBlock = ['core/column', {}, [getImageBlock()]];\n    var postContentColumnBlock = ['core/column', {}, postContentBlocks];\n\n    switch (attributes.featuredImageAlignment) {\n      case 'left':\n        return [['core/columns', {}, [imageColumnBlock, postContentColumnBlock]]];\n\n      case 'right':\n        return [['core/columns', {}, [postContentColumnBlock, imageColumnBlock]]];\n\n      case 'top':\n        return [getImageBlock(true)].concat(postContentBlocks);\n    }\n  }\n\n  return postContentBlocks;\n};\n\nvar createBlockFromTemplate = function createBlockFromTemplate(_ref4) {\n  var _ref5 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_ref4, 3),\n      name = _ref5[0],\n      blockAttributes = _ref5[1],\n      _ref5$ = _ref5[2],\n      innerBlocks = _ref5$ === void 0 ? [] : _ref5$;\n\n  return Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__[\"createBlock\"])(name, blockAttributes, innerBlocks.map(createBlockFromTemplate));\n};\n\nvar createBlockTemplatesForPosts = function createBlockTemplatesForPosts(posts, attributes) {\n  return posts.reduce(function (blocks, post) {\n    return [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(blocks), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(createBlockTemplatesForSinglePost(post, attributes)));\n  }, []);\n};\n\nvar getTemplateBlocks = function getTemplateBlocks(postList, attributes) {\n  return createBlockTemplatesForPosts(postList, attributes).map(createBlockFromTemplate);\n};\n/**\n * Converts a block object to a shape processable by the backend,\n * which contains block's HTML.\n *\n * @param {Object} block block, as understood by the block editor\n * @return {Object} block with innerHTML, processable by the backend\n */\n\nvar convertBlockSerializationFormat = function convertBlockSerializationFormat(block) {\n  return {\n    attrs: Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(block.attributes, 'content'),\n    blockName: block.name,\n    innerHTML: Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__[\"getBlockContent\"])(block),\n    innerBlocks: block.innerBlocks.map(convertBlockSerializationFormat)\n  };\n}; // In some cases, the Posts Inserter block should not handle deduplication.\n// Previews might be displayed next to each other or next to a post, which results in multiple block lists.\n// The deduplication store relies on the assumption that a post has a single blocks list, which\n// is not true when there are block previews used.\n\nvar setPreventDeduplicationForPostsInserter = function setPreventDeduplicationForPostsInserter(blocks) {\n  return blocks.map(function (block) {\n    if (block.name === _consts__WEBPACK_IMPORTED_MODULE_6__[\"POSTS_INSERTER_BLOCK_NAME\"]) {\n      block.attributes.preventDeduplication = true;\n    }\n\n    if (block.innerBlocks) {\n      block.innerBlocks = setPreventDeduplicationForPostsInserter(block.innerBlocks);\n    }\n\n    return block;\n  });\n};\n\n//# sourceURL=webpack:///./src/editor/blocks/posts-inserter/utils.js?");
     642eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTemplateBlocks\", function() { return getTemplateBlocks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertBlockSerializationFormat\", function() { return convertBlockSerializationFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setPreventDeduplicationForPostsInserter\", function() { return setPreventDeduplicationForPostsInserter; });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/blocks */ \"@wordpress/blocks\");\n/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_date__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/date */ \"@wordpress/date\");\n/* harmony import */ var _wordpress_date__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_date__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./consts */ \"./src/editor/blocks/posts-inserter/consts.js\");\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\nvar assignFontSize = function assignFontSize(fontSize, attributes) {\n  if (typeof fontSize === 'number') {\n    attributes.style = _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, attributes.style || {}, {\n      typography: {\n        fontSize: fontSize\n      }\n    });\n  } else if (typeof fontSize === 'string') {\n    attributes.fontSize = fontSize;\n  }\n\n  return attributes;\n};\n\nvar getHeadingBlockTemplate = function getHeadingBlockTemplate(post, _ref) {\n  var headingFontSize = _ref.headingFontSize,\n      headingColor = _ref.headingColor;\n  return ['core/heading', assignFontSize(headingFontSize, {\n    style: {\n      color: {\n        text: headingColor\n      }\n    },\n    content: \"<a href=\\\"\".concat(post.link, \"\\\">\").concat(post.title.rendered, \"</a>\"),\n    level: 3\n  })];\n};\n\nvar getDateBlockTemplate = function getDateBlockTemplate(post, _ref2) {\n  var textFontSize = _ref2.textFontSize,\n      textColor = _ref2.textColor;\n\n  var dateFormat = Object(_wordpress_date__WEBPACK_IMPORTED_MODULE_6__[\"__experimentalGetSettings\"])().formats.date;\n\n  return ['core/paragraph', assignFontSize(textFontSize, {\n    content: Object(_wordpress_date__WEBPACK_IMPORTED_MODULE_6__[\"dateI18n\"])(dateFormat, post.date_gmt),\n    fontSize: 'normal',\n    style: {\n      color: {\n        text: textColor\n      }\n    }\n  })];\n};\n\nvar getExcerptBlockTemplate = function getExcerptBlockTemplate(post, _ref3) {\n  var excerptLength = _ref3.excerptLength,\n      textFontSize = _ref3.textFontSize,\n      textColor = _ref3.textColor;\n  var excerpt = post.excerpt.rendered;\n  var excerptElement = document.createElement('div');\n  excerptElement.innerHTML = excerpt;\n  excerpt = excerptElement.textContent || excerptElement.innerText || '';\n  var needsEllipsis = excerptLength < excerpt.trim().split(' ').length;\n  var postExcerpt = needsEllipsis ? \"\".concat(excerpt.split(' ', excerptLength).join(' '), \" [\\u2026]\") : excerpt;\n  var attributes = {\n    content: postExcerpt.trim(),\n    style: {\n      color: {\n        text: textColor\n      }\n    }\n  };\n  return ['core/paragraph', assignFontSize(textFontSize, attributes)];\n};\n\nvar getAuthorBlockTemplate = function getAuthorBlockTemplate(post, _ref4) {\n  var textFontSize = _ref4.textFontSize,\n      textColor = _ref4.textColor;\n\n  if (Array.isArray(post.newspack_author_info) && post.newspack_author_info.length && post.newspack_author_info[0].display_name) {\n    return ['core/paragraph', assignFontSize(textFontSize, {\n      content: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__[\"__\"])('By ', 'newspack-newsletters') + post.newspack_author_info[0].display_name,\n      fontSize: 'normal',\n      style: {\n        color: {\n          text: textColor\n        }\n      }\n    })];\n  }\n\n  return null;\n};\n\nvar createBlockTemplatesForSinglePost = function createBlockTemplatesForSinglePost(post, attributes) {\n  var postContentBlocks = [getHeadingBlockTemplate(post, attributes)];\n\n  if (attributes.displayAuthor) {\n    var author = getAuthorBlockTemplate(post, attributes);\n\n    if (author) {\n      postContentBlocks.push(author);\n    }\n  }\n\n  if (attributes.displayPostDate && post.date_gmt) {\n    postContentBlocks.push(getDateBlockTemplate(post, attributes));\n  }\n\n  if (attributes.displayPostExcerpt) {\n    postContentBlocks.push(getExcerptBlockTemplate(post, attributes));\n  }\n\n  var hasFeaturedImage = post.featuredImageLargeURL || post.featuredImageMediumURL;\n\n  if (attributes.displayFeaturedImage && hasFeaturedImage) {\n    var getImageBlock = function getImageBlock() {\n      var alignCenter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      return ['core/image', _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({\n        url: alignCenter ? post.featuredImageLargeURL : post.featuredImageMediumURL,\n        href: post.link\n      }, alignCenter ? {\n        align: 'center'\n      } : {})];\n    };\n\n    var imageColumnBlock = ['core/column', {}, [getImageBlock()]];\n    var postContentColumnBlock = ['core/column', {}, postContentBlocks];\n\n    switch (attributes.featuredImageAlignment) {\n      case 'left':\n        return [['core/columns', {}, [imageColumnBlock, postContentColumnBlock]]];\n\n      case 'right':\n        return [['core/columns', {}, [postContentColumnBlock, imageColumnBlock]]];\n\n      case 'top':\n        return [getImageBlock(true)].concat(postContentBlocks);\n    }\n  }\n\n  return postContentBlocks;\n};\n\nvar createBlockFromTemplate = function createBlockFromTemplate(_ref5) {\n  var _ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_ref5, 3),\n      name = _ref6[0],\n      blockAttributes = _ref6[1],\n      _ref6$ = _ref6[2],\n      innerBlocks = _ref6$ === void 0 ? [] : _ref6$;\n\n  return Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__[\"createBlock\"])(name, blockAttributes, innerBlocks.map(createBlockFromTemplate));\n};\n\nvar createBlockTemplatesForPosts = function createBlockTemplatesForPosts(posts, attributes) {\n  return posts.reduce(function (blocks, post) {\n    return [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(blocks), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(createBlockTemplatesForSinglePost(post, attributes)));\n  }, []);\n};\n\nvar getTemplateBlocks = function getTemplateBlocks(postList, attributes) {\n  return createBlockTemplatesForPosts(postList, attributes).map(createBlockFromTemplate);\n};\n/**\n * Converts a block object to a shape processable by the backend,\n * which contains block's HTML.\n *\n * @param {Object} block block, as understood by the block editor\n * @return {Object} block with innerHTML, processable by the backend\n */\n\nvar convertBlockSerializationFormat = function convertBlockSerializationFormat(block) {\n  return {\n    attrs: Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(block.attributes, 'content'),\n    blockName: block.name,\n    innerHTML: Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__[\"getBlockContent\"])(block),\n    innerBlocks: block.innerBlocks.map(convertBlockSerializationFormat)\n  };\n}; // In some cases, the Posts Inserter block should not handle deduplication.\n// Previews might be displayed next to each other or next to a post, which results in multiple block lists.\n// The deduplication store relies on the assumption that a post has a single blocks list, which\n// is not true when there are block previews used.\n\nvar setPreventDeduplicationForPostsInserter = function setPreventDeduplicationForPostsInserter(blocks) {\n  return blocks.map(function (block) {\n    if (block.name === _consts__WEBPACK_IMPORTED_MODULE_7__[\"POSTS_INSERTER_BLOCK_NAME\"]) {\n      block.attributes.preventDeduplication = true;\n    }\n\n    if (block.innerBlocks) {\n      block.innerBlocks = setPreventDeduplicationForPostsInserter(block.innerBlocks);\n    }\n\n    return block;\n  });\n};\n\n//# sourceURL=webpack:///./src/editor/blocks/posts-inserter/utils.js?");
    510643
    511644/***/ }),
     
    542675
    543676"use strict";
    544 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_plugins__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/plugins */ \"@wordpress/plugins\");\n/* harmony import */ var _wordpress_plugins__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_plugins__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ \"./src/newsletter-editor/utils.js\");\n/* harmony import */ var _service_providers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../service-providers */ \"./src/service-providers/index.js\");\n/* harmony import */ var _components_with_api_handler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/with-api-handler */ \"./src/components/with-api-handler/index.js\");\n/* harmony import */ var _components_send_button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../components/send-button */ \"./src/components/send-button/index.js\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./style.scss */ \"./src/newsletter-editor/editor/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_11__);\n\n\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\nvar Editor = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__[\"compose\"])([Object(_components_with_api_handler__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__[\"withSelect\"])(function (select) {\n  var _select = select('core/editor'),\n      getCurrentPostId = _select.getCurrentPostId,\n      getEditedPostAttribute = _select.getEditedPostAttribute,\n      isPublishingPost = _select.isPublishingPost,\n      isSavingPost = _select.isSavingPost,\n      isCleanNewPost = _select.isCleanNewPost;\n\n  var _select2 = select('core/edit-post'),\n      getActiveGeneralSidebarName = _select2.getActiveGeneralSidebarName;\n\n  var _select3 = select('core/block-editor'),\n      getSettings = _select3.getSettings;\n\n  var meta = getEditedPostAttribute('meta');\n  var status = getEditedPostAttribute('status');\n  var sentDate = getEditedPostAttribute('date');\n  return {\n    isCleanNewPost: isCleanNewPost(),\n    postId: getCurrentPostId(),\n    isReady: meta.newsletterValidationErrors ? meta.newsletterValidationErrors.length === 0 : false,\n    activeSidebarName: getActiveGeneralSidebarName(),\n    isPublishingOrSavingPost: isSavingPost() || isPublishingPost(),\n    colorPalette: getSettings().colors.reduce(function (colors, _ref) {\n      var slug = _ref.slug,\n          color = _ref.color;\n      return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, colors, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, slug, color));\n    }, {}),\n    status: status,\n    sentDate: sentDate\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__[\"withDispatch\"])(function (dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      lockPostAutosaving = _dispatch.lockPostAutosaving,\n      lockPostSaving = _dispatch.lockPostSaving,\n      unlockPostSaving = _dispatch.unlockPostSaving,\n      editPost = _dispatch.editPost;\n\n  var _dispatch2 = dispatch('core/notices'),\n      createNotice = _dispatch2.createNotice;\n\n  return {\n    lockPostAutosaving: lockPostAutosaving,\n    lockPostSaving: lockPostSaving,\n    unlockPostSaving: unlockPostSaving,\n    editPost: editPost,\n    createNotice: createNotice\n  };\n})])(function (props) {\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(document.createElement('div')),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 1),\n      publishEl = _useState2[0]; // Create alternate publish button\n\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    var publishButton = document.getElementsByClassName('editor-post-publish-button__button')[0];\n    publishButton.parentNode.insertBefore(publishEl, publishButton);\n  }, []);\n\n  var _getServiceProvider = Object(_service_providers__WEBPACK_IMPORTED_MODULE_8__[\"getServiceProvider\"])(),\n      getFetchDataConfig = _getServiceProvider.getFetchDataConfig; // Set color palette option.\n\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    props.apiFetchWithErrorHandling({\n      path: \"/newspack-newsletters/v1/color-palette\",\n      data: props.colorPalette,\n      method: 'POST'\n    });\n  }, []); // Fetch data from service provider.\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (!props.isCleanNewPost && !props.isPublishingOrSavingPost) {\n      var params = getFetchDataConfig({\n        postId: props.postId\n      });\n\n      if (0 === params.path.indexOf('/newspack-newsletters/v1/example/')) {\n        return;\n      }\n\n      props.apiFetchWithErrorHandling(params).then(function (result) {\n        props.editPost(Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"getEditPostPayload\"])(result));\n      });\n    }\n  }, [props.isPublishingOrSavingPost]); // Lock or unlock post publishing.\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (props.isReady) {\n      props.unlockPostSaving('newspack-newsletters-post-lock');\n    } else {\n      props.lockPostSaving('newspack-newsletters-post-lock');\n    }\n  }, [props.isReady]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if ('publish' === props.status) {\n      var dateTime = props.sentDate ? new Date(props.sentDate).toLocaleString() : ''; // Lock autosaving after a newsletter is sent.\n\n      props.lockPostAutosaving(); // Show an editor notice if the newsletter has been sent.\n\n      props.createNotice('success', props.successNote + dateTime, {\n        isDismissible: false\n      });\n    }\n  }, [props.status]);\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createPortal\"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_components_send_button__WEBPACK_IMPORTED_MODULE_10__[\"default\"], null), publishEl);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n  Object(_wordpress_plugins__WEBPACK_IMPORTED_MODULE_6__[\"registerPlugin\"])('newspack-newsletters-edit', {\n    render: Editor\n  });\n});\n\n//# sourceURL=webpack:///./src/newsletter-editor/editor/index.js?");
     677eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_plugins__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/plugins */ \"@wordpress/plugins\");\n/* harmony import */ var _wordpress_plugins__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_plugins__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ \"./src/newsletter-editor/utils.js\");\n/* harmony import */ var _service_providers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../service-providers */ \"./src/service-providers/index.js\");\n/* harmony import */ var _components_with_api_handler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../components/with-api-handler */ \"./src/components/with-api-handler/index.js\");\n/* harmony import */ var _components_send_button__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../components/send-button */ \"./src/components/send-button/index.js\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./style.scss */ \"./src/newsletter-editor/editor/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_12__);\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\nvar Editor = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_5__[\"compose\"])([Object(_components_with_api_handler__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__[\"withSelect\"])(function (select) {\n  var _select = select('core/editor'),\n      getCurrentPostId = _select.getCurrentPostId,\n      getCurrentPostAttribute = _select.getCurrentPostAttribute,\n      getEditedPostAttribute = _select.getEditedPostAttribute,\n      isPublishingPost = _select.isPublishingPost,\n      isSavingPost = _select.isSavingPost,\n      isCleanNewPost = _select.isCleanNewPost;\n\n  var _select2 = select('core/edit-post'),\n      getActiveGeneralSidebarName = _select2.getActiveGeneralSidebarName;\n\n  var _select3 = select('core/block-editor'),\n      getSettings = _select3.getSettings;\n\n  var meta = getEditedPostAttribute('meta');\n  var status = getCurrentPostAttribute('status');\n  var sentDate = getCurrentPostAttribute('date');\n  var settings = getSettings();\n  var experimentalSettingsColors = Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"get\"])(settings, ['__experimentalFeatures', 'global', 'color', 'palette']);\n  var colors = settings.colors || experimentalSettingsColors || [];\n  return {\n    isCleanNewPost: isCleanNewPost(),\n    postId: getCurrentPostId(),\n    isReady: meta.newsletterValidationErrors ? meta.newsletterValidationErrors.length === 0 : false,\n    activeSidebarName: getActiveGeneralSidebarName(),\n    isPublishingOrSavingPost: isSavingPost() || isPublishingPost(),\n    colorPalette: colors.reduce(function (_colors, _ref) {\n      var slug = _ref.slug,\n          color = _ref.color;\n      return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, _colors, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, slug, color));\n    }, {}),\n    status: status,\n    sentDate: sentDate,\n    isPublic: meta.is_public\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__[\"withDispatch\"])(function (dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      lockPostAutosaving = _dispatch.lockPostAutosaving,\n      lockPostSaving = _dispatch.lockPostSaving,\n      unlockPostSaving = _dispatch.unlockPostSaving,\n      editPost = _dispatch.editPost;\n\n  var _dispatch2 = dispatch('core/notices'),\n      createNotice = _dispatch2.createNotice;\n\n  return {\n    lockPostAutosaving: lockPostAutosaving,\n    lockPostSaving: lockPostSaving,\n    unlockPostSaving: unlockPostSaving,\n    editPost: editPost,\n    createNotice: createNotice\n  };\n})])(function (props) {\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(document.createElement('div')),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 1),\n      publishEl = _useState2[0]; // Create alternate publish button\n\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    var publishButton = document.getElementsByClassName('editor-post-publish-button__button')[0];\n    publishButton.parentNode.insertBefore(publishEl, publishButton);\n  }, []);\n\n  var _getServiceProvider = Object(_service_providers__WEBPACK_IMPORTED_MODULE_9__[\"getServiceProvider\"])(),\n      getFetchDataConfig = _getServiceProvider.getFetchDataConfig; // Set color palette option.\n\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (Object(lodash__WEBPACK_IMPORTED_MODULE_4__[\"isEmpty\"])(props.colorPalette)) {\n      return;\n    }\n\n    props.apiFetchWithErrorHandling({\n      path: \"/newspack-newsletters/v1/color-palette\",\n      data: props.colorPalette,\n      method: 'POST'\n    });\n  }, [JSON.stringify(props.colorPalette)]); // Fetch data from service provider.\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (!props.isCleanNewPost && !props.isPublishingOrSavingPost) {\n      var params = getFetchDataConfig({\n        postId: props.postId\n      });\n\n      if (0 === params.path.indexOf('/newspack-newsletters/v1/example/')) {\n        return;\n      }\n\n      props.apiFetchWithErrorHandling(params).then(function (result) {\n        props.editPost(Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"getEditPostPayload\"])(result));\n      });\n    }\n  }, [props.isPublishingOrSavingPost]); // Lock or unlock post publishing.\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if (props.isReady) {\n      props.unlockPostSaving('newspack-newsletters-post-lock');\n    } else {\n      props.lockPostSaving('newspack-newsletters-post-lock');\n    }\n  }, [props.isReady]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    if ('publish' === props.status && !props.isPublishingOrSavingPost) {\n      var dateTime = props.sentDate ? new Date(props.sentDate).toLocaleString() : ''; // Lock autosaving after a newsletter is sent.\n\n      props.lockPostAutosaving(); // Show an editor notice if the newsletter has been sent.\n\n      props.createNotice('success', props.successNote + dateTime, {\n        isDismissible: false\n      });\n    }\n  }, [props.status]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(function () {\n    // Hide post title if the newsletter is a not a public post.\n    var editorTitleEl = document.querySelector('.editor-post-title');\n\n    if (editorTitleEl) {\n      editorTitleEl.classList[props.isPublic ? 'remove' : 'add']('newspack-newsletters-post-title-hidden');\n    }\n  }, [props.isPublic]);\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createPortal\"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__[\"createElement\"])(_components_send_button__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null), publishEl);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n  Object(_wordpress_plugins__WEBPACK_IMPORTED_MODULE_7__[\"registerPlugin\"])('newspack-newsletters-edit', {\n    render: Editor\n  });\n});\n\n//# sourceURL=webpack:///./src/newsletter-editor/editor/index.js?");
    545678
    546679/***/ }),
     
    646779
    647780"use strict";
    648 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ApplyStyling\", function() { return ApplyStyling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Styling\", function() { return Styling; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/select-control-with-optgroup/ */ \"./src/components/select-control-with-optgroup/index.js\");\n\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n\nvar fontOptgroups = [{\n  label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Sans Serif', 'newspack-newsletters'),\n  options: [{\n    value: 'Arial, Helvetica, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Arial', 'newspack-newsletters')\n  }, {\n    value: 'Tahoma, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Tahoma', 'newspack-newsletters')\n  }, {\n    value: 'Trebuchet MS, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Trebuchet', 'newspack-newsletters')\n  }, {\n    value: 'Verdana, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Verdana', 'newspack-newsletters')\n  }]\n}, {\n  label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Serif', 'newspack-newsletters'),\n  options: [{\n    value: 'Georgia, serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Georgia', 'newspack-newsletters')\n  }, {\n    value: 'Palatino, serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Palatino', 'newspack-newsletters')\n  }, {\n    value: 'Times New Roman, serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Times New Roman', 'newspack-newsletters')\n  }]\n}, {\n  label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Monospace', 'newspack-newsletters'),\n  options: [{\n    value: 'Courier, monospace',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Courier', 'newspack-newsletters')\n  }]\n}];\n\nvar customStylesSelector = function customStylesSelector(select) {\n  var _select = select('core/editor'),\n      getEditedPostAttribute = _select.getEditedPostAttribute;\n\n  var meta = getEditedPostAttribute('meta');\n  return {\n    fontBody: meta.font_body || fontOptgroups[1].options[0].value,\n    fontHeader: meta.font_header || fontOptgroups[0].options[0].value,\n    backgroundColor: meta.background_color || '#ffffff'\n  };\n};\n\nvar ApplyStyling = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withSelect\"])(customStylesSelector)(function (_ref) {\n  var fontBody = _ref.fontBody,\n      fontHeader = _ref.fontHeader,\n      backgroundColor = _ref.backgroundColor;\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"useEffect\"])(function () {\n    document.documentElement.style.setProperty('--body-font', fontBody);\n  }, [fontBody]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"useEffect\"])(function () {\n    document.documentElement.style.setProperty('--header-font', fontHeader);\n  }, [fontHeader]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"useEffect\"])(function () {\n    document.querySelector('.edit-post-visual-editor').style.backgroundColor = backgroundColor;\n  }, [backgroundColor]);\n  return null;\n});\nvar Styling = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withDispatch\"])(function (dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      editPost = _dispatch.editPost;\n\n  return {\n    editPost: editPost\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withSelect\"])(function (select) {\n  var _select2 = select('core/editor'),\n      getCurrentPostId = _select2.getCurrentPostId;\n\n  return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1___default()({\n    postId: getCurrentPostId()\n  }, customStylesSelector(select));\n})])(function (_ref2) {\n  var editPost = _ref2.editPost,\n      fontBody = _ref2.fontBody,\n      fontHeader = _ref2.fontHeader,\n      backgroundColor = _ref2.backgroundColor,\n      postId = _ref2.postId;\n\n  var updateStyleValue = function updateStyleValue(key, value) {\n    editPost({\n      meta: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, key, value)\n    });\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n      data: {\n        key: key,\n        value: value\n      },\n      method: 'POST',\n      path: \"/newspack-newsletters/v1/post-meta/\".concat(postId)\n    });\n  };\n\n  var instanceId = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__[\"useInstanceId\"])(_components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n  var id = \"inspector-select-control-\".concat(instanceId);\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Headings font', 'newspack-newsletters'),\n    value: fontHeader,\n    optgroups: fontOptgroups,\n    onChange: function onChange(value) {\n      return updateStyleValue('font_header', value);\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Body font', 'newspack-newsletters'),\n    value: fontBody,\n    optgroups: fontOptgroups,\n    onChange: function onChange(value) {\n      return updateStyleValue('font_body', value);\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"BaseControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Background color', 'newspack-newsletters'),\n    id: id\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ColorPicker\"], {\n    id: id,\n    color: backgroundColor,\n    onChangeComplete: function onChangeComplete(value) {\n      return updateStyleValue('background_color', value.hex);\n    },\n    disableAlpha: true\n  })));\n});\n\n//# sourceURL=webpack:///./src/newsletter-editor/styling/index.js?");
     781eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ApplyStyling\", function() { return ApplyStyling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Styling\", function() { return Styling; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/select-control-with-optgroup/ */ \"./src/components/select-control-with-optgroup/index.js\");\n\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n\nvar fontOptgroups = [{\n  label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Sans Serif', 'newspack-newsletters'),\n  options: [{\n    value: 'Arial, Helvetica, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Arial', 'newspack-newsletters')\n  }, {\n    value: 'Tahoma, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Tahoma', 'newspack-newsletters')\n  }, {\n    value: 'Trebuchet MS, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Trebuchet', 'newspack-newsletters')\n  }, {\n    value: 'Verdana, sans-serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Verdana', 'newspack-newsletters')\n  }]\n}, {\n  label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Serif', 'newspack-newsletters'),\n  options: [{\n    value: 'Georgia, serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Georgia', 'newspack-newsletters')\n  }, {\n    value: 'Palatino, serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Palatino', 'newspack-newsletters')\n  }, {\n    value: 'Times New Roman, serif',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Times New Roman', 'newspack-newsletters')\n  }]\n}, {\n  label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Monospace', 'newspack-newsletters'),\n  options: [{\n    value: 'Courier, monospace',\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Courier', 'newspack-newsletters')\n  }]\n}];\n\nvar customStylesSelector = function customStylesSelector(select) {\n  var _select = select('core/editor'),\n      getEditedPostAttribute = _select.getEditedPostAttribute;\n\n  var meta = getEditedPostAttribute('meta');\n  return {\n    fontBody: meta.font_body || fontOptgroups[1].options[0].value,\n    fontHeader: meta.font_header || fontOptgroups[0].options[0].value,\n    backgroundColor: meta.background_color || '#ffffff'\n  };\n};\n\nvar ApplyStyling = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withSelect\"])(customStylesSelector)(function (_ref) {\n  var fontBody = _ref.fontBody,\n      fontHeader = _ref.fontHeader,\n      backgroundColor = _ref.backgroundColor;\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"useEffect\"])(function () {\n    document.documentElement.style.setProperty('--body-font', fontBody);\n  }, [fontBody]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"useEffect\"])(function () {\n    document.documentElement.style.setProperty('--header-font', fontHeader);\n  }, [fontHeader]);\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"useEffect\"])(function () {\n    var editorElement = document.querySelector('.edit-post-visual-editor');\n\n    if (editorElement) {\n      editorElement.style.backgroundColor = backgroundColor;\n    }\n  }, [backgroundColor]);\n  return null;\n});\nvar Styling = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withDispatch\"])(function (dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      editPost = _dispatch.editPost;\n\n  return {\n    editPost: editPost\n  };\n}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__[\"withSelect\"])(function (select) {\n  var _select2 = select('core/editor'),\n      getCurrentPostId = _select2.getCurrentPostId;\n\n  return _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_1___default()({\n    postId: getCurrentPostId()\n  }, customStylesSelector(select));\n})])(function (_ref2) {\n  var editPost = _ref2.editPost,\n      fontBody = _ref2.fontBody,\n      fontHeader = _ref2.fontHeader,\n      backgroundColor = _ref2.backgroundColor,\n      postId = _ref2.postId;\n\n  var updateStyleValue = function updateStyleValue(key, value) {\n    editPost({\n      meta: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, key, value)\n    });\n    _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n      data: {\n        key: key,\n        value: value\n      },\n      method: 'POST',\n      path: \"/newspack-newsletters/v1/post-meta/\".concat(postId)\n    });\n  };\n\n  var instanceId = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__[\"useInstanceId\"])(_components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n  var id = \"inspector-select-control-\".concat(instanceId);\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Headings font', 'newspack-newsletters'),\n    value: fontHeader,\n    optgroups: fontOptgroups,\n    onChange: function onChange(value) {\n      return updateStyleValue('font_header', value);\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_components_select_control_with_optgroup___WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Body font', 'newspack-newsletters'),\n    value: fontBody,\n    optgroups: fontOptgroups,\n    onChange: function onChange(value) {\n      return updateStyleValue('font_body', value);\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"BaseControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__[\"__\"])('Background color', 'newspack-newsletters'),\n    id: id\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[\"ColorPicker\"], {\n    id: id,\n    color: backgroundColor,\n    onChangeComplete: function onChangeComplete(value) {\n      return updateStyleValue('background_color', value.hex);\n    },\n    disableAlpha: true\n  })));\n});\n\n//# sourceURL=webpack:///./src/newsletter-editor/styling/index.js?");
    649782
    650783/***/ }),
     
    685818/***/ }),
    686819
     820/***/ "./src/service-providers/campaign_monitor/ProviderSidebar.js":
     821/*!*******************************************************************!*\
     822  !*** ./src/service-providers/campaign_monitor/ProviderSidebar.js ***!
     823  \*******************************************************************/
     824/*! exports provided: validateNewsletter, ProviderSidebar */
     825/***/ (function(module, __webpack_exports__, __webpack_require__) {
     826
     827"use strict";
     828eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"validateNewsletter\", function() { return validateNewsletter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProviderSidebar\", function() { return ProviderSidebar; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./style.scss */ \"./src/service-providers/campaign_monitor/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n/**\n * Validation utility.\n *\n * @param  {Object} object data fetched using getFetchDataConfig\n * @return {string[]} Array of validation messages. If empty, newsletter is valid.\n */\n\nvar validateNewsletter = function validateNewsletter(_ref) {\n  var from_email = _ref.from_email,\n      from_name = _ref.from_name,\n      list_id = _ref.list_id,\n      segment_id = _ref.segment_id,\n      send_mode = _ref.send_mode;\n  var messages = [];\n\n  if (!from_email || !from_name) {\n    messages.push(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Missing required sender info.', 'newspack-newsletters'));\n  }\n\n  if (!send_mode) {\n    messages.push(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Must select a send mode', 'newspack-newsletters'));\n  }\n\n  if ('list' === send_mode && !list_id) {\n    messages.push(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Must select a list when sending in list mode', 'newspack-newsletters'));\n  }\n\n  if ('segment' === send_mode && !segment_id) {\n    messages.push(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Must select a segment when sending in segment mode', 'newspack-newsletters'));\n  }\n\n  return messages;\n};\n/**\n * Component to be rendered in the sidebar panel.\n * Has full control over the panel contents rendering,\n * so that it's possible to render e.g. a loader while\n * the data is not yet available.\n *\n * @param {Object} props props\n */\n\nvar ProviderSidebarComponent = function ProviderSidebarComponent(_ref2) {\n  var postId = _ref2.postId,\n      renderSubject = _ref2.renderSubject,\n      inFlight = _ref2.inFlight,\n      cmData = _ref2.cmData,\n      updateMetaValue = _ref2.updateMetaValue,\n      newsletterData = _ref2.newsletterData,\n      createErrorNotice = _ref2.createErrorNotice,\n      status = _ref2.status;\n\n  var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])(false),\n      _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),\n      isLoading = _useState2[0],\n      setIsLoading = _useState2[1];\n\n  var _useState3 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])([]),\n      _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),\n      lists = _useState4[0],\n      setLists = _useState4[1];\n\n  var _useState5 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useState\"])([]),\n      _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_useState5, 2),\n      segments = _useState6[0],\n      setSegments = _useState6[1];\n\n  var listId = cmData.listId,\n      segmentId = cmData.segmentId,\n      sendMode = cmData.sendMode,\n      senderName = cmData.senderName,\n      senderEmail = cmData.senderEmail;\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useEffect\"])(function () {\n    fetchListsAndSegments();\n  }, []);\n\n  var fetchListsAndSegments = function fetchListsAndSegments() {\n    var response;\n    return regeneratorRuntime.async(function fetchListsAndSegments$(_context) {\n      while (1) {\n        switch (_context.prev = _context.next) {\n          case 0:\n            setIsLoading(true);\n            _context.prev = 1;\n            _context.next = 4;\n            return regeneratorRuntime.awrap(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default()({\n              path: \"/newspack-newsletters/v1/campaign_monitor/\".concat(postId, \"/retrieve\")\n            }));\n\n          case 4:\n            response = _context.sent;\n            setLists(response.lists);\n            setSegments(response.segments);\n            _context.next = 12;\n            break;\n\n          case 9:\n            _context.prev = 9;\n            _context.t0 = _context[\"catch\"](1);\n            createErrorNotice(_context.t0.message || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Error retrieving campaign information.', 'newspack-newsletters'));\n\n          case 12:\n            setIsLoading(false);\n\n          case 13:\n          case \"end\":\n            return _context.stop();\n        }\n      }\n    }, null, null, [[1, 9]], Promise);\n  };\n\n  Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"useEffect\"])(function () {\n    var updatedData = _babel_runtime_helpers_objectSpread2__WEBPACK_IMPORTED_MODULE_2___default()({}, newsletterData, {\n      lists: lists,\n      segments: segments,\n      send_mode: sendMode,\n      list_id: listId,\n      segment_id: segmentId,\n      from_email: senderEmail,\n      from_name: senderName,\n      campaign: true\n    });\n\n    var messages = validateNewsletter(updatedData); // Send info to parent components, for send button/validation management.\n\n    updateMetaValue('newsletterValidationErrors', messages);\n    updateMetaValue('newsletterData', updatedData);\n  }, [JSON.stringify(cmData), lists, segments, status]);\n\n  if (!inFlight && 'publish' === status) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Notice\"], {\n      status: \"success\",\n      isDismissible: false\n    }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Campaign has been sent.', 'newspack-newsletters'));\n  }\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"div\", {\n    className: \"newspack-newsletters__campaign-monitor-sidebar\"\n  }, renderSubject(), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"BaseControl\"], {\n    className: \"newspack-newsletters__send-mode\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"RadioControl\"], {\n    className: 'newspack-newsletters__sendmode-radiocontrol' + (inFlight ? ' inFlight' : ''),\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Send Mode', 'newspack-newsletters'),\n    selected: sendMode,\n    onChange: function onChange(value) {\n      return updateMetaValue('cm_send_mode', value);\n    },\n    options: [{\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('List', 'newspack-newsletters'),\n      value: 'list'\n    }, {\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Segment', 'newspack-newsletters'),\n      value: 'segment'\n    }],\n    disabled: inFlight\n  }), inFlight && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], null)), 'list' === sendMode && lists && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"BaseControl\"], {\n    className: \"newspack-newsletters__list-select\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"SelectControl\"], {\n    className: \"newspack-newsletters__campaign-monitor-send-to\",\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('To', 'newspack-newsletters'),\n    value: listId,\n    options: [{\n      value: '',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('-- Select a subscriber list --', 'newspack-newsletters')\n    }].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(lists.map(function (_ref3) {\n      var ListID = _ref3.ListID,\n          Name = _ref3.Name;\n      return {\n        value: ListID,\n        label: Name\n      };\n    }))),\n    onChange: function onChange(value) {\n      return updateMetaValue('cm_list_id', value);\n    },\n    disabled: isLoading\n  }), isLoading && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], null)), 'segment' === sendMode && segments && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"BaseControl\"], {\n    className: \"newspack-newsletters__list-select\"\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"SelectControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('To', 'newspack-newsletters'),\n    className: \"newspack-newsletters__to-selectcontrol\",\n    value: segmentId,\n    options: [{\n      value: '',\n      label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('-- Select a subscriber segment --', 'newspack-newsletters')\n    }].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(segments.map(function (_ref4) {\n      var SegmentID = _ref4.SegmentID,\n          Title = _ref4.Title;\n      return {\n        value: SegmentID,\n        label: Title\n      };\n    }))),\n    onChange: function onChange(value) {\n      return updateMetaValue('cm_segment_id', value);\n    },\n    disabled: isLoading\n  }), isLoading && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], null)), sendMode && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"p\", null, 'segment' === sendMode ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ExternalLink\"], {\n    href: 'https://help.campaignmonitor.com/list-segmentation'\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Manage segments on Campaign Monitor', 'newspack-newsletters')) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"ExternalLink\"], {\n    href: 'https://help.campaignmonitor.com/create-a-subscriber-list'\n  }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Manage lists on Campaign Monitor', 'newspack-newsletters'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(\"strong\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('From', 'newspack-newsletters')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Name', 'newspack-newsletters'),\n    className: \"newspack-newsletters__name-textcontrol\",\n    value: senderName,\n    disabled: inFlight,\n    onChange: function onChange(value) {\n      return updateMetaValue('cm_from_name', value);\n    }\n  }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_9__[\"TextControl\"], {\n    label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__[\"__\"])('Email', 'newspack-newsletters'),\n    className: \"newspack-newsletters__email-textcontrol\",\n    value: senderEmail,\n    type: \"email\",\n    disabled: inFlight,\n    onChange: function onChange(value) {\n      return updateMetaValue('cm_from_email', value);\n    }\n  }));\n};\n\nvar mapStateToProps = function mapStateToProps(select) {\n  var _select = select('core/editor'),\n      getCurrentPostAttribute = _select.getCurrentPostAttribute,\n      getEditedPostAttribute = _select.getEditedPostAttribute;\n\n  var meta = getEditedPostAttribute('meta');\n  return {\n    cmData: {\n      listId: meta.cm_list_id,\n      segmentId: meta.cm_segment_id,\n      sendMode: meta.cm_send_mode,\n      senderName: meta.cm_from_name,\n      senderEmail: meta.cm_from_email\n    },\n    status: getCurrentPostAttribute('status')\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  var _dispatch = dispatch('core/editor'),\n      editPost = _dispatch.editPost;\n\n  var _dispatch2 = dispatch('core/notices'),\n      createErrorNotice = _dispatch2.createErrorNotice;\n\n  return {\n    updateMetaValue: function updateMetaValue(key, value) {\n      return editPost({\n        meta: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, key, value)\n      });\n    },\n    createErrorNotice: createErrorNotice\n  };\n};\n\nvar ProviderSidebar = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[\"compose\"])([Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__[\"withSelect\"])(mapStateToProps), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__[\"withDispatch\"])(mapDispatchToProps)])(ProviderSidebarComponent);\n\n//# sourceURL=webpack:///./src/service-providers/campaign_monitor/ProviderSidebar.js?");
     829
     830/***/ }),
     831
     832/***/ "./src/service-providers/campaign_monitor/index.js":
     833/*!*********************************************************!*\
     834  !*** ./src/service-providers/campaign_monitor/index.js ***!
     835  \*********************************************************/
     836/*! exports provided: default */
     837/***/ (function(module, __webpack_exports__, __webpack_require__) {
     838
     839"use strict";
     840eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ \"@wordpress/components\");\n/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ProviderSidebar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ProviderSidebar */ \"./src/service-providers/campaign_monitor/ProviderSidebar.js\");\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n/**\n * Internal dependencies\n */\n\n\n/**\n * Get config used to fetch newsletter data.\n * Should return apiFetch utility config:\n * https://www.npmjs.com/package/@wordpress/api-fetch\n *\n * @param {Object} object data to contruct the config.\n * @return {Object} Config fetching.\n */\n\nvar getFetchDataConfig = function getFetchDataConfig(_ref) {\n  var postId = _ref.postId;\n  return {\n    path: \"/newspack-newsletters/v1/campaign_monitor/\".concat(postId, \"/retrieve\")\n  };\n};\n/**\n * A function to render additional info in the pre-send confirmation modal.\n * Can return null if no additional info is to be presented.\n *\n * @param {Object} newsletterData the data returned by getFetchDataConfig handler\n * @return {any} A React component\n */\n\n\nvar renderPreSendInfo = function renderPreSendInfo() {\n  var newsletterData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var list_id = newsletterData.list_id,\n      lists = newsletterData.lists,\n      segment_id = newsletterData.segment_id,\n      segments = newsletterData.segments,\n      send_mode = newsletterData.send_mode;\n  var sendToName = null;\n\n  if (!send_mode) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__[\"Spinner\"], null);\n  } // Get the list name if in list mode.\n\n\n  if ('list' === send_mode && list_id) {\n    var list = lists.find(function (thisList) {\n      return list_id === thisList.ListID;\n    });\n\n    if (list) {\n      sendToName = list.Name;\n    }\n  } // Get the segment name if in segment mode.\n\n\n  if ('segment' === send_mode && segment_id) {\n    var segment = segments.find(function (thisSegment) {\n      return segment_id === thisSegment.SegmentID;\n    });\n\n    if (segment) {\n      sendToName = segment.Title;\n    }\n  }\n\n  if (!sendToName) {\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(\"p\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__[\"__\"])('You’re about to send a Campaign Monitor newsletter. Are you sure you want to proceed?', 'newspack-newsletters'));\n  }\n\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(\"p\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__[\"__\"])('You’re about to send a Campaign Monitor newsletter to the following ', 'newspack-newsletters'), send_mode + ': ', Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(\"strong\", null, sendToName)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(\"p\", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__[\"__\"])('Are you sure you want to proceed?', 'newspack-newsletters')));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  validateNewsletter: _ProviderSidebar__WEBPACK_IMPORTED_MODULE_3__[\"validateNewsletter\"],\n  getFetchDataConfig: getFetchDataConfig,\n  ProviderSidebar: _ProviderSidebar__WEBPACK_IMPORTED_MODULE_3__[\"ProviderSidebar\"],\n  renderPreSendInfo: renderPreSendInfo\n});\n\n//# sourceURL=webpack:///./src/service-providers/campaign_monitor/index.js?");
     841
     842/***/ }),
     843
     844/***/ "./src/service-providers/campaign_monitor/style.scss":
     845/*!***********************************************************!*\
     846  !*** ./src/service-providers/campaign_monitor/style.scss ***!
     847  \***********************************************************/
     848/*! no static exports found */
     849/***/ (function(module, exports, __webpack_require__) {
     850
     851eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/service-providers/campaign_monitor/style.scss?");
     852
     853/***/ }),
     854
    687855/***/ "./src/service-providers/constant_contact/ProviderSidebar.js":
    688856/*!*******************************************************************!*\
     
    729897
    730898"use strict";
    731 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getServiceProvider\", function() { return getServiceProvider; });\n/* harmony import */ var _example__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./example */ \"./src/service-providers/example/index.js\");\n/* harmony import */ var _mailchimp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mailchimp */ \"./src/service-providers/mailchimp/index.js\");\n/* harmony import */ var _constant_contact__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant_contact */ \"./src/service-providers/constant_contact/index.js\");\n\n\n\nvar SERVICE_PROVIDERS = {\n  example: _example__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  mailchimp: _mailchimp__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  constant_contact: _constant_contact__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n};\nvar getServiceProvider = function getServiceProvider() {\n  var serviceProvider = window && window.newspack_newsletters_data && window.newspack_newsletters_data.service_provider;\n  return SERVICE_PROVIDERS[serviceProvider || 'example'];\n};\n\n//# sourceURL=webpack:///./src/service-providers/index.js?");
     899eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getServiceProvider\", function() { return getServiceProvider; });\n/* harmony import */ var _example__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./example */ \"./src/service-providers/example/index.js\");\n/* harmony import */ var _mailchimp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mailchimp */ \"./src/service-providers/mailchimp/index.js\");\n/* harmony import */ var _constant_contact__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant_contact */ \"./src/service-providers/constant_contact/index.js\");\n/* harmony import */ var _campaign_monitor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./campaign_monitor */ \"./src/service-providers/campaign_monitor/index.js\");\n\n\n\n\nvar SERVICE_PROVIDERS = {\n  example: _example__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  mailchimp: _mailchimp__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  constant_contact: _constant_contact__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  campaign_monitor: _campaign_monitor__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n};\nvar getServiceProvider = function getServiceProvider() {\n  var serviceProvider = window && window.newspack_newsletters_data && window.newspack_newsletters_data.service_provider;\n  return SERVICE_PROVIDERS[serviceProvider || 'example'];\n};\n\n//# sourceURL=webpack:///./src/service-providers/index.js?");
    732900
    733901/***/ }),
  • newspack-newsletters/trunk/dist/editor.rtl.css

    r2474708 r2505545  
    187187h6.block-editor-rich-text__editable a {
    188188  color: inherit; }
     189
     190.autocomplete-tokenfield {
     191  position: relative;
     192  /* Workaround for hard-coded help text in FormTokenField. */ }
     193  .autocomplete-tokenfield .components-spinner {
     194    position: absolute;
     195    top: 2em;
     196    left: 0; }
     197  .autocomplete-tokenfield .components-form-token-field > .components-form-token-field__help {
     198    display: none; }
     199  .autocomplete-tokenfield .autocomplete-tokenfield__help {
     200    font-style: italic; }
    189201
    190202.newspack-newsletters__layout-preview {
     
    508520    display: none; }
    509521
     522.newspack-newsletters__list-select {
     523  position: relative; }
     524  .newspack-newsletters__list-select .components-spinner {
     525    float: none;
     526    right: 50%;
     527    margin: 0;
     528    position: absolute;
     529    top: 50%;
     530    transform: translateX(50%); }
     531
    510532/**
    511533 * Colors
     
    530552    border-top: 1px solid #e2e4e7; }
    531553
    532 .newspack-newsletters__subject-textcontrol .components-base-control__label, .newspack-newsletters__to-selectcontrol .components-base-control__label {
     554.newspack-newsletters__subject-textcontrol .components-base-control__label, .newspack-newsletters__to-selectcontrol .components-base-control__label, .newspack-newsletters__sendmode-radiocontrol .components-base-control__label {
    533555  font-weight: 600; }
    534556
     
    567589    margin-right: 1.3em; }
    568590
    569 .post-type-newspack_nl_cpt .editor-post-title {
    570   display: none; }
     591.post-type-newspack_nl_cpt .editor-post-title.newspack-newsletters-post-title-hidden {
     592  height: 0;
     593  opacity: 0;
     594  pointer-events: none; }
    571595
    572596.post-type-newspack_nl_cpt .components-button.editor-post-publish-button__button.is-primary {
  • newspack-newsletters/trunk/vendor/autoload.php

    r2474708 r2505545  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInit76de7a6600fd1c53e83a1eebcf46fb27::getLoader();
     7return ComposerAutoloaderInitb3ebd87f43c84d1771de30ddb0f3c895::getLoader();
  • newspack-newsletters/trunk/vendor/composer/ClassLoader.php

    r2474708 r2505545  
    3838 * @author Fabien Potencier <[email protected]>
    3939 * @author Jordi Boggiano <[email protected]>
    40  * @see    http://www.php-fig.org/psr/psr-0/
    41  * @see    http://www.php-fig.org/psr/psr-4/
     40 * @see    https://www.php-fig.org/psr/psr-0/
     41 * @see    https://www.php-fig.org/psr/psr-4/
    4242 */
    4343class ClassLoader
     
    6161    {
    6262        if (!empty($this->prefixesPsr0)) {
    63             return call_user_func_array('array_merge', $this->prefixesPsr0);
     63            return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
    6464        }
    6565
  • newspack-newsletters/trunk/vendor/composer/autoload_classmap.php

    r2474708 r2505545  
    77
    88return array(
     9    'CS_REST_Administrators' => $vendorDir . '/campaignmonitor/createsend-php/csrest_administrators.php',
     10    'CS_REST_Campaigns' => $vendorDir . '/campaignmonitor/createsend-php/csrest_campaigns.php',
     11    'CS_REST_Clients' => $vendorDir . '/campaignmonitor/createsend-php/csrest_clients.php',
     12    'CS_REST_Events' => $vendorDir . '/campaignmonitor/createsend-php/csrest_events.php',
     13    'CS_REST_General' => $vendorDir . '/campaignmonitor/createsend-php/csrest_general.php',
     14    'CS_REST_JourneyEmails' => $vendorDir . '/campaignmonitor/createsend-php/csrest_journey_emails.php',
     15    'CS_REST_Journeys' => $vendorDir . '/campaignmonitor/createsend-php/csrest_journeys.php',
     16    'CS_REST_Lists' => $vendorDir . '/campaignmonitor/createsend-php/csrest_lists.php',
     17    'CS_REST_People' => $vendorDir . '/campaignmonitor/createsend-php/csrest_people.php',
     18    'CS_REST_Segments' => $vendorDir . '/campaignmonitor/createsend-php/csrest_segments.php',
     19    'CS_REST_Subscribers' => $vendorDir . '/campaignmonitor/createsend-php/csrest_subscribers.php',
     20    'CS_REST_Templates' => $vendorDir . '/campaignmonitor/createsend-php/csrest_templates.php',
     21    'CS_REST_Transactional_ClassicEmail' => $vendorDir . '/campaignmonitor/createsend-php/csrest_transactional_classicemail.php',
     22    'CS_REST_Transactional_SmartEmail' => $vendorDir . '/campaignmonitor/createsend-php/csrest_transactional_smartemail.php',
     23    'CS_REST_Transactional_Timeline' => $vendorDir . '/campaignmonitor/createsend-php/csrest_transactional_timeline.php',
     24    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    925);
  • newspack-newsletters/trunk/vendor/composer/autoload_real.php

    r2474708 r2505545  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit76de7a6600fd1c53e83a1eebcf46fb27
     5class ComposerAutoloaderInitb3ebd87f43c84d1771de30ddb0f3c895
    66{
    77    private static $loader;
     
    1414    }
    1515
     16    /**
     17     * @return \Composer\Autoload\ClassLoader
     18     */
    1619    public static function getLoader()
    1720    {
     
    2023        }
    2124
    22         spl_autoload_register(array('ComposerAutoloaderInit76de7a6600fd1c53e83a1eebcf46fb27', 'loadClassLoader'), true, true);
     25        require __DIR__ . '/platform_check.php';
     26
     27        spl_autoload_register(array('ComposerAutoloaderInitb3ebd87f43c84d1771de30ddb0f3c895', 'loadClassLoader'), true, true);
    2328        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
    24         spl_autoload_unregister(array('ComposerAutoloaderInit76de7a6600fd1c53e83a1eebcf46fb27', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInitb3ebd87f43c84d1771de30ddb0f3c895', 'loadClassLoader'));
    2530
    2631        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
    2732        if ($useStaticLoader) {
    28             require_once __DIR__ . '/autoload_static.php';
     33            require __DIR__ . '/autoload_static.php';
    2934
    30             call_user_func(\Composer\Autoload\ComposerStaticInit76de7a6600fd1c53e83a1eebcf46fb27::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895::getInitializer($loader));
    3136        } else {
    3237            $map = require __DIR__ . '/autoload_namespaces.php';
     
    4954
    5055        if ($useStaticLoader) {
    51             $includeFiles = Composer\Autoload\ComposerStaticInit76de7a6600fd1c53e83a1eebcf46fb27::$files;
     56            $includeFiles = Composer\Autoload\ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895::$files;
    5257        } else {
    5358            $includeFiles = require __DIR__ . '/autoload_files.php';
    5459        }
    5560        foreach ($includeFiles as $fileIdentifier => $file) {
    56             composerRequire76de7a6600fd1c53e83a1eebcf46fb27($fileIdentifier, $file);
     61            composerRequireb3ebd87f43c84d1771de30ddb0f3c895($fileIdentifier, $file);
    5762        }
    5863
     
    6166}
    6267
    63 function composerRequire76de7a6600fd1c53e83a1eebcf46fb27($fileIdentifier, $file)
     68function composerRequireb3ebd87f43c84d1771de30ddb0f3c895($fileIdentifier, $file)
    6469{
    6570    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • newspack-newsletters/trunk/vendor/composer/autoload_static.php

    r2474708 r2505545  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit76de7a6600fd1c53e83a1eebcf46fb27
     7class ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895
    88{
    99    public static $files = array (
     
    6161    );
    6262
     63    public static $classMap = array (
     64        'CS_REST_Administrators' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_administrators.php',
     65        'CS_REST_Campaigns' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_campaigns.php',
     66        'CS_REST_Clients' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_clients.php',
     67        'CS_REST_Events' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_events.php',
     68        'CS_REST_General' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_general.php',
     69        'CS_REST_JourneyEmails' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_journey_emails.php',
     70        'CS_REST_Journeys' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_journeys.php',
     71        'CS_REST_Lists' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_lists.php',
     72        'CS_REST_People' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_people.php',
     73        'CS_REST_Segments' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_segments.php',
     74        'CS_REST_Subscribers' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_subscribers.php',
     75        'CS_REST_Templates' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_templates.php',
     76        'CS_REST_Transactional_ClassicEmail' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_transactional_classicemail.php',
     77        'CS_REST_Transactional_SmartEmail' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_transactional_smartemail.php',
     78        'CS_REST_Transactional_Timeline' => __DIR__ . '/..' . '/campaignmonitor/createsend-php/csrest_transactional_timeline.php',
     79        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
     80    );
     81
    6382    public static function getInitializer(ClassLoader $loader)
    6483    {
    6584        return \Closure::bind(function () use ($loader) {
    66             $loader->prefixLengthsPsr4 = ComposerStaticInit76de7a6600fd1c53e83a1eebcf46fb27::$prefixLengthsPsr4;
    67             $loader->prefixDirsPsr4 = ComposerStaticInit76de7a6600fd1c53e83a1eebcf46fb27::$prefixDirsPsr4;
    68             $loader->prefixesPsr0 = ComposerStaticInit76de7a6600fd1c53e83a1eebcf46fb27::$prefixesPsr0;
     85            $loader->prefixLengthsPsr4 = ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895::$prefixLengthsPsr4;
     86            $loader->prefixDirsPsr4 = ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895::$prefixDirsPsr4;
     87            $loader->prefixesPsr0 = ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895::$prefixesPsr0;
     88            $loader->classMap = ComposerStaticInitb3ebd87f43c84d1771de30ddb0f3c895::$classMap;
    6989
    7090        }, null, ClassLoader::class);
  • newspack-newsletters/trunk/vendor/composer/installed.json

    r2474708 r2505545  
    1 [
    2     {
    3         "name": "constantcontact/constantcontact",
    4         "version": "2.1.4",
    5         "version_normalized": "2.1.4.0",
    6         "source": {
    7             "type": "git",
    8             "url": "https://github.com/constantcontact/php-sdk.git",
    9             "reference": "4546700862f7832aa3d18e02cf77bf5d3c2ab277"
    10         },
    11         "dist": {
    12             "type": "zip",
    13             "url": "https://api.github.com/repos/constantcontact/php-sdk/zipball/4546700862f7832aa3d18e02cf77bf5d3c2ab277",
    14             "reference": "4546700862f7832aa3d18e02cf77bf5d3c2ab277",
    15             "shasum": ""
    16         },
    17         "require": {
    18             "ext-curl": "*",
    19             "guzzlehttp/guzzle": "^5.1.0",
    20             "php": ">=5.4.0"
    21         },
    22         "require-dev": {
    23             "phpunit/phpunit": "4.4.1"
    24         },
    25         "time": "2016-02-17T14:19:57+00:00",
    26         "type": "library",
    27         "installation-source": "dist",
    28         "autoload": {
    29             "psr-0": {
    30                 "Ctct": "src"
    31             }
    32         },
    33         "notification-url": "https://packagist.org/downloads/",
    34         "license": [
    35             "MIT"
    36         ],
    37         "authors": [
    38             {
    39                 "name": "Constant Contact Web Services",
    40                 "email": "[email protected]",
    41                 "homepage": "http://developer.constantcontact.com"
    42             }
    43         ],
    44         "description": "Constant Contact PHP SDK for v2",
    45         "homepage": "http://developer.constantcontact.com",
    46         "keywords": [
    47             "constant contact",
    48             "constantcontact",
    49             "ctct",
    50             "email marketing"
    51         ]
    52     },
    53     {
    54         "name": "drewm/mailchimp-api",
    55         "version": "v2.5.4",
    56         "version_normalized": "2.5.4.0",
    57         "source": {
    58             "type": "git",
    59             "url": "https://github.com/drewm/mailchimp-api.git",
    60             "reference": "c6cdfab4ca6ddbc3b260913470bd0a4a5cb84c7a"
    61         },
    62         "dist": {
    63             "type": "zip",
    64             "url": "https://api.github.com/repos/drewm/mailchimp-api/zipball/c6cdfab4ca6ddbc3b260913470bd0a4a5cb84c7a",
    65             "reference": "c6cdfab4ca6ddbc3b260913470bd0a4a5cb84c7a",
    66             "shasum": ""
    67         },
    68         "require": {
    69             "ext-curl": "*",
    70             "ext-json": "*",
    71             "php": ">=5.3"
    72         },
    73         "require-dev": {
    74             "phpunit/phpunit": "7.0.*",
    75             "vlucas/phpdotenv": "^2.0"
    76         },
    77         "time": "2019-08-06T09:24:58+00:00",
    78         "type": "library",
    79         "installation-source": "dist",
    80         "autoload": {
    81             "psr-4": {
    82                 "DrewM\\MailChimp\\": "src"
    83             }
    84         },
    85         "notification-url": "https://packagist.org/downloads/",
    86         "license": [
    87             "MIT"
    88         ],
    89         "authors": [
    90             {
    91                 "name": "Drew McLellan",
    92                 "email": "[email protected]",
    93                 "homepage": "http://allinthehead.com/"
    94             }
    95         ],
    96         "description": "Super-simple, minimum abstraction MailChimp API v3 wrapper",
    97         "homepage": "https://github.com/drewm/mailchimp-api"
    98     },
    99     {
    100         "name": "guzzlehttp/guzzle",
    101         "version": "5.3.4",
    102         "version_normalized": "5.3.4.0",
    103         "source": {
    104             "type": "git",
    105             "url": "https://github.com/guzzle/guzzle.git",
    106             "reference": "b87eda7a7162f95574032da17e9323c9899cb6b2"
    107         },
    108         "dist": {
    109             "type": "zip",
    110             "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b87eda7a7162f95574032da17e9323c9899cb6b2",
    111             "reference": "b87eda7a7162f95574032da17e9323c9899cb6b2",
    112             "shasum": ""
    113         },
    114         "require": {
    115             "guzzlehttp/ringphp": "^1.1",
    116             "php": ">=5.4.0",
    117             "react/promise": "^2.2"
    118         },
    119         "require-dev": {
    120             "ext-curl": "*",
    121             "phpunit/phpunit": "^4.0"
    122         },
    123         "time": "2019-10-30T09:32:00+00:00",
    124         "type": "library",
    125         "installation-source": "dist",
    126         "autoload": {
    127             "psr-4": {
    128                 "GuzzleHttp\\": "src/"
    129             }
    130         },
    131         "notification-url": "https://packagist.org/downloads/",
    132         "license": [
    133             "MIT"
    134         ],
    135         "authors": [
    136             {
    137                 "name": "Michael Dowling",
    138                 "email": "[email protected]",
    139                 "homepage": "https://github.com/mtdowling"
    140             }
    141         ],
    142         "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
    143         "homepage": "http://guzzlephp.org/",
    144         "keywords": [
    145             "client",
    146             "curl",
    147             "framework",
    148             "http",
    149             "http client",
    150             "rest",
    151             "web service"
    152         ]
    153     },
    154     {
    155         "name": "guzzlehttp/ringphp",
    156         "version": "1.1.1",
    157         "version_normalized": "1.1.1.0",
    158         "source": {
    159             "type": "git",
    160             "url": "https://github.com/guzzle/RingPHP.git",
    161             "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b"
    162         },
    163         "dist": {
    164             "type": "zip",
    165             "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b",
    166             "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b",
    167             "shasum": ""
    168         },
    169         "require": {
    170             "guzzlehttp/streams": "~3.0",
    171             "php": ">=5.4.0",
    172             "react/promise": "~2.0"
    173         },
    174         "require-dev": {
    175             "ext-curl": "*",
    176             "phpunit/phpunit": "~4.0"
    177         },
    178         "suggest": {
    179             "ext-curl": "Guzzle will use specific adapters if cURL is present"
    180         },
    181         "time": "2018-07-31T13:22:33+00:00",
    182         "type": "library",
    183         "extra": {
    184             "branch-alias": {
    185                 "dev-master": "1.1-dev"
    186             }
    187         },
    188         "installation-source": "dist",
    189         "autoload": {
    190             "psr-4": {
    191                 "GuzzleHttp\\Ring\\": "src/"
    192             }
    193         },
    194         "notification-url": "https://packagist.org/downloads/",
    195         "license": [
    196             "MIT"
    197         ],
    198         "authors": [
    199             {
    200                 "name": "Michael Dowling",
    201                 "email": "[email protected]",
    202                 "homepage": "https://github.com/mtdowling"
    203             }
    204         ],
    205         "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.",
    206         "abandoned": true
    207     },
    208     {
    209         "name": "guzzlehttp/streams",
    210         "version": "3.0.0",
    211         "version_normalized": "3.0.0.0",
    212         "source": {
    213             "type": "git",
    214             "url": "https://github.com/guzzle/streams.git",
    215             "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5"
    216         },
    217         "dist": {
    218             "type": "zip",
    219             "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5",
    220             "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5",
    221             "shasum": ""
    222         },
    223         "require": {
    224             "php": ">=5.4.0"
    225         },
    226         "require-dev": {
    227             "phpunit/phpunit": "~4.0"
    228         },
    229         "time": "2014-10-12T19:18:40+00:00",
    230         "type": "library",
    231         "extra": {
    232             "branch-alias": {
    233                 "dev-master": "3.0-dev"
    234             }
    235         },
    236         "installation-source": "dist",
    237         "autoload": {
    238             "psr-4": {
    239                 "GuzzleHttp\\Stream\\": "src/"
    240             }
    241         },
    242         "notification-url": "https://packagist.org/downloads/",
    243         "license": [
    244             "MIT"
    245         ],
    246         "authors": [
    247             {
    248                 "name": "Michael Dowling",
    249                 "email": "[email protected]",
    250                 "homepage": "https://github.com/mtdowling"
    251             }
    252         ],
    253         "description": "Provides a simple abstraction over streams of data",
    254         "homepage": "http://guzzlephp.org/",
    255         "keywords": [
    256             "Guzzle",
    257             "stream"
    258         ],
    259         "abandoned": true
    260     },
    261     {
    262         "name": "react/promise",
    263         "version": "v2.8.0",
    264         "version_normalized": "2.8.0.0",
    265         "source": {
    266             "type": "git",
    267             "url": "https://github.com/reactphp/promise.git",
    268             "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4"
    269         },
    270         "dist": {
    271             "type": "zip",
    272             "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4",
    273             "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4",
    274             "shasum": ""
    275         },
    276         "require": {
    277             "php": ">=5.4.0"
    278         },
    279         "require-dev": {
    280             "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36"
    281         },
    282         "time": "2020-05-12T15:16:56+00:00",
    283         "type": "library",
    284         "installation-source": "dist",
    285         "autoload": {
    286             "psr-4": {
    287                 "React\\Promise\\": "src/"
    288             },
    289             "files": [
    290                 "src/functions_include.php"
    291             ]
    292         },
    293         "notification-url": "https://packagist.org/downloads/",
    294         "license": [
    295             "MIT"
    296         ],
    297         "authors": [
    298             {
    299                 "name": "Jan Sorgalla",
    300                 "email": "[email protected]"
    301             }
    302         ],
    303         "description": "A lightweight implementation of CommonJS Promises/A for PHP",
    304         "keywords": [
    305             "promise",
    306             "promises"
    307         ]
    308     }
    309 ]
     1{
     2    "packages": [
     3        {
     4            "name": "campaignmonitor/createsend-php",
     5            "version": "v6.1.1",
     6            "version_normalized": "6.1.1.0",
     7            "source": {
     8                "type": "git",
     9                "url": "https://github.com/campaignmonitor/createsend-php.git",
     10                "reference": "12a4c1f33b940775bde80ae1494036df06ed36d4"
     11            },
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/campaignmonitor/createsend-php/zipball/12a4c1f33b940775bde80ae1494036df06ed36d4",
     15                "reference": "12a4c1f33b940775bde80ae1494036df06ed36d4",
     16                "shasum": ""
     17            },
     18            "require": {
     19                "php": ">=5.3.0"
     20            },
     21            "require-dev": {
     22                "simpletest/simpletest": "~1.1.3"
     23            },
     24            "time": "2020-05-06T02:33:22+00:00",
     25            "type": "library",
     26            "installation-source": "dist",
     27            "autoload": {
     28                "classmap": [
     29                    "csrest_administrators.php",
     30                    "csrest_campaigns.php",
     31                    "csrest_clients.php",
     32                    "csrest_general.php",
     33                    "csrest_events.php",
     34                    "csrest_lists.php",
     35                    "csrest_people.php",
     36                    "csrest_segments.php",
     37                    "csrest_subscribers.php",
     38                    "csrest_templates.php",
     39                    "csrest_transactional_classicemail.php",
     40                    "csrest_transactional_smartemail.php",
     41                    "csrest_transactional_timeline.php",
     42                    "csrest_journeys.php",
     43                    "csrest_journey_emails.php"
     44                ]
     45            },
     46            "notification-url": "https://packagist.org/downloads/",
     47            "license": [
     48                "MIT"
     49            ],
     50            "authors": [
     51                {
     52                    "name": "Toby Brain",
     53                    "email": "[email protected]",
     54                    "role": "Developer"
     55                }
     56            ],
     57            "description": "A php library which implements the complete functionality of the Campaign Monitor API.",
     58            "homepage": "http://campaignmonitor.github.io/createsend-php/",
     59            "keywords": [
     60                "api",
     61                "campaign",
     62                "monitor"
     63            ],
     64            "install-path": "../campaignmonitor/createsend-php"
     65        },
     66        {
     67            "name": "constantcontact/constantcontact",
     68            "version": "2.1.4",
     69            "version_normalized": "2.1.4.0",
     70            "source": {
     71                "type": "git",
     72                "url": "https://github.com/constantcontact/php-sdk.git",
     73                "reference": "4546700862f7832aa3d18e02cf77bf5d3c2ab277"
     74            },
     75            "dist": {
     76                "type": "zip",
     77                "url": "https://api.github.com/repos/constantcontact/php-sdk/zipball/4546700862f7832aa3d18e02cf77bf5d3c2ab277",
     78                "reference": "4546700862f7832aa3d18e02cf77bf5d3c2ab277",
     79                "shasum": ""
     80            },
     81            "require": {
     82                "ext-curl": "*",
     83                "guzzlehttp/guzzle": "^5.1.0",
     84                "php": ">=5.4.0"
     85            },
     86            "require-dev": {
     87                "phpunit/phpunit": "4.4.1"
     88            },
     89            "time": "2016-02-17T14:19:57+00:00",
     90            "type": "library",
     91            "installation-source": "dist",
     92            "autoload": {
     93                "psr-0": {
     94                    "Ctct": "src"
     95                }
     96            },
     97            "notification-url": "https://packagist.org/downloads/",
     98            "license": [
     99                "MIT"
     100            ],
     101            "authors": [
     102                {
     103                    "name": "Constant Contact Web Services",
     104                    "email": "[email protected]",
     105                    "homepage": "http://developer.constantcontact.com"
     106                }
     107            ],
     108            "description": "Constant Contact PHP SDK for v2",
     109            "homepage": "http://developer.constantcontact.com",
     110            "keywords": [
     111                "constant contact",
     112                "constantcontact",
     113                "ctct",
     114                "email marketing"
     115            ],
     116            "install-path": "../constantcontact/constantcontact"
     117        },
     118        {
     119            "name": "drewm/mailchimp-api",
     120            "version": "v2.5.4",
     121            "version_normalized": "2.5.4.0",
     122            "source": {
     123                "type": "git",
     124                "url": "https://github.com/drewm/mailchimp-api.git",
     125                "reference": "c6cdfab4ca6ddbc3b260913470bd0a4a5cb84c7a"
     126            },
     127            "dist": {
     128                "type": "zip",
     129                "url": "https://api.github.com/repos/drewm/mailchimp-api/zipball/c6cdfab4ca6ddbc3b260913470bd0a4a5cb84c7a",
     130                "reference": "c6cdfab4ca6ddbc3b260913470bd0a4a5cb84c7a",
     131                "shasum": ""
     132            },
     133            "require": {
     134                "ext-curl": "*",
     135                "ext-json": "*",
     136                "php": ">=5.3"
     137            },
     138            "require-dev": {
     139                "phpunit/phpunit": "7.0.*",
     140                "vlucas/phpdotenv": "^2.0"
     141            },
     142            "time": "2019-08-06T09:24:58+00:00",
     143            "type": "library",
     144            "installation-source": "dist",
     145            "autoload": {
     146                "psr-4": {
     147                    "DrewM\\MailChimp\\": "src"
     148                }
     149            },
     150            "notification-url": "https://packagist.org/downloads/",
     151            "license": [
     152                "MIT"
     153            ],
     154            "authors": [
     155                {
     156                    "name": "Drew McLellan",
     157                    "email": "[email protected]",
     158                    "homepage": "http://allinthehead.com/"
     159                }
     160            ],
     161            "description": "Super-simple, minimum abstraction MailChimp API v3 wrapper",
     162            "homepage": "https://github.com/drewm/mailchimp-api",
     163            "install-path": "../drewm/mailchimp-api"
     164        },
     165        {
     166            "name": "guzzlehttp/guzzle",
     167            "version": "5.3.4",
     168            "version_normalized": "5.3.4.0",
     169            "source": {
     170                "type": "git",
     171                "url": "https://github.com/guzzle/guzzle.git",
     172                "reference": "b87eda7a7162f95574032da17e9323c9899cb6b2"
     173            },
     174            "dist": {
     175                "type": "zip",
     176                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b87eda7a7162f95574032da17e9323c9899cb6b2",
     177                "reference": "b87eda7a7162f95574032da17e9323c9899cb6b2",
     178                "shasum": ""
     179            },
     180            "require": {
     181                "guzzlehttp/ringphp": "^1.1",
     182                "php": ">=5.4.0",
     183                "react/promise": "^2.2"
     184            },
     185            "require-dev": {
     186                "ext-curl": "*",
     187                "phpunit/phpunit": "^4.0"
     188            },
     189            "time": "2019-10-30T09:32:00+00:00",
     190            "type": "library",
     191            "installation-source": "dist",
     192            "autoload": {
     193                "psr-4": {
     194                    "GuzzleHttp\\": "src/"
     195                }
     196            },
     197            "notification-url": "https://packagist.org/downloads/",
     198            "license": [
     199                "MIT"
     200            ],
     201            "authors": [
     202                {
     203                    "name": "Michael Dowling",
     204                    "email": "[email protected]",
     205                    "homepage": "https://github.com/mtdowling"
     206                }
     207            ],
     208            "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
     209            "homepage": "http://guzzlephp.org/",
     210            "keywords": [
     211                "client",
     212                "curl",
     213                "framework",
     214                "http",
     215                "http client",
     216                "rest",
     217                "web service"
     218            ],
     219            "install-path": "../guzzlehttp/guzzle"
     220        },
     221        {
     222            "name": "guzzlehttp/ringphp",
     223            "version": "1.1.1",
     224            "version_normalized": "1.1.1.0",
     225            "source": {
     226                "type": "git",
     227                "url": "https://github.com/guzzle/RingPHP.git",
     228                "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b"
     229            },
     230            "dist": {
     231                "type": "zip",
     232                "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b",
     233                "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b",
     234                "shasum": ""
     235            },
     236            "require": {
     237                "guzzlehttp/streams": "~3.0",
     238                "php": ">=5.4.0",
     239                "react/promise": "~2.0"
     240            },
     241            "require-dev": {
     242                "ext-curl": "*",
     243                "phpunit/phpunit": "~4.0"
     244            },
     245            "suggest": {
     246                "ext-curl": "Guzzle will use specific adapters if cURL is present"
     247            },
     248            "time": "2018-07-31T13:22:33+00:00",
     249            "type": "library",
     250            "extra": {
     251                "branch-alias": {
     252                    "dev-master": "1.1-dev"
     253                }
     254            },
     255            "installation-source": "dist",
     256            "autoload": {
     257                "psr-4": {
     258                    "GuzzleHttp\\Ring\\": "src/"
     259                }
     260            },
     261            "notification-url": "https://packagist.org/downloads/",
     262            "license": [
     263                "MIT"
     264            ],
     265            "authors": [
     266                {
     267                    "name": "Michael Dowling",
     268                    "email": "[email protected]",
     269                    "homepage": "https://github.com/mtdowling"
     270                }
     271            ],
     272            "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.",
     273            "abandoned": true,
     274            "install-path": "../guzzlehttp/ringphp"
     275        },
     276        {
     277            "name": "guzzlehttp/streams",
     278            "version": "3.0.0",
     279            "version_normalized": "3.0.0.0",
     280            "source": {
     281                "type": "git",
     282                "url": "https://github.com/guzzle/streams.git",
     283                "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5"
     284            },
     285            "dist": {
     286                "type": "zip",
     287                "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5",
     288                "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5",
     289                "shasum": ""
     290            },
     291            "require": {
     292                "php": ">=5.4.0"
     293            },
     294            "require-dev": {
     295                "phpunit/phpunit": "~4.0"
     296            },
     297            "time": "2014-10-12T19:18:40+00:00",
     298            "type": "library",
     299            "extra": {
     300                "branch-alias": {
     301                    "dev-master": "3.0-dev"
     302                }
     303            },
     304            "installation-source": "dist",
     305            "autoload": {
     306                "psr-4": {
     307                    "GuzzleHttp\\Stream\\": "src/"
     308                }
     309            },
     310            "notification-url": "https://packagist.org/downloads/",
     311            "license": [
     312                "MIT"
     313            ],
     314            "authors": [
     315                {
     316                    "name": "Michael Dowling",
     317                    "email": "[email protected]",
     318                    "homepage": "https://github.com/mtdowling"
     319                }
     320            ],
     321            "description": "Provides a simple abstraction over streams of data",
     322            "homepage": "http://guzzlephp.org/",
     323            "keywords": [
     324                "Guzzle",
     325                "stream"
     326            ],
     327            "abandoned": true,
     328            "install-path": "../guzzlehttp/streams"
     329        },
     330        {
     331            "name": "react/promise",
     332            "version": "v2.8.0",
     333            "version_normalized": "2.8.0.0",
     334            "source": {
     335                "type": "git",
     336                "url": "https://github.com/reactphp/promise.git",
     337                "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4"
     338            },
     339            "dist": {
     340                "type": "zip",
     341                "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4",
     342                "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4",
     343                "shasum": ""
     344            },
     345            "require": {
     346                "php": ">=5.4.0"
     347            },
     348            "require-dev": {
     349                "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36"
     350            },
     351            "time": "2020-05-12T15:16:56+00:00",
     352            "type": "library",
     353            "installation-source": "dist",
     354            "autoload": {
     355                "psr-4": {
     356                    "React\\Promise\\": "src/"
     357                },
     358                "files": [
     359                    "src/functions_include.php"
     360                ]
     361            },
     362            "notification-url": "https://packagist.org/downloads/",
     363            "license": [
     364                "MIT"
     365            ],
     366            "authors": [
     367                {
     368                    "name": "Jan Sorgalla",
     369                    "email": "[email protected]"
     370                }
     371            ],
     372            "description": "A lightweight implementation of CommonJS Promises/A for PHP",
     373            "keywords": [
     374                "promise",
     375                "promises"
     376            ],
     377            "install-path": "../react/promise"
     378        }
     379    ],
     380    "dev": false,
     381    "dev-package-names": []
     382}
Note: See TracChangeset for help on using the changeset viewer.