newspack-components 4.3.0 → 4.4.0-epic-editor-refactor.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/DEVELOPMENT.md +868 -0
  3. package/copy-styles.js +3 -2
  4. package/dist/cjs/accordion/index.js +17 -12
  5. package/dist/cjs/action-card/index.js +176 -139
  6. package/dist/cjs/autocomplete-tokenfield/index.js +254 -234
  7. package/dist/cjs/autocomplete-with-latest-posts/index.js +172 -110
  8. package/dist/cjs/autocomplete-with-suggestions/index.js +229 -126
  9. package/dist/cjs/badge/index.js +7 -7
  10. package/dist/cjs/box-contrast/index.js +19 -15
  11. package/dist/cjs/button/index.js +41 -26
  12. package/dist/cjs/button-props/button-props.js +5 -5
  13. package/dist/cjs/button-props/index.js +2 -2
  14. package/dist/cjs/card/core-card.js +110 -52
  15. package/dist/cjs/card/index.js +74 -67
  16. package/dist/cjs/card/style-core.scss +93 -25
  17. package/dist/cjs/card/style.scss +2 -2
  18. package/dist/cjs/card-feature/index.js +141 -0
  19. package/dist/cjs/card-feature/style.scss +75 -0
  20. package/dist/cjs/card-form/index.js +144 -0
  21. package/dist/cjs/card-form/style.scss +20 -0
  22. package/dist/cjs/card-settings-group/index.js +36 -16
  23. package/dist/cjs/card-sortable-list/index.js +176 -140
  24. package/dist/cjs/category-autocomplete/index.js +175 -155
  25. package/dist/cjs/color-picker/index.js +41 -23
  26. package/dist/cjs/color-picker/index.test.js +82 -0
  27. package/dist/cjs/color-picker/style.scss +11 -13
  28. package/dist/cjs/confirm-dialog/index.js +86 -22
  29. package/dist/cjs/consts.js +1 -1
  30. package/dist/cjs/custom-select-control/index.js +39 -28
  31. package/dist/cjs/dataviews/index.js +38 -0
  32. package/dist/cjs/dataviews/style.scss +9 -0
  33. package/dist/cjs/divider/index.js +26 -21
  34. package/dist/cjs/footer/index.js +36 -30
  35. package/dist/cjs/form-token-field/index.js +51 -40
  36. package/dist/cjs/global-notices/index.js +5 -5
  37. package/dist/cjs/grid/index.js +25 -19
  38. package/dist/cjs/grid/style.scss +6 -1
  39. package/dist/cjs/handoff/index.js +204 -156
  40. package/dist/cjs/handoff-message/index.js +12 -7
  41. package/dist/cjs/hooks/index.js +10 -8
  42. package/dist/cjs/hooks/use-confirm-dialog.js +79 -0
  43. package/dist/cjs/hooks/use-unsaved-changes-dialog.js +144 -0
  44. package/dist/cjs/hooks/useObjectState.js +21 -12
  45. package/dist/cjs/hooks/useObjectState.test.js +55 -33
  46. package/dist/cjs/hooks/useOnClickOutside.js +6 -6
  47. package/dist/cjs/hooks/usePrompt.js +10 -13
  48. package/dist/cjs/image-upload/index.js +114 -123
  49. package/dist/cjs/image-upload/index.test.js +11 -13
  50. package/dist/cjs/image-upload/style.scss +12 -40
  51. package/dist/cjs/index.js +136 -104
  52. package/dist/cjs/info-button/index.js +43 -32
  53. package/dist/cjs/integration-icons/active-campaign.js +22 -0
  54. package/dist/cjs/integration-icons/constant-contact.js +28 -0
  55. package/dist/cjs/integration-icons/fundraise-up.js +25 -0
  56. package/dist/cjs/integration-icons/index.js +48 -0
  57. package/dist/cjs/integration-icons/mailchimp.js +19 -0
  58. package/dist/cjs/integration-icons/salesforce.js +17 -0
  59. package/dist/cjs/integration-icons/wisepops.js +20 -0
  60. package/dist/cjs/modal/index.js +22 -19
  61. package/dist/cjs/modal/style.scss +4 -0
  62. package/dist/cjs/newspack-icon/index.js +45 -38
  63. package/dist/cjs/notice/index.js +64 -55
  64. package/dist/cjs/plugin-installer/index.js +259 -253
  65. package/dist/cjs/plugin-settings/SettingsSection.js +66 -60
  66. package/dist/cjs/plugin-settings/index.js +217 -200
  67. package/dist/cjs/plugin-toggle/index.js +192 -199
  68. package/dist/cjs/popover/index.js +41 -28
  69. package/dist/cjs/position-control/index.js +24 -23
  70. package/dist/cjs/progress-bar/index.js +71 -59
  71. package/dist/cjs/progress-bar/index.test.js +62 -68
  72. package/dist/cjs/proxied-imports/router.js +3 -3
  73. package/dist/cjs/radio-control/index.js +40 -27
  74. package/dist/cjs/section-header/index.js +103 -58
  75. package/dist/cjs/section-header/style.scss +31 -11
  76. package/dist/cjs/select-control/ButtonGroupControl.js +26 -21
  77. package/dist/cjs/select-control/GroupedSelectControl.js +41 -35
  78. package/dist/cjs/select-control/index.js +52 -40
  79. package/dist/cjs/settings/MinMaxSetting.js +30 -20
  80. package/dist/cjs/settings/SettingsCard.js +20 -17
  81. package/dist/cjs/settings/SettingsSection.js +22 -21
  82. package/dist/cjs/settings/index.js +5 -5
  83. package/dist/cjs/sortable-newsletter-list-control/index.js +78 -57
  84. package/dist/cjs/steps-list/index.js +44 -34
  85. package/dist/cjs/steps-list-item/index.js +47 -39
  86. package/dist/cjs/style-card/index.js +70 -63
  87. package/dist/cjs/tabbed-navigation/index.js +38 -36
  88. package/dist/cjs/text-control/index.js +27 -25
  89. package/dist/cjs/utils/color.js +4 -4
  90. package/dist/cjs/utils/editor-toolbar-back-button.js +61 -0
  91. package/dist/cjs/utils/index.js +31 -19
  92. package/dist/cjs/utils/style.scss +8 -0
  93. package/dist/cjs/waiting/index.js +48 -37
  94. package/dist/cjs/web-preview/index.js +217 -211
  95. package/dist/cjs/with-wizard/index.js +362 -364
  96. package/dist/cjs/with-wizard/style.scss +4 -54
  97. package/dist/cjs/with-wizard-screen/index.js +54 -58
  98. package/dist/cjs/with-wizard-screen/style.scss +41 -3
  99. package/dist/cjs/wizard/components/WizardError.js +20 -18
  100. package/dist/cjs/wizard/components/WizardSnackbar.js +26 -23
  101. package/dist/cjs/wizard/index.js +176 -114
  102. package/dist/cjs/wizard/store/index.js +171 -123
  103. package/dist/cjs/wizard/store/utils.js +13 -8
  104. package/dist/esm/accordion/index.js +14 -9
  105. package/dist/esm/action-card/index.js +168 -123
  106. package/dist/esm/autocomplete-tokenfield/index.js +248 -222
  107. package/dist/esm/autocomplete-with-latest-posts/index.js +169 -103
  108. package/dist/esm/autocomplete-with-suggestions/index.js +226 -119
  109. package/dist/esm/badge/index.js +5 -5
  110. package/dist/esm/box-contrast/index.js +15 -11
  111. package/dist/esm/button/index.js +39 -21
  112. package/dist/esm/button-props/button-props.js +1 -1
  113. package/dist/esm/card/core-card.js +109 -47
  114. package/dist/esm/card/index.js +69 -54
  115. package/dist/esm/card/style-core.scss +93 -25
  116. package/dist/esm/card/style.scss +2 -2
  117. package/dist/esm/card-feature/index.js +131 -0
  118. package/dist/esm/card-feature/style.scss +75 -0
  119. package/dist/esm/card-form/index.js +134 -0
  120. package/dist/esm/card-form/style.scss +20 -0
  121. package/dist/esm/card-settings-group/index.js +33 -14
  122. package/dist/esm/card-sortable-list/index.js +170 -126
  123. package/dist/esm/category-autocomplete/index.js +168 -140
  124. package/dist/esm/color-picker/index.js +39 -21
  125. package/dist/esm/color-picker/index.test.js +78 -0
  126. package/dist/esm/color-picker/style.scss +11 -13
  127. package/dist/esm/confirm-dialog/index.js +85 -18
  128. package/dist/esm/consts.js +1 -1
  129. package/dist/esm/custom-select-control/index.js +34 -15
  130. package/dist/esm/dataviews/index.js +34 -0
  131. package/dist/esm/dataviews/style.scss +9 -0
  132. package/dist/esm/divider/index.js +24 -16
  133. package/dist/esm/footer/index.js +34 -28
  134. package/dist/esm/form-token-field/index.js +46 -27
  135. package/dist/esm/global-notices/index.js +3 -3
  136. package/dist/esm/grid/index.js +23 -14
  137. package/dist/esm/grid/style.scss +6 -1
  138. package/dist/esm/handoff/index.js +199 -143
  139. package/dist/esm/handoff-message/index.js +10 -6
  140. package/dist/esm/hooks/index.js +8 -6
  141. package/dist/esm/hooks/use-confirm-dialog.js +73 -0
  142. package/dist/esm/hooks/use-unsaved-changes-dialog.js +136 -0
  143. package/dist/esm/hooks/useObjectState.js +19 -9
  144. package/dist/esm/hooks/useObjectState.test.js +54 -32
  145. package/dist/esm/hooks/useOnClickOutside.js +4 -4
  146. package/dist/esm/hooks/usePrompt.js +9 -11
  147. package/dist/esm/image-upload/index.js +110 -111
  148. package/dist/esm/image-upload/index.test.js +11 -13
  149. package/dist/esm/image-upload/style.scss +12 -40
  150. package/dist/esm/index.js +7 -1
  151. package/dist/esm/info-button/index.js +38 -19
  152. package/dist/esm/integration-icons/active-campaign.js +16 -0
  153. package/dist/esm/integration-icons/constant-contact.js +22 -0
  154. package/dist/esm/integration-icons/fundraise-up.js +19 -0
  155. package/dist/esm/integration-icons/index.js +6 -0
  156. package/dist/esm/integration-icons/mailchimp.js +13 -0
  157. package/dist/esm/integration-icons/salesforce.js +11 -0
  158. package/dist/esm/integration-icons/wisepops.js +14 -0
  159. package/dist/esm/modal/index.js +20 -13
  160. package/dist/esm/modal/style.scss +4 -0
  161. package/dist/esm/newspack-icon/index.js +40 -25
  162. package/dist/esm/notice/index.js +59 -42
  163. package/dist/esm/plugin-installer/index.js +255 -243
  164. package/dist/esm/plugin-settings/SettingsSection.js +61 -50
  165. package/dist/esm/plugin-settings/index.js +212 -189
  166. package/dist/esm/plugin-toggle/index.js +187 -190
  167. package/dist/esm/popover/index.js +35 -16
  168. package/dist/esm/position-control/index.js +22 -18
  169. package/dist/esm/progress-bar/index.js +66 -49
  170. package/dist/esm/progress-bar/index.test.js +61 -67
  171. package/dist/esm/radio-control/index.js +34 -15
  172. package/dist/esm/section-header/index.js +102 -57
  173. package/dist/esm/section-header/style.scss +31 -11
  174. package/dist/esm/select-control/ButtonGroupControl.js +23 -18
  175. package/dist/esm/select-control/GroupedSelectControl.js +38 -30
  176. package/dist/esm/select-control/index.js +47 -27
  177. package/dist/esm/settings/MinMaxSetting.js +27 -16
  178. package/dist/esm/settings/SettingsCard.js +18 -13
  179. package/dist/esm/settings/SettingsSection.js +20 -19
  180. package/dist/esm/settings/index.js +3 -3
  181. package/dist/esm/sortable-newsletter-list-control/index.js +74 -53
  182. package/dist/esm/steps-list/index.js +39 -21
  183. package/dist/esm/steps-list-item/index.js +42 -26
  184. package/dist/esm/style-card/index.js +65 -50
  185. package/dist/esm/tabbed-navigation/index.js +35 -33
  186. package/dist/esm/text-control/index.js +25 -19
  187. package/dist/esm/utils/color.js +4 -4
  188. package/dist/esm/utils/editor-toolbar-back-button.js +53 -0
  189. package/dist/esm/utils/index.js +29 -16
  190. package/dist/esm/utils/style.scss +8 -0
  191. package/dist/esm/waiting/index.js +43 -24
  192. package/dist/esm/web-preview/index.js +213 -201
  193. package/dist/esm/with-wizard/index.js +360 -358
  194. package/dist/esm/with-wizard/style.scss +4 -54
  195. package/dist/esm/with-wizard-screen/index.js +48 -46
  196. package/dist/esm/with-wizard-screen/style.scss +41 -3
  197. package/dist/esm/wizard/components/WizardError.js +18 -16
  198. package/dist/esm/wizard/components/WizardSnackbar.js +23 -17
  199. package/dist/esm/wizard/index.js +171 -103
  200. package/dist/esm/wizard/store/index.js +169 -116
  201. package/dist/esm/wizard/store/utils.js +13 -6
  202. package/package.json +30 -16
  203. package/release.config.js +1 -0
  204. package/shared/hooks/use-coauthors.js +195 -27
  205. package/shared/hooks/use-coauthors.test.js +232 -6
  206. package/shared/scss/_mixins.scss +13 -5
  207. package/src/accordion/index.js +8 -7
  208. package/src/action-card/index.js +15 -1
  209. package/src/badge/index.tsx +3 -1
  210. package/src/card/core-card.js +95 -18
  211. package/src/card/index.js +1 -0
  212. package/src/card/style-core.scss +93 -25
  213. package/src/card/style.scss +2 -2
  214. package/src/card-feature/README.md +188 -0
  215. package/src/card-feature/index.tsx +186 -0
  216. package/src/card-feature/style.scss +75 -0
  217. package/src/card-form/README.md +113 -0
  218. package/src/card-form/index.tsx +128 -0
  219. package/src/card-form/style.scss +20 -0
  220. package/src/card-settings-group/index.tsx +28 -3
  221. package/src/card-sortable-list/index.tsx +27 -4
  222. package/src/color-picker/index.js +15 -8
  223. package/src/color-picker/index.test.js +52 -0
  224. package/src/color-picker/style.scss +11 -13
  225. package/src/confirm-dialog/README.md +128 -0
  226. package/src/confirm-dialog/index.tsx +74 -6
  227. package/src/dataviews/index.tsx +34 -0
  228. package/src/dataviews/style.scss +9 -0
  229. package/src/grid/style.scss +6 -1
  230. package/src/handoff/README.md +93 -0
  231. package/src/handoff/index.js +46 -8
  232. package/src/hooks/index.ts +2 -1
  233. package/src/hooks/use-confirm-dialog.tsx +80 -0
  234. package/src/hooks/use-unsaved-changes-dialog.tsx +140 -0
  235. package/src/image-upload/index.js +10 -15
  236. package/src/image-upload/style.scss +12 -40
  237. package/src/index.js +7 -1
  238. package/src/integration-icons/active-campaign.js +14 -0
  239. package/src/integration-icons/constant-contact.js +22 -0
  240. package/src/integration-icons/fundraise-up.js +18 -0
  241. package/src/integration-icons/index.js +6 -0
  242. package/src/integration-icons/mailchimp.js +10 -0
  243. package/src/integration-icons/salesforce.js +10 -0
  244. package/src/integration-icons/wisepops.js +14 -0
  245. package/src/modal/style.scss +4 -0
  246. package/src/plugin-installer/index.js +30 -19
  247. package/src/section-header/index.js +56 -24
  248. package/src/section-header/style.scss +31 -11
  249. package/src/select-control/index.js +4 -0
  250. package/src/utils/editor-toolbar-back-button.tsx +48 -0
  251. package/src/utils/index.js +6 -0
  252. package/src/utils/style.scss +8 -0
  253. package/src/with-wizard/style.scss +4 -54
  254. package/src/with-wizard-screen/style.scss +41 -3
  255. package/src/wizard/index.js +90 -53
  256. package/src/wizard/store/index.js +2 -2
  257. package/dist/cjs/button-card/index.js +0 -72
  258. package/dist/cjs/button-card/style.scss +0 -180
  259. package/dist/esm/button-card/index.js +0 -64
  260. package/dist/esm/button-card/style.scss +0 -180
  261. package/src/button-card/index.js +0 -52
  262. package/src/button-card/style.scss +0 -180
@@ -4,23 +4,25 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.WIZARD_STORE_NAMESPACE = void 0;
7
+ exports["default"] = exports.WIZARD_STORE_NAMESPACE = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
10
  var _set = _interopRequireDefault(require("lodash/set"));
9
11
  var _get = _interopRequireDefault(require("lodash/get"));
10
12
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
11
13
  var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
12
14
  var _data = require("@wordpress/data");
13
15
  var _utils = require("./utils.js");
14
- /**
16
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
17
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
15
20
  * External dependencies.
16
- */
17
-
18
- /**
21
+ */ /**
19
22
  * WordPress dependencies.
20
23
  */
21
-
22
- const WIZARD_STORE_NAMESPACE = exports.WIZARD_STORE_NAMESPACE = 'newspack/wizards';
23
- const DEFAULT_STATE = {
24
+ var WIZARD_STORE_NAMESPACE = exports.WIZARD_STORE_NAMESPACE = 'newspack/wizards';
25
+ var DEFAULT_STATE = {
24
26
  headerData: {
25
27
  actions: [],
26
28
  backNav: '',
@@ -41,73 +43,69 @@ const DEFAULT_STATE = {
41
43
  * on deep state change (via lodash's set function)
42
44
  * unless the state was cloned first.
43
45
  */
44
- const clone = objectToClone => JSON.parse(JSON.stringify(objectToClone));
45
- const reducer = (state = DEFAULT_STATE, {
46
- type,
47
- payload = {}
48
- }) => {
46
+ var clone = function clone(objectToClone) {
47
+ return JSON.parse(JSON.stringify(objectToClone));
48
+ };
49
+ var reducer = function reducer() {
50
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
51
+ var _ref = arguments.length > 1 ? arguments[1] : undefined,
52
+ type = _ref.type,
53
+ _ref$payload = _ref.payload,
54
+ payload = _ref$payload === void 0 ? {} : _ref$payload;
49
55
  switch (type) {
50
56
  case 'SET_HEADER_DATA':
51
- return {
52
- ...state,
53
- headerData: {
54
- ...state.headerData,
55
- ...payload
56
- }
57
- };
57
+ return _objectSpread(_objectSpread({}, state), {}, {
58
+ headerData: _objectSpread(_objectSpread({}, state.headerData), payload)
59
+ });
58
60
  case 'RESET_HEADER_DATA':
59
- return {
60
- ...state,
61
- headerData: {
62
- ...DEFAULT_STATE.headerData
63
- }
64
- };
61
+ return _objectSpread(_objectSpread({}, state), {}, {
62
+ headerData: _objectSpread({}, DEFAULT_STATE.headerData)
63
+ });
65
64
  case 'START_LOADING_DATA':
66
65
  if (payload.isQuietLoading) {
67
- return {
68
- ...state,
66
+ return _objectSpread(_objectSpread({}, state), {}, {
69
67
  isQuietLoading: true
70
- };
68
+ });
71
69
  }
72
- return {
73
- ...state,
70
+ return _objectSpread(_objectSpread({}, state), {}, {
74
71
  isLoading: true
75
- };
72
+ });
76
73
  case 'FINISH_LOADING_DATA':
77
- return {
78
- ...state,
74
+ return _objectSpread(_objectSpread({}, state), {}, {
79
75
  isLoading: false,
80
76
  isQuietLoading: false
81
- };
77
+ });
82
78
  case 'SET_API_DATA':
83
- return (0, _set.default)(clone(state), ['apiData', payload.slug], payload.data);
79
+ return _objectSpread(_objectSpread({}, state), {}, {
80
+ apiData: (0, _set["default"])(clone(state.apiData), [payload.slug], payload.data)
81
+ });
84
82
  case 'UPDATE_WIZARD_SETTINGS':
85
- return (0, _set.default)(clone(state), ['apiData', payload.slug, ...payload.path], payload.value);
83
+ return _objectSpread(_objectSpread({}, state), {}, {
84
+ apiData: (0, _set["default"])(clone(state.apiData), [payload.slug].concat((0, _toConsumableArray2["default"])(payload.path)), payload.value)
85
+ });
86
86
  case 'ADD_NOTICE':
87
- return {
88
- ...state,
89
- notices: [...state.notices, payload]
90
- };
87
+ return _objectSpread(_objectSpread({}, state), {}, {
88
+ notices: [].concat((0, _toConsumableArray2["default"])(state.notices), [payload])
89
+ });
91
90
  case 'REMOVE_NOTICE':
92
- return {
93
- ...state,
94
- notices: state.notices.filter(notice => notice.id !== payload)
95
- };
91
+ return _objectSpread(_objectSpread({}, state), {}, {
92
+ notices: state.notices.filter(function (notice) {
93
+ return notice.id !== payload;
94
+ })
95
+ });
96
96
  case 'SET_ERROR':
97
- return {
98
- ...state,
97
+ return _objectSpread(_objectSpread({}, state), {}, {
99
98
  error: payload
100
- };
99
+ });
101
100
  case 'RESET_NOTICES':
102
- return {
103
- ...state,
101
+ return _objectSpread(_objectSpread({}, state), {}, {
104
102
  notices: DEFAULT_STATE.notices
105
- };
103
+ });
106
104
  default:
107
105
  return state;
108
106
  }
109
107
  };
110
- const actions = {
108
+ var actions = {
111
109
  // Regular actions.
112
110
  setHeaderData: (0, _utils.createAction)('SET_HEADER_DATA'),
113
111
  resetHeaderData: (0, _utils.createAction)('RESET_HEADER_DATA'),
@@ -121,98 +119,148 @@ const actions = {
121
119
  resetNotices: (0, _utils.createAction)('RESET_NOTICES'),
122
120
  setError: (0, _utils.createAction)('SET_ERROR'),
123
121
  // Async actions. These will not show up in Redux devtools.
124
- *saveWizardSettings({
125
- slug,
126
- section = '',
127
- payloadPath = false,
128
- auxData = {},
129
- updatePayload = null
130
- }) {
131
- // Optionally data can be updated before saving - an immediate update case
132
- // (without an explicit "save" action).
133
- if (updatePayload) {
134
- yield actions.updateWizardSettings({
135
- slug,
136
- ...updatePayload
137
- });
138
- }
139
- const wizardState = (0, _data.select)(WIZARD_STORE_NAMESPACE).getWizardAPIData(slug);
140
- const data = payloadPath ? (0, _get.default)(wizardState, payloadPath) : wizardState;
141
- const updatedData = yield actions.fetchFromAPI({
142
- path: `/newspack/v1/wizard/${slug}/${section}`,
143
- method: 'POST',
144
- data: {
145
- ...data,
146
- ...auxData
147
- },
148
- isQuietFetch: true
149
- });
150
- if (!(0, _isEmpty.default)(updatedData) && !updatedData.error) {
151
- return actions.setAPIDataForWizard({
152
- slug,
153
- data: updatedData
154
- });
155
- }
122
+ saveWizardSettings: function saveWizardSettings(_ref2) {
123
+ var slug = _ref2.slug,
124
+ _ref2$section = _ref2.section,
125
+ section = _ref2$section === void 0 ? '' : _ref2$section,
126
+ _ref2$payloadPath = _ref2.payloadPath,
127
+ payloadPath = _ref2$payloadPath === void 0 ? false : _ref2$payloadPath,
128
+ _ref2$auxData = _ref2.auxData,
129
+ auxData = _ref2$auxData === void 0 ? {} : _ref2$auxData,
130
+ _ref2$updatePayload = _ref2.updatePayload,
131
+ updatePayload = _ref2$updatePayload === void 0 ? null : _ref2$updatePayload;
132
+ return /*#__PURE__*/_regenerator().m(function _callee() {
133
+ var wizardState, data, updatedData;
134
+ return _regenerator().w(function (_context) {
135
+ while (1) switch (_context.n) {
136
+ case 0:
137
+ if (!updatePayload) {
138
+ _context.n = 1;
139
+ break;
140
+ }
141
+ _context.n = 1;
142
+ return actions.updateWizardSettings(_objectSpread({
143
+ slug: slug
144
+ }, updatePayload));
145
+ case 1:
146
+ wizardState = (0, _data.select)(WIZARD_STORE_NAMESPACE).getWizardAPIData(slug);
147
+ data = payloadPath ? (0, _get["default"])(wizardState, payloadPath) : wizardState;
148
+ _context.n = 2;
149
+ return actions.fetchFromAPI({
150
+ path: "/newspack/v1/wizard/".concat(slug, "/").concat(section),
151
+ method: 'POST',
152
+ data: _objectSpread(_objectSpread({}, data), auxData),
153
+ isQuietFetch: true
154
+ });
155
+ case 2:
156
+ updatedData = _context.v;
157
+ if (!(!(0, _isEmpty["default"])(updatedData) && !updatedData.error)) {
158
+ _context.n = 3;
159
+ break;
160
+ }
161
+ return _context.a(2, actions.setAPIDataForWizard({
162
+ slug: slug,
163
+ data: updatedData
164
+ }));
165
+ case 3:
166
+ return _context.a(2);
167
+ }
168
+ }, _callee);
169
+ })();
156
170
  },
157
- *wizardApiFetch(fetchConfig) {
158
- // Just a proxy to fetchFromAPI, but it has to be a generator.
159
- const result = yield actions.fetchFromAPI(fetchConfig);
160
- return result;
161
- }
171
+ wizardApiFetch: /*#__PURE__*/_regenerator().m(function wizardApiFetch(fetchConfig) {
172
+ var result;
173
+ return _regenerator().w(function (_context2) {
174
+ while (1) switch (_context2.n) {
175
+ case 0:
176
+ _context2.n = 1;
177
+ return actions.fetchFromAPI(fetchConfig);
178
+ case 1:
179
+ result = _context2.v;
180
+ return _context2.a(2, result);
181
+ }
182
+ }, wizardApiFetch);
183
+ })
162
184
  };
163
- const selectors = {
164
- getHeaderData: state => state.headerData,
165
- isLoading: state => state.isLoading,
166
- isQuietLoading: state => state.isQuietLoading,
167
- getWizardAPIData: (state, slug) => state.apiData[slug] || {},
168
- getWizardData: (state, slug) => {
185
+ var selectors = {
186
+ getHeaderData: function getHeaderData(state) {
187
+ return state.headerData;
188
+ },
189
+ isLoading: function isLoading(state) {
190
+ return state.isLoading;
191
+ },
192
+ isQuietLoading: function isQuietLoading(state) {
193
+ return state.isQuietLoading;
194
+ },
195
+ getWizardAPIData: function getWizardAPIData(state, slug) {
196
+ return state.apiData[slug] || {};
197
+ },
198
+ getWizardData: function getWizardData(state, slug) {
169
199
  var _state$apiData$slug;
170
200
  return (_state$apiData$slug = state.apiData[slug]) !== null && _state$apiData$slug !== void 0 ? _state$apiData$slug : {};
171
201
  },
172
- getNotices: state => state.notices,
173
- getError: state => state.error
202
+ getNotices: function getNotices(state) {
203
+ return state.notices;
204
+ },
205
+ getError: function getError(state) {
206
+ return state.error;
207
+ }
174
208
  };
175
- const store = (0, _data.createReduxStore)(WIZARD_STORE_NAMESPACE, {
176
- reducer,
177
- actions,
178
- selectors,
209
+ var store = (0, _data.createReduxStore)(WIZARD_STORE_NAMESPACE, {
210
+ reducer: reducer,
211
+ actions: actions,
212
+ selectors: selectors,
179
213
  controls: {
180
- FETCH_FROM_API: action => {
181
- const {
182
- isLocalError = false,
183
- isQuietFetch = false
184
- } = action.payload;
214
+ FETCH_FROM_API: function FETCH_FROM_API(action) {
215
+ var _action$payload = action.payload,
216
+ _action$payload$isLoc = _action$payload.isLocalError,
217
+ isLocalError = _action$payload$isLoc === void 0 ? false : _action$payload$isLoc,
218
+ _action$payload$isQui = _action$payload.isQuietFetch,
219
+ isQuietFetch = _action$payload$isQui === void 0 ? false : _action$payload$isQui;
185
220
  (0, _data.dispatch)(WIZARD_STORE_NAMESPACE).startLoadingData({
186
221
  isQuietLoading: Boolean(isQuietFetch)
187
222
  });
188
- return (0, _apiFetch.default)(action.payload).then(data => {
223
+ return (0, _apiFetch["default"])(action.payload).then(function (data) {
189
224
  (0, _data.dispatch)(WIZARD_STORE_NAMESPACE).setError(null);
190
225
  return data;
191
- }).catch(error => {
226
+ })["catch"](function (error) {
192
227
  if (isLocalError) {
193
228
  throw error;
194
229
  }
195
230
  (0, _data.dispatch)(WIZARD_STORE_NAMESPACE).setError(error);
196
- }).finally(result => {
231
+ })["finally"](function (result) {
197
232
  (0, _data.dispatch)(WIZARD_STORE_NAMESPACE).finishLoadingData();
198
233
  return result;
199
234
  });
200
235
  }
201
236
  },
202
237
  resolvers: {
203
- *getWizardAPIData(slug) {
204
- if (slug) {
205
- const data = yield actions.fetchFromAPI({
206
- path: `/newspack/v1/wizard/${slug}`
207
- });
208
- return actions.setAPIDataForWizard({
209
- slug,
210
- data
211
- });
212
- }
213
- return actions.finishLoadingData();
214
- }
238
+ getWizardAPIData: /*#__PURE__*/_regenerator().m(function getWizardAPIData(slug) {
239
+ var data;
240
+ return _regenerator().w(function (_context3) {
241
+ while (1) switch (_context3.n) {
242
+ case 0:
243
+ if (!slug) {
244
+ _context3.n = 2;
245
+ break;
246
+ }
247
+ _context3.n = 1;
248
+ return actions.fetchFromAPI({
249
+ path: "/newspack/v1/wizard/".concat(slug)
250
+ });
251
+ case 1:
252
+ data = _context3.v;
253
+ return _context3.a(2, actions.setAPIDataForWizard({
254
+ slug: slug,
255
+ data: data
256
+ }));
257
+ case 2:
258
+ return _context3.a(2, actions.finishLoadingData());
259
+ }
260
+ }, getWizardAPIData);
261
+ })
215
262
  }
216
263
  });
217
- var _default = () => (0, _data.register)(store);
218
- exports.default = _default;
264
+ var _default = exports["default"] = function _default() {
265
+ return (0, _data.register)(store);
266
+ };
@@ -14,12 +14,17 @@ var _ = require(".");
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
- const createAction = type => payload => ({
18
- type,
19
- payload
20
- });
21
- exports.createAction = createAction;
22
- const useWizardData = (wizardName, defaultValue = {}) => {
23
- return (0, _data.useSelect)(select => select(_.WIZARD_STORE_NAMESPACE).getWizardAPIData(wizardName)) || defaultValue;
17
+ var createAction = exports.createAction = function createAction(type) {
18
+ return function (payload) {
19
+ return {
20
+ type: type,
21
+ payload: payload
22
+ };
23
+ };
24
24
  };
25
- exports.useWizardData = useWizardData;
25
+ var useWizardData = exports.useWizardData = function useWizardData(wizardName) {
26
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27
+ return (0, _data.useSelect)(function (select) {
28
+ return select(_.WIZARD_STORE_NAMESPACE).getWizardAPIData(wizardName);
29
+ }) || defaultValue;
30
+ };
@@ -1,6 +1,4 @@
1
- /* eslint-disable jsx-a11y/click-events-have-key-events */
2
- /* eslint-disable jsx-a11y/no-static-element-interactions */
3
-
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
2
  /**
5
3
  * WordPress dependencies
6
4
  */
@@ -17,17 +15,24 @@ import classNames from 'classnames';
17
15
  */
18
16
  import './style.scss';
19
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- const Accordion = ({
21
- children,
22
- title
23
- }) => {
24
- const [isOpen, setIsOpen] = useState(false);
18
+ var Accordion = function Accordion(_ref) {
19
+ var children = _ref.children,
20
+ title = _ref.title,
21
+ _ref$defaultOpen = _ref.defaultOpen,
22
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen;
23
+ var _useState = useState(defaultOpen),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ isOpen = _useState2[0],
26
+ setIsOpen = _useState2[1];
25
27
  return /*#__PURE__*/_jsxs("details", {
26
28
  className: classNames('newspack-accordion', {
27
29
  'newspack-accordion--is-open': isOpen
28
30
  }),
31
+ open: isOpen,
32
+ onToggle: function onToggle(e) {
33
+ return setIsOpen(e.currentTarget.open);
34
+ },
29
35
  children: [/*#__PURE__*/_jsxs("summary", {
30
- onClick: () => setIsOpen(!isOpen),
31
36
  children: [title, /*#__PURE__*/_jsx(Icon, {
32
37
  className: "newspack-accordion__icon",
33
38
  icon: chevronRight,