wp-editor.bundle.js 48 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190
  1. /******/ (() => { // webpackBootstrap
  2. /******/ var __webpack_modules__ = ({
  3. /***/ "./src/wp-editor/layout-block/edit-pre-5-3.js":
  4. /*!****************************************************!*\
  5. !*** ./src/wp-editor/layout-block/edit-pre-5-3.js ***!
  6. \****************************************************/
  7. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  8. "use strict";
  9. __webpack_require__.r(__webpack_exports__);
  10. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  11. /* harmony export */ "LayoutBlockEditConnectedPre_5_3": () => (/* binding */ LayoutBlockEditConnectedPre_5_3)
  12. /* harmony export */ });
  13. function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
  14. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  15. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  16. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
  17. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
  18. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  19. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  20. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  21. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  22. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  23. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  24. var _FLBuilderConfig = FLBuilderConfig,
  25. builder = _FLBuilderConfig.builder,
  26. strings = _FLBuilderConfig.strings,
  27. urls = _FLBuilderConfig.urls;
  28. var _wp$blocks = wp.blocks,
  29. rawHandler = _wp$blocks.rawHandler,
  30. serialize = _wp$blocks.serialize;
  31. var _wp$components = wp.components,
  32. Button = _wp$components.Button,
  33. Placeholder = _wp$components.Placeholder,
  34. Spinner = _wp$components.Spinner;
  35. var compose = wp.compose.compose;
  36. var _wp$data = wp.data,
  37. subscribe = _wp$data.subscribe,
  38. withDispatch = _wp$data.withDispatch,
  39. withSelect = _wp$data.withSelect;
  40. var Component = wp.element.Component;
  41. /**
  42. * Edit component for WordPress versions before 5.3.
  43. */
  44. var LayoutBlockEditPre_5_3 = /*#__PURE__*/function (_Component) {
  45. _inherits(LayoutBlockEditPre_5_3, _Component);
  46. var _super = _createSuper(LayoutBlockEditPre_5_3);
  47. function LayoutBlockEditPre_5_3() {
  48. var _this;
  49. _classCallCheck(this, LayoutBlockEditPre_5_3);
  50. _this = _super.apply(this, arguments);
  51. _this.unsubscribe = subscribe(_this.storeDidUpdate.bind(_assertThisInitialized(_this)));
  52. return _this;
  53. }
  54. _createClass(LayoutBlockEditPre_5_3, [{
  55. key: "storeDidUpdate",
  56. value: function storeDidUpdate() {
  57. var _this$props = this.props,
  58. isLaunching = _this$props.isLaunching,
  59. isSavingPost = _this$props.isSavingPost;
  60. if (isLaunching && !isSavingPost) {
  61. this.unsubscribe();
  62. this.redirectToBuilder();
  63. }
  64. }
  65. }, {
  66. key: "componentDidMount",
  67. value: function componentDidMount() {
  68. var blockCount = this.props.blockCount;
  69. if (1 === blockCount) {
  70. this.toggleEditor('disable');
  71. }
  72. }
  73. }, {
  74. key: "componentWillUnmount",
  75. value: function componentWillUnmount() {
  76. this.unsubscribe();
  77. this.toggleEditor('enable');
  78. }
  79. }, {
  80. key: "render",
  81. value: function render() {
  82. var _this$props2 = this.props,
  83. blockCount = _this$props2.blockCount,
  84. onReplace = _this$props2.onReplace,
  85. isLaunching = _this$props2.isLaunching;
  86. var label, callback, description;
  87. if (1 === blockCount) {
  88. label = builder.access ? strings.launch : strings.view;
  89. callback = this.launchBuilder.bind(this);
  90. } else {
  91. label = strings.convert;
  92. callback = this.convertToBuilder.bind(this);
  93. }
  94. if (builder.enabled) {
  95. description = strings.active;
  96. } else {
  97. description = strings.description;
  98. }
  99. if (false === builder.showui) {
  100. return '';
  101. }
  102. return /*#__PURE__*/React.createElement(Placeholder, {
  103. key: "placeholder",
  104. instructions: description,
  105. icon: "welcome-widgets-menus",
  106. label: strings.title,
  107. className: "fl-builder-layout-launch-view"
  108. }, isLaunching && /*#__PURE__*/React.createElement(Spinner, null), !isLaunching && /*#__PURE__*/React.createElement(Button, {
  109. isLarge: true,
  110. isPrimary: true,
  111. type: "submit",
  112. onClick: callback
  113. }, label), !isLaunching && /*#__PURE__*/React.createElement(Button, {
  114. isLarge: true,
  115. type: "submit",
  116. onClick: this.convertToBlocks.bind(this)
  117. }, strings.editor));
  118. }
  119. }, {
  120. key: "toggleEditor",
  121. value: function toggleEditor() {
  122. var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'enable';
  123. var classList = document.body.classList;
  124. var enabledClass = 'fl-builder-layout-enabled';
  125. if ('enable' === method) {
  126. if (classList.contains(enabledClass)) {
  127. classList.remove(enabledClass);
  128. }
  129. } else {
  130. if (!classList.contains(enabledClass)) {
  131. classList.add(enabledClass);
  132. }
  133. }
  134. }
  135. }, {
  136. key: "redirectToBuilder",
  137. value: function redirectToBuilder() {
  138. window.location.href = builder.access ? urls.edit : urls.view;
  139. }
  140. }, {
  141. key: "launchBuilder",
  142. value: function launchBuilder() {
  143. var _this$props3 = this.props,
  144. savePost = _this$props3.savePost,
  145. setLaunching = _this$props3.setLaunching;
  146. setLaunching(true);
  147. savePost();
  148. }
  149. }, {
  150. key: "convertToBuilder",
  151. value: function convertToBuilder() {
  152. var _this$props4 = this.props,
  153. clientId = _this$props4.clientId,
  154. blocks = _this$props4.blocks,
  155. setAttributes = _this$props4.setAttributes,
  156. removeBlocks = _this$props4.removeBlocks;
  157. var content = serialize(blocks);
  158. var clientIds = blocks.map(function (block) {
  159. return block.clientId;
  160. }).filter(function (id) {
  161. return id !== clientId;
  162. });
  163. setAttributes({
  164. content: content.replace(/<!--(.*?)-->/g, '')
  165. });
  166. removeBlocks(clientIds);
  167. this.launchBuilder();
  168. }
  169. }, {
  170. key: "convertToBlocks",
  171. value: function convertToBlocks() {
  172. var _this$props5 = this.props,
  173. attributes = _this$props5.attributes,
  174. clientId = _this$props5.clientId,
  175. replaceBlocks = _this$props5.replaceBlocks,
  176. onReplace = _this$props5.onReplace;
  177. if (attributes.content && !confirm(strings.warning)) {
  178. return;
  179. } else if (attributes.content) {
  180. replaceBlocks([clientId], rawHandler({
  181. HTML: attributes.content,
  182. mode: 'BLOCKS'
  183. }));
  184. } else {
  185. onReplace([]);
  186. }
  187. }
  188. }]);
  189. return LayoutBlockEditPre_5_3;
  190. }(Component);
  191. /**
  192. * Connect the edit component to editor data.
  193. */
  194. var LayoutBlockEditConnectedPre_5_3 = compose(withDispatch(function (dispatch, ownProps) {
  195. var editor = dispatch('core/editor');
  196. var builder = dispatch('fl-builder');
  197. return {
  198. savePost: editor.savePost,
  199. removeBlocks: editor.removeBlocks,
  200. replaceBlocks: editor.replaceBlocks,
  201. setLaunching: builder.setLaunching
  202. };
  203. }), withSelect(function (select) {
  204. var editor = select('core/editor');
  205. var builder = select('fl-builder');
  206. return {
  207. blockCount: editor.getBlockCount(),
  208. blocks: editor.getBlocks(),
  209. isSavingPost: editor.isSavingPost(),
  210. isLaunching: builder.isLaunching()
  211. };
  212. }))(LayoutBlockEditPre_5_3);
  213. /***/ }),
  214. /***/ "./src/wp-editor/layout-block/edit.js":
  215. /*!********************************************!*\
  216. !*** ./src/wp-editor/layout-block/edit.js ***!
  217. \********************************************/
  218. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  219. "use strict";
  220. __webpack_require__.r(__webpack_exports__);
  221. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  222. /* harmony export */ "LayoutBlockEditConnected": () => (/* binding */ LayoutBlockEditConnected)
  223. /* harmony export */ });
  224. function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
  225. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  226. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  227. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
  228. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
  229. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  230. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  231. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  232. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  233. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  234. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  235. var _FLBuilderConfig = FLBuilderConfig,
  236. builder = _FLBuilderConfig.builder,
  237. strings = _FLBuilderConfig.strings,
  238. urls = _FLBuilderConfig.urls;
  239. var _wp$blocks = wp.blocks,
  240. rawHandler = _wp$blocks.rawHandler,
  241. serialize = _wp$blocks.serialize;
  242. var _wp$components = wp.components,
  243. Button = _wp$components.Button,
  244. Placeholder = _wp$components.Placeholder,
  245. Spinner = _wp$components.Spinner;
  246. var compose = wp.compose.compose;
  247. var _wp$data = wp.data,
  248. withDispatch = _wp$data.withDispatch,
  249. withSelect = _wp$data.withSelect;
  250. var Component = wp.element.Component;
  251. /**
  252. * Edit Component
  253. */
  254. var LayoutBlockEdit = /*#__PURE__*/function (_Component) {
  255. _inherits(LayoutBlockEdit, _Component);
  256. var _super = _createSuper(LayoutBlockEdit);
  257. function LayoutBlockEdit() {
  258. _classCallCheck(this, LayoutBlockEdit);
  259. return _super.apply(this, arguments);
  260. }
  261. _createClass(LayoutBlockEdit, [{
  262. key: "componentDidMount",
  263. value: function componentDidMount() {
  264. var blockCount = this.props.blockCount;
  265. if (1 === blockCount) {
  266. this.toggleEditor('disable');
  267. }
  268. }
  269. }, {
  270. key: "componentWillUnmount",
  271. value: function componentWillUnmount() {
  272. this.toggleEditor('enable');
  273. }
  274. }, {
  275. key: "render",
  276. value: function render() {
  277. var _this$props = this.props,
  278. blockCount = _this$props.blockCount,
  279. onReplace = _this$props.onReplace,
  280. isLaunching = _this$props.isLaunching;
  281. var label, callback, description;
  282. if (1 === blockCount) {
  283. label = builder.access ? strings.launch : strings.view;
  284. callback = this.launchBuilder.bind(this);
  285. } else {
  286. label = strings.convert;
  287. callback = this.convertToBuilder.bind(this);
  288. }
  289. if (builder.enabled) {
  290. description = strings.active;
  291. } else {
  292. description = strings.description;
  293. }
  294. if (false === builder.showui) {
  295. return '';
  296. }
  297. return /*#__PURE__*/React.createElement(Placeholder, {
  298. key: "placeholder",
  299. instructions: description,
  300. label: strings.title,
  301. className: "fl-builder-layout-launch-view"
  302. }, isLaunching && /*#__PURE__*/React.createElement(Spinner, null), !isLaunching && /*#__PURE__*/React.createElement(Button, {
  303. isLarge: true,
  304. isPrimary: true,
  305. type: "submit",
  306. onClick: callback
  307. }, label), !isLaunching && /*#__PURE__*/React.createElement(Button, {
  308. isLarge: true,
  309. type: "submit",
  310. onClick: this.convertToBlocks.bind(this)
  311. }, strings.editor));
  312. }
  313. }, {
  314. key: "toggleEditor",
  315. value: function toggleEditor() {
  316. var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'enable';
  317. var classList = document.body.classList;
  318. var enabledClass = 'fl-builder-layout-enabled';
  319. if ('enable' === method) {
  320. if (classList.contains(enabledClass)) {
  321. classList.remove(enabledClass);
  322. }
  323. } else {
  324. if (!classList.contains(enabledClass)) {
  325. classList.add(enabledClass);
  326. }
  327. }
  328. }
  329. }, {
  330. key: "launchBuilder",
  331. value: function launchBuilder() {
  332. var _this$props2 = this.props,
  333. savePost = _this$props2.savePost,
  334. setLaunching = _this$props2.setLaunching;
  335. setLaunching(true);
  336. /**
  337. * WP 6.4 will NOT save a post with no title.
  338. */
  339. var title = wp.data.select("core/editor").getEditedPostAttribute('title');
  340. if (!title) {
  341. wp.data.dispatch('core/editor').editPost({
  342. title: wp.i18n.__('(no title)')
  343. });
  344. }
  345. savePost().then(function () {
  346. setTimeout(function () {
  347. window.top.location.href = builder.access ? urls.edit : urls.view;
  348. }, 2000);
  349. });
  350. }
  351. }, {
  352. key: "convertToBuilder",
  353. value: function convertToBuilder() {
  354. var _this$props3 = this.props,
  355. clientId = _this$props3.clientId,
  356. blocks = _this$props3.blocks,
  357. setAttributes = _this$props3.setAttributes,
  358. removeBlocks = _this$props3.removeBlocks;
  359. var content = serialize(blocks);
  360. var clientIds = blocks.map(function (block) {
  361. return block.clientId;
  362. }).filter(function (id) {
  363. return id !== clientId;
  364. });
  365. setAttributes({
  366. content: content.replace(/<!--(.*?)-->/g, '')
  367. });
  368. removeBlocks(clientIds);
  369. this.launchBuilder();
  370. }
  371. }, {
  372. key: "convertToBlocks",
  373. value: function convertToBlocks() {
  374. var _this$props4 = this.props,
  375. attributes = _this$props4.attributes,
  376. clientId = _this$props4.clientId,
  377. replaceBlocks = _this$props4.replaceBlocks,
  378. onReplace = _this$props4.onReplace;
  379. if (attributes.content && !confirm(strings.warning)) {
  380. return;
  381. } else if (attributes.content) {
  382. replaceBlocks([clientId], rawHandler({
  383. HTML: attributes.content,
  384. mode: 'BLOCKS'
  385. }));
  386. } else {
  387. onReplace([]);
  388. }
  389. }
  390. }]);
  391. return LayoutBlockEdit;
  392. }(Component);
  393. /**
  394. * Connect the edit component to editor data.
  395. */
  396. var LayoutBlockEditConnected = compose(withDispatch(function (dispatch, ownProps) {
  397. var blockEditor = dispatch('core/block-editor');
  398. var editor = dispatch('core/editor');
  399. var builder = dispatch('fl-builder');
  400. return {
  401. removeBlocks: blockEditor.removeBlocks,
  402. replaceBlocks: blockEditor.replaceBlocks,
  403. savePost: editor.savePost,
  404. setLaunching: builder.setLaunching
  405. };
  406. }), withSelect(function (select) {
  407. var blockEditor = select('core/block-editor');
  408. var editor = select('core/editor');
  409. var builder = select('fl-builder');
  410. return {
  411. blockCount: blockEditor.getBlockCount(),
  412. blocks: blockEditor.getBlocks(),
  413. isLaunching: builder.isLaunching()
  414. };
  415. }))(LayoutBlockEdit);
  416. /***/ }),
  417. /***/ "./src/wp-editor/layout-block/index.js":
  418. /*!*********************************************!*\
  419. !*** ./src/wp-editor/layout-block/index.js ***!
  420. \*********************************************/
  421. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  422. "use strict";
  423. __webpack_require__.r(__webpack_exports__);
  424. /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./edit */ "./src/wp-editor/layout-block/edit.js");
  425. /* harmony import */ var _edit_pre_5_3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit-pre-5-3 */ "./src/wp-editor/layout-block/edit-pre-5-3.js");
  426. /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.scss */ "./src/wp-editor/layout-block/index.scss");
  427. var _FLBuilderConfig = FLBuilderConfig,
  428. builder = _FLBuilderConfig.builder,
  429. strings = _FLBuilderConfig.strings;
  430. var version = FLBuilderConfig.wp.version;
  431. var registerBlockType = wp.blocks.registerBlockType;
  432. var RawHTML = wp.element.RawHTML;
  433. var getBlockEdit = function getBlockEdit() {
  434. if (parseFloat(version) < 5.3) {
  435. return _edit_pre_5_3__WEBPACK_IMPORTED_MODULE_1__.LayoutBlockEditConnectedPre_5_3;
  436. }
  437. return _edit__WEBPACK_IMPORTED_MODULE_0__.LayoutBlockEditConnected;
  438. };
  439. /**
  440. * Register the block.
  441. */
  442. if (builder.access && builder.unrestricted || builder.enabled) {
  443. registerBlockType('fl-builder/layout', {
  444. title: strings.title,
  445. description: strings.description,
  446. icon: 'welcome-widgets-menus',
  447. category: 'layout',
  448. useOnce: true,
  449. supports: {
  450. customClassName: false,
  451. className: false,
  452. html: false
  453. },
  454. attributes: {
  455. content: {
  456. type: 'string',
  457. source: 'html'
  458. }
  459. },
  460. edit: getBlockEdit(),
  461. save: function save(_ref) {
  462. var attributes = _ref.attributes;
  463. return /*#__PURE__*/React.createElement(RawHTML, null, attributes.content);
  464. }
  465. });
  466. }
  467. /***/ }),
  468. /***/ "./src/wp-editor/more-menu/index.js":
  469. /*!******************************************!*\
  470. !*** ./src/wp-editor/more-menu/index.js ***!
  471. \******************************************/
  472. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  473. "use strict";
  474. __webpack_require__.r(__webpack_exports__);
  475. /* harmony import */ var _menu_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./menu-item */ "./src/wp-editor/more-menu/menu-item.js");
  476. /* harmony import */ var _menu_item_pre_5_3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./menu-item-pre-5-3 */ "./src/wp-editor/more-menu/menu-item-pre-5-3.js");
  477. var version = FLBuilderConfig.wp.version;
  478. var registerPlugin = wp.plugins.registerPlugin;
  479. var getMenuItemComponent = function getMenuItemComponent() {
  480. if (parseFloat(version) < 5.3) {
  481. return _menu_item_pre_5_3__WEBPACK_IMPORTED_MODULE_1__.BuilderMoreMenuItemConnectedPre_5_3;
  482. }
  483. return _menu_item__WEBPACK_IMPORTED_MODULE_0__.BuilderMoreMenuItemConnected;
  484. };
  485. /**
  486. * Register the builder more menu plugin.
  487. */
  488. registerPlugin('fl-builder-plugin-sidebar', {
  489. icon: 'welcome-widgets-menus',
  490. render: getMenuItemComponent()
  491. });
  492. /***/ }),
  493. /***/ "./src/wp-editor/more-menu/menu-item-pre-5-3.js":
  494. /*!******************************************************!*\
  495. !*** ./src/wp-editor/more-menu/menu-item-pre-5-3.js ***!
  496. \******************************************************/
  497. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  498. "use strict";
  499. __webpack_require__.r(__webpack_exports__);
  500. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  501. /* harmony export */ "BuilderMoreMenuItemConnectedPre_5_3": () => (/* binding */ BuilderMoreMenuItemConnectedPre_5_3)
  502. /* harmony export */ });
  503. /* harmony import */ var _menu_item_pre_5_3_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./menu-item-pre-5-3.scss */ "./src/wp-editor/more-menu/menu-item-pre-5-3.scss");
  504. function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
  505. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  506. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  507. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
  508. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
  509. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  510. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  511. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  512. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  513. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  514. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  515. var _FLBuilderConfig = FLBuilderConfig,
  516. strings = _FLBuilderConfig.strings;
  517. var _wp$blocks = wp.blocks,
  518. createBlock = _wp$blocks.createBlock,
  519. serialize = _wp$blocks.serialize;
  520. var Button = wp.components.Button;
  521. var compose = wp.compose.compose;
  522. var _wp$data = wp.data,
  523. withDispatch = _wp$data.withDispatch,
  524. withSelect = _wp$data.withSelect;
  525. var PluginSidebarMoreMenuItem = wp.editPost.PluginSidebarMoreMenuItem;
  526. var Component = wp.element.Component;
  527. /**
  528. * Builder menu item for the more menu pre WordPress 5.3.
  529. *
  530. * More menu items currently only support opening a sidebar.
  531. * However, we need a click event. For now, that is done in a
  532. * hacky manner with an absolute div that contains the event.
  533. * This should be reworked in the future when API supports it.
  534. */
  535. var BuilderMoreMenuItemPre_5_3 = /*#__PURE__*/function (_Component) {
  536. _inherits(BuilderMoreMenuItemPre_5_3, _Component);
  537. var _super = _createSuper(BuilderMoreMenuItemPre_5_3);
  538. function BuilderMoreMenuItemPre_5_3() {
  539. _classCallCheck(this, BuilderMoreMenuItemPre_5_3);
  540. return _super.apply(this, arguments);
  541. }
  542. _createClass(BuilderMoreMenuItemPre_5_3, [{
  543. key: "render",
  544. value: function render() {
  545. return /*#__PURE__*/React.createElement(PluginSidebarMoreMenuItem, null, /*#__PURE__*/React.createElement("div", {
  546. className: "fl-builder-plugin-sidebar-button",
  547. onClick: this.menuItemClicked.bind(this)
  548. }), this.hasBuilderBlock() ? strings.launch : strings.convert);
  549. }
  550. }, {
  551. key: "hasBuilderBlock",
  552. value: function hasBuilderBlock() {
  553. var blocks = this.props.blocks;
  554. var builder = blocks.filter(function (block) {
  555. return 'fl-builder/layout' === block.name;
  556. });
  557. return !!builder.length;
  558. }
  559. }, {
  560. key: "menuItemClicked",
  561. value: function menuItemClicked() {
  562. var closeGeneralSidebar = this.props.closeGeneralSidebar;
  563. if (this.hasBuilderBlock()) {
  564. this.launchBuilder();
  565. } else {
  566. this.convertToBuilder();
  567. } // Another hack because we can't have click events yet :(
  568. setTimeout(closeGeneralSidebar, 100);
  569. }
  570. }, {
  571. key: "convertToBuilder",
  572. value: function convertToBuilder() {
  573. var _this$props = this.props,
  574. blocks = _this$props.blocks,
  575. insertBlock = _this$props.insertBlock,
  576. removeBlocks = _this$props.removeBlocks;
  577. var clientIds = blocks.map(function (block) {
  578. return block.clientId;
  579. });
  580. var content = serialize(blocks).replace(/<!--(.*?)-->/g, '');
  581. var block = createBlock('fl-builder/layout', {
  582. content: content
  583. });
  584. insertBlock(block, 0);
  585. removeBlocks(clientIds);
  586. }
  587. }, {
  588. key: "launchBuilder",
  589. value: function launchBuilder() {
  590. var _this$props2 = this.props,
  591. savePost = _this$props2.savePost,
  592. setLaunching = _this$props2.setLaunching;
  593. setLaunching(true);
  594. savePost();
  595. }
  596. }]);
  597. return BuilderMoreMenuItemPre_5_3;
  598. }(Component);
  599. /**
  600. * Connect the menu item to editor data.
  601. */
  602. var BuilderMoreMenuItemConnectedPre_5_3 = compose(withDispatch(function (dispatch, ownProps) {
  603. var editor = dispatch('core/editor');
  604. var editPost = dispatch('core/edit-post');
  605. var builder = dispatch('fl-builder');
  606. return {
  607. savePost: editor.savePost,
  608. insertBlock: editor.insertBlock,
  609. removeBlocks: editor.removeBlocks,
  610. closeGeneralSidebar: editPost.closeGeneralSidebar,
  611. setLaunching: builder.setLaunching
  612. };
  613. }), withSelect(function (select) {
  614. var editor = select('core/editor');
  615. return {
  616. blocks: editor.getBlocks()
  617. };
  618. }))(BuilderMoreMenuItemPre_5_3);
  619. /***/ }),
  620. /***/ "./src/wp-editor/more-menu/menu-item.js":
  621. /*!**********************************************!*\
  622. !*** ./src/wp-editor/more-menu/menu-item.js ***!
  623. \**********************************************/
  624. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  625. "use strict";
  626. __webpack_require__.r(__webpack_exports__);
  627. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  628. /* harmony export */ "BuilderMoreMenuItemConnected": () => (/* binding */ BuilderMoreMenuItemConnected)
  629. /* harmony export */ });
  630. function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
  631. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  632. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  633. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
  634. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
  635. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  636. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  637. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  638. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  639. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  640. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  641. var _FLBuilderConfig = FLBuilderConfig,
  642. builder = _FLBuilderConfig.builder,
  643. strings = _FLBuilderConfig.strings,
  644. urls = _FLBuilderConfig.urls;
  645. var _wp$blocks = wp.blocks,
  646. createBlock = _wp$blocks.createBlock,
  647. serialize = _wp$blocks.serialize;
  648. var Button = wp.components.Button;
  649. var compose = wp.compose.compose;
  650. var _wp$data = wp.data,
  651. withDispatch = _wp$data.withDispatch,
  652. withSelect = _wp$data.withSelect;
  653. var PluginMoreMenuItem = wp.editPost.PluginMoreMenuItem;
  654. var Component = wp.element.Component;
  655. /**
  656. * Builder menu item for the more menu.
  657. */
  658. var BuilderMoreMenuItem = /*#__PURE__*/function (_Component) {
  659. _inherits(BuilderMoreMenuItem, _Component);
  660. var _super = _createSuper(BuilderMoreMenuItem);
  661. function BuilderMoreMenuItem() {
  662. _classCallCheck(this, BuilderMoreMenuItem);
  663. return _super.apply(this, arguments);
  664. }
  665. _createClass(BuilderMoreMenuItem, [{
  666. key: "render",
  667. value: function render() {
  668. if (this.hasBuilderBlock()) {
  669. jQuery('body').addClass('fl-builder-blocks');
  670. jQuery(document).trigger('fl-builder-fix-blocks');
  671. }
  672. return /*#__PURE__*/React.createElement(PluginMoreMenuItem, {
  673. onClick: this.menuItemClicked.bind(this)
  674. }, this.hasBuilderBlock() ? strings.launch : strings.convert);
  675. }
  676. }, {
  677. key: "hasBuilderBlock",
  678. value: function hasBuilderBlock() {
  679. var blocks = this.props.blocks;
  680. var builder = blocks.filter(function (block) {
  681. return 'fl-builder/layout' === block.name;
  682. });
  683. return !!builder.length;
  684. }
  685. }, {
  686. key: "menuItemClicked",
  687. value: function menuItemClicked() {
  688. if (this.hasBuilderBlock()) {
  689. this.launchBuilder();
  690. } else {
  691. this.convertToBuilder();
  692. }
  693. }
  694. }, {
  695. key: "convertToBuilder",
  696. value: function convertToBuilder() {
  697. var _this$props = this.props,
  698. blocks = _this$props.blocks,
  699. insertBlock = _this$props.insertBlock,
  700. removeBlocks = _this$props.removeBlocks;
  701. var clientIds = blocks.map(function (block) {
  702. return block.clientId;
  703. });
  704. var content = serialize(blocks).replace(/<!--(.*?)-->/g, '');
  705. var block = createBlock('fl-builder/layout', {
  706. content: content
  707. });
  708. insertBlock(block, 0);
  709. removeBlocks(clientIds);
  710. }
  711. }, {
  712. key: "launchBuilder",
  713. value: function launchBuilder() {
  714. var _this$props2 = this.props,
  715. savePost = _this$props2.savePost,
  716. setLaunching = _this$props2.setLaunching;
  717. setLaunching(true);
  718. /**
  719. * WP 6.4 will NOT save a post with no title.
  720. */
  721. var title = wp.data.select("core/editor").getEditedPostAttribute('title');
  722. if (!title) {
  723. wp.data.dispatch('core/editor').editPost({
  724. title: wp.i18n.__('(no title)')
  725. });
  726. }
  727. savePost().then(function () {
  728. setTimeout(function () {
  729. window.location.href = builder.access ? urls.edit : urls.view;
  730. }, 2000);
  731. });
  732. }
  733. }]);
  734. return BuilderMoreMenuItem;
  735. }(Component);
  736. /**
  737. * Connect the menu item to editor data.
  738. */
  739. var BuilderMoreMenuItemConnected = compose(withDispatch(function (dispatch, ownProps) {
  740. var blockEditor = dispatch('core/block-editor');
  741. var editor = dispatch('core/editor');
  742. var builder = dispatch('fl-builder');
  743. return {
  744. insertBlock: blockEditor.insertBlock,
  745. removeBlocks: blockEditor.removeBlocks,
  746. savePost: editor.savePost,
  747. setLaunching: builder.setLaunching
  748. };
  749. }), withSelect(function (select) {
  750. var blockEditor = select('core/block-editor');
  751. return {
  752. blocks: blockEditor.getBlocks()
  753. };
  754. }))(BuilderMoreMenuItem);
  755. /***/ }),
  756. /***/ "./src/wp-editor/store/index.js":
  757. /*!**************************************!*\
  758. !*** ./src/wp-editor/store/index.js ***!
  759. \**************************************/
  760. /***/ (() => {
  761. var registerStore = wp.data.registerStore;
  762. var DEFAULT_STATE = {
  763. launching: false
  764. };
  765. var actions = {
  766. setLaunching: function setLaunching(launching) {
  767. return {
  768. type: 'SET_LAUNCHING',
  769. launching: launching
  770. };
  771. }
  772. };
  773. var selectors = {
  774. isLaunching: function isLaunching(state) {
  775. return state.launching;
  776. }
  777. };
  778. registerStore('fl-builder', {
  779. reducer: function reducer() {
  780. var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
  781. var action = arguments.length > 1 ? arguments[1] : undefined;
  782. switch (action.type) {
  783. case 'SET_LAUNCHING':
  784. state.launching = action.launching;
  785. }
  786. return state;
  787. },
  788. actions: actions,
  789. selectors: selectors
  790. });
  791. /***/ }),
  792. /***/ "./src/wp-editor/wordpress/index.js":
  793. /*!******************************************!*\
  794. !*** ./src/wp-editor/wordpress/index.js ***!
  795. \******************************************/
  796. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  797. "use strict";
  798. __webpack_require__.r(__webpack_exports__);
  799. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  800. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  801. /* harmony export */ });
  802. function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
  803. // FUNCTION: Recover block
  804. var recoverBlock = function recoverBlock() {
  805. var block = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
  806. var autoSave = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  807. // DECONSTRUCT: WP object
  808. var _ref = window || {},
  809. _ref$wp = _ref.wp,
  810. wp = _ref$wp === void 0 ? {} : _ref$wp;
  811. var _wp$data = wp.data,
  812. data = _wp$data === void 0 ? {} : _wp$data,
  813. _wp$blocks = wp.blocks,
  814. blocks = _wp$blocks === void 0 ? {} : _wp$blocks;
  815. var dispatch = data.dispatch,
  816. select = data.select;
  817. var createBlock = blocks.createBlock;
  818. var _dispatch = dispatch('core/block-editor'),
  819. replaceBlock = _dispatch.replaceBlock;
  820. var wpRecoverBlock = function wpRecoverBlock(_ref2) {
  821. var _ref2$name = _ref2.name,
  822. name = _ref2$name === void 0 ? '' : _ref2$name,
  823. _ref2$attributes = _ref2.attributes,
  824. attributes = _ref2$attributes === void 0 ? {} : _ref2$attributes,
  825. _ref2$innerBlocks = _ref2.innerBlocks,
  826. innerBlocks = _ref2$innerBlocks === void 0 ? [] : _ref2$innerBlocks;
  827. return createBlock(name, attributes, innerBlocks);
  828. }; // DEFINE: Validation variables
  829. var blockIsValid = block !== null && _typeof(block) === 'object' && block.clientId !== null && typeof block.clientId === 'string'; // IF: Block is not valid
  830. if (blockIsValid !== true) {
  831. return false;
  832. } // GET: Block based on ID, to make sure it exists
  833. var currentBlock = select('core/block-editor').getBlock(block.clientId); // IF: Block was found
  834. if (!currentBlock !== true) {
  835. // DECONSTRUCT: Block
  836. var _currentBlock$clientI = currentBlock.clientId,
  837. blockId = _currentBlock$clientI === void 0 ? '' : _currentBlock$clientI,
  838. _currentBlock$isValid = currentBlock.isValid,
  839. _blockIsValid = _currentBlock$isValid === void 0 ? true : _currentBlock$isValid,
  840. _currentBlock$innerBl = currentBlock.innerBlocks,
  841. blockInnerBlocks = _currentBlock$innerBl === void 0 ? [] : _currentBlock$innerBl; // DEFINE: Validation variables
  842. var blockInnerBlocksHasLength = blockInnerBlocks !== null && Array.isArray(blockInnerBlocks) && blockInnerBlocks.length >= 1; // IF: Block is not valid
  843. if (_blockIsValid !== true) {
  844. // DEFINE: New recovered block
  845. var recoveredBlock = wpRecoverBlock(currentBlock); // REPLACE: Broke block
  846. replaceBlock(blockId, recoveredBlock); // IF: Auto save post
  847. if (autoSave === true) {
  848. wp.data.dispatch("core/editor").savePost();
  849. }
  850. } // IF: Inner blocks has length
  851. if (blockInnerBlocksHasLength) {
  852. blockInnerBlocks.forEach(function () {
  853. var innerBlock = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  854. recoverBlock(innerBlock, autoSave);
  855. });
  856. }
  857. } // RETURN
  858. return false;
  859. }; // FUNCTION: Attempt to recover broken blocks
  860. var autoRecoverBlocks = function autoRecoverBlocks() {
  861. var autoSave = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  862. // DECONSTRUCT: WP object
  863. var _ref3 = window || {},
  864. _ref3$wp = _ref3.wp,
  865. wp = _ref3$wp === void 0 ? {} : _ref3$wp;
  866. var domReady = wp.domReady,
  867. _wp$data2 = wp.data,
  868. data = _wp$data2 === void 0 ? {} : _wp$data2;
  869. var select = data.select; // AWAIT: For dom to get ready
  870. domReady(function () {
  871. setTimeout(function () {
  872. // DEFINE: Basic variables
  873. var blocksArray = select('core/block-editor').getBlocks();
  874. var blocksArrayHasLength = Array.isArray(blocksArray) && blocksArray.length >= 1; // IF: Blocks array has length
  875. if (blocksArrayHasLength === true) {
  876. blocksArray.forEach(function () {
  877. var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  878. recoverBlock(element, autoSave);
  879. });
  880. }
  881. }, 1);
  882. });
  883. }; // EXPORT
  884. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (autoRecoverBlocks); // DECONSTRUCT: WP
  885. var _ref4 = window || {},
  886. _ref4$wp = _ref4.wp,
  887. wp = _ref4$wp === void 0 ? {} : _ref4$wp;
  888. var domReady = wp.domReady,
  889. data = wp.data; // AWAIT: jQuery to get ready
  890. jQuery(document).on('fl-builder-fix-blocks', function () {
  891. // DEFINE: Validation variables
  892. var hasGutenbergClasses = jQuery('body').hasClass('post-php') === true && jQuery('.block-editor').length >= 1 && jQuery('body').hasClass('fl-builder-blocks');
  893. var gutenbergHasObject = domReady !== undefined && data !== undefined;
  894. var gutenbergIsPresent = hasGutenbergClasses === true && gutenbergHasObject === true; // IF: Gutenberg editor is present
  895. if (gutenbergIsPresent === true) {
  896. autoRecoverBlocks(false);
  897. }
  898. });
  899. /***/ }),
  900. /***/ "./src/wp-editor/layout-block/index.scss":
  901. /*!***********************************************!*\
  902. !*** ./src/wp-editor/layout-block/index.scss ***!
  903. \***********************************************/
  904. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  905. "use strict";
  906. __webpack_require__.r(__webpack_exports__);
  907. // extracted by mini-css-extract-plugin
  908. /***/ }),
  909. /***/ "./src/wp-editor/more-menu/menu-item-pre-5-3.scss":
  910. /*!********************************************************!*\
  911. !*** ./src/wp-editor/more-menu/menu-item-pre-5-3.scss ***!
  912. \********************************************************/
  913. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  914. "use strict";
  915. __webpack_require__.r(__webpack_exports__);
  916. // extracted by mini-css-extract-plugin
  917. /***/ })
  918. /******/ });
  919. /************************************************************************/
  920. /******/ // The module cache
  921. /******/ var __webpack_module_cache__ = {};
  922. /******/
  923. /******/ // The require function
  924. /******/ function __webpack_require__(moduleId) {
  925. /******/ // Check if module is in cache
  926. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  927. /******/ if (cachedModule !== undefined) {
  928. /******/ return cachedModule.exports;
  929. /******/ }
  930. /******/ // Create a new module (and put it into the cache)
  931. /******/ var module = __webpack_module_cache__[moduleId] = {
  932. /******/ // no module.id needed
  933. /******/ // no module.loaded needed
  934. /******/ exports: {}
  935. /******/ };
  936. /******/
  937. /******/ // Execute the module function
  938. /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  939. /******/
  940. /******/ // Return the exports of the module
  941. /******/ return module.exports;
  942. /******/ }
  943. /******/
  944. /************************************************************************/
  945. /******/ /* webpack/runtime/compat get default export */
  946. /******/ (() => {
  947. /******/ // getDefaultExport function for compatibility with non-harmony modules
  948. /******/ __webpack_require__.n = (module) => {
  949. /******/ var getter = module && module.__esModule ?
  950. /******/ () => (module['default']) :
  951. /******/ () => (module);
  952. /******/ __webpack_require__.d(getter, { a: getter });
  953. /******/ return getter;
  954. /******/ };
  955. /******/ })();
  956. /******/
  957. /******/ /* webpack/runtime/define property getters */
  958. /******/ (() => {
  959. /******/ // define getter functions for harmony exports
  960. /******/ __webpack_require__.d = (exports, definition) => {
  961. /******/ for(var key in definition) {
  962. /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  963. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  964. /******/ }
  965. /******/ }
  966. /******/ };
  967. /******/ })();
  968. /******/
  969. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  970. /******/ (() => {
  971. /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  972. /******/ })();
  973. /******/
  974. /******/ /* webpack/runtime/make namespace object */
  975. /******/ (() => {
  976. /******/ // define __esModule on exports
  977. /******/ __webpack_require__.r = (exports) => {
  978. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  979. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  980. /******/ }
  981. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  982. /******/ };
  983. /******/ })();
  984. /******/
  985. /************************************************************************/
  986. var __webpack_exports__ = {};
  987. // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  988. (() => {
  989. "use strict";
  990. /*!********************************!*\
  991. !*** ./src/wp-editor/index.js ***!
  992. \********************************/
  993. __webpack_require__.r(__webpack_exports__);
  994. /* harmony import */ var _wordpress__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wordpress */ "./src/wp-editor/wordpress/index.js");
  995. /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store */ "./src/wp-editor/store/index.js");
  996. /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_store__WEBPACK_IMPORTED_MODULE_1__);
  997. /* harmony import */ var _layout_block__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layout-block */ "./src/wp-editor/layout-block/index.js");
  998. /* harmony import */ var _more_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./more-menu */ "./src/wp-editor/more-menu/index.js");
  999. })();
  1000. /******/ })()
  1001. ;