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
@@ -1,3 +1,9 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ 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 }; })(); }
4
+ 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); }
5
+ 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; }
6
+ 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) { _defineProperty(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; }
1
7
  /**
2
8
  * External dependencies.
3
9
  */
@@ -11,8 +17,8 @@ import isEmpty from 'lodash/isEmpty';
11
17
  import apiFetch from '@wordpress/api-fetch';
12
18
  import { createReduxStore, register, dispatch, select } from '@wordpress/data';
13
19
  import { createAction } from './utils.js';
14
- export const WIZARD_STORE_NAMESPACE = 'newspack/wizards';
15
- const DEFAULT_STATE = {
20
+ export var WIZARD_STORE_NAMESPACE = 'newspack/wizards';
21
+ var DEFAULT_STATE = {
16
22
  headerData: {
17
23
  actions: [],
18
24
  backNav: '',
@@ -33,73 +39,69 @@ const DEFAULT_STATE = {
33
39
  * on deep state change (via lodash's set function)
34
40
  * unless the state was cloned first.
35
41
  */
36
- const clone = objectToClone => JSON.parse(JSON.stringify(objectToClone));
37
- const reducer = (state = DEFAULT_STATE, {
38
- type,
39
- payload = {}
40
- }) => {
42
+ var clone = function clone(objectToClone) {
43
+ return JSON.parse(JSON.stringify(objectToClone));
44
+ };
45
+ var reducer = function reducer() {
46
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
47
+ var _ref = arguments.length > 1 ? arguments[1] : undefined,
48
+ type = _ref.type,
49
+ _ref$payload = _ref.payload,
50
+ payload = _ref$payload === void 0 ? {} : _ref$payload;
41
51
  switch (type) {
42
52
  case 'SET_HEADER_DATA':
43
- return {
44
- ...state,
45
- headerData: {
46
- ...state.headerData,
47
- ...payload
48
- }
49
- };
53
+ return _objectSpread(_objectSpread({}, state), {}, {
54
+ headerData: _objectSpread(_objectSpread({}, state.headerData), payload)
55
+ });
50
56
  case 'RESET_HEADER_DATA':
51
- return {
52
- ...state,
53
- headerData: {
54
- ...DEFAULT_STATE.headerData
55
- }
56
- };
57
+ return _objectSpread(_objectSpread({}, state), {}, {
58
+ headerData: _objectSpread({}, DEFAULT_STATE.headerData)
59
+ });
57
60
  case 'START_LOADING_DATA':
58
61
  if (payload.isQuietLoading) {
59
- return {
60
- ...state,
62
+ return _objectSpread(_objectSpread({}, state), {}, {
61
63
  isQuietLoading: true
62
- };
64
+ });
63
65
  }
64
- return {
65
- ...state,
66
+ return _objectSpread(_objectSpread({}, state), {}, {
66
67
  isLoading: true
67
- };
68
+ });
68
69
  case 'FINISH_LOADING_DATA':
69
- return {
70
- ...state,
70
+ return _objectSpread(_objectSpread({}, state), {}, {
71
71
  isLoading: false,
72
72
  isQuietLoading: false
73
- };
73
+ });
74
74
  case 'SET_API_DATA':
75
- return set(clone(state), ['apiData', payload.slug], payload.data);
75
+ return _objectSpread(_objectSpread({}, state), {}, {
76
+ apiData: set(clone(state.apiData), [payload.slug], payload.data)
77
+ });
76
78
  case 'UPDATE_WIZARD_SETTINGS':
77
- return set(clone(state), ['apiData', payload.slug, ...payload.path], payload.value);
79
+ return _objectSpread(_objectSpread({}, state), {}, {
80
+ apiData: set(clone(state.apiData), [payload.slug].concat(_toConsumableArray(payload.path)), payload.value)
81
+ });
78
82
  case 'ADD_NOTICE':
79
- return {
80
- ...state,
81
- notices: [...state.notices, payload]
82
- };
83
+ return _objectSpread(_objectSpread({}, state), {}, {
84
+ notices: [].concat(_toConsumableArray(state.notices), [payload])
85
+ });
83
86
  case 'REMOVE_NOTICE':
84
- return {
85
- ...state,
86
- notices: state.notices.filter(notice => notice.id !== payload)
87
- };
87
+ return _objectSpread(_objectSpread({}, state), {}, {
88
+ notices: state.notices.filter(function (notice) {
89
+ return notice.id !== payload;
90
+ })
91
+ });
88
92
  case 'SET_ERROR':
89
- return {
90
- ...state,
93
+ return _objectSpread(_objectSpread({}, state), {}, {
91
94
  error: payload
92
- };
95
+ });
93
96
  case 'RESET_NOTICES':
94
- return {
95
- ...state,
97
+ return _objectSpread(_objectSpread({}, state), {}, {
96
98
  notices: DEFAULT_STATE.notices
97
- };
99
+ });
98
100
  default:
99
101
  return state;
100
102
  }
101
103
  };
102
- const actions = {
104
+ var actions = {
103
105
  // Regular actions.
104
106
  setHeaderData: createAction('SET_HEADER_DATA'),
105
107
  resetHeaderData: createAction('RESET_HEADER_DATA'),
@@ -113,97 +115,148 @@ const actions = {
113
115
  resetNotices: createAction('RESET_NOTICES'),
114
116
  setError: createAction('SET_ERROR'),
115
117
  // Async actions. These will not show up in Redux devtools.
116
- *saveWizardSettings({
117
- slug,
118
- section = '',
119
- payloadPath = false,
120
- auxData = {},
121
- updatePayload = null
122
- }) {
123
- // Optionally data can be updated before saving - an immediate update case
124
- // (without an explicit "save" action).
125
- if (updatePayload) {
126
- yield actions.updateWizardSettings({
127
- slug,
128
- ...updatePayload
129
- });
130
- }
131
- const wizardState = select(WIZARD_STORE_NAMESPACE).getWizardAPIData(slug);
132
- const data = payloadPath ? get(wizardState, payloadPath) : wizardState;
133
- const updatedData = yield actions.fetchFromAPI({
134
- path: `/newspack/v1/wizard/${slug}/${section}`,
135
- method: 'POST',
136
- data: {
137
- ...data,
138
- ...auxData
139
- },
140
- isQuietFetch: true
141
- });
142
- if (!isEmpty(updatedData) && !updatedData.error) {
143
- return actions.setAPIDataForWizard({
144
- slug,
145
- data: updatedData
146
- });
147
- }
118
+ saveWizardSettings: function saveWizardSettings(_ref2) {
119
+ var slug = _ref2.slug,
120
+ _ref2$section = _ref2.section,
121
+ section = _ref2$section === void 0 ? '' : _ref2$section,
122
+ _ref2$payloadPath = _ref2.payloadPath,
123
+ payloadPath = _ref2$payloadPath === void 0 ? false : _ref2$payloadPath,
124
+ _ref2$auxData = _ref2.auxData,
125
+ auxData = _ref2$auxData === void 0 ? {} : _ref2$auxData,
126
+ _ref2$updatePayload = _ref2.updatePayload,
127
+ updatePayload = _ref2$updatePayload === void 0 ? null : _ref2$updatePayload;
128
+ return /*#__PURE__*/_regenerator().m(function _callee() {
129
+ var wizardState, data, updatedData;
130
+ return _regenerator().w(function (_context) {
131
+ while (1) switch (_context.n) {
132
+ case 0:
133
+ if (!updatePayload) {
134
+ _context.n = 1;
135
+ break;
136
+ }
137
+ _context.n = 1;
138
+ return actions.updateWizardSettings(_objectSpread({
139
+ slug: slug
140
+ }, updatePayload));
141
+ case 1:
142
+ wizardState = select(WIZARD_STORE_NAMESPACE).getWizardAPIData(slug);
143
+ data = payloadPath ? get(wizardState, payloadPath) : wizardState;
144
+ _context.n = 2;
145
+ return actions.fetchFromAPI({
146
+ path: "/newspack/v1/wizard/".concat(slug, "/").concat(section),
147
+ method: 'POST',
148
+ data: _objectSpread(_objectSpread({}, data), auxData),
149
+ isQuietFetch: true
150
+ });
151
+ case 2:
152
+ updatedData = _context.v;
153
+ if (!(!isEmpty(updatedData) && !updatedData.error)) {
154
+ _context.n = 3;
155
+ break;
156
+ }
157
+ return _context.a(2, actions.setAPIDataForWizard({
158
+ slug: slug,
159
+ data: updatedData
160
+ }));
161
+ case 3:
162
+ return _context.a(2);
163
+ }
164
+ }, _callee);
165
+ })();
148
166
  },
149
- *wizardApiFetch(fetchConfig) {
150
- // Just a proxy to fetchFromAPI, but it has to be a generator.
151
- const result = yield actions.fetchFromAPI(fetchConfig);
152
- return result;
153
- }
167
+ wizardApiFetch: /*#__PURE__*/_regenerator().m(function wizardApiFetch(fetchConfig) {
168
+ var result;
169
+ return _regenerator().w(function (_context2) {
170
+ while (1) switch (_context2.n) {
171
+ case 0:
172
+ _context2.n = 1;
173
+ return actions.fetchFromAPI(fetchConfig);
174
+ case 1:
175
+ result = _context2.v;
176
+ return _context2.a(2, result);
177
+ }
178
+ }, wizardApiFetch);
179
+ })
154
180
  };
155
- const selectors = {
156
- getHeaderData: state => state.headerData,
157
- isLoading: state => state.isLoading,
158
- isQuietLoading: state => state.isQuietLoading,
159
- getWizardAPIData: (state, slug) => state.apiData[slug] || {},
160
- getWizardData: (state, slug) => {
181
+ var selectors = {
182
+ getHeaderData: function getHeaderData(state) {
183
+ return state.headerData;
184
+ },
185
+ isLoading: function isLoading(state) {
186
+ return state.isLoading;
187
+ },
188
+ isQuietLoading: function isQuietLoading(state) {
189
+ return state.isQuietLoading;
190
+ },
191
+ getWizardAPIData: function getWizardAPIData(state, slug) {
192
+ return state.apiData[slug] || {};
193
+ },
194
+ getWizardData: function getWizardData(state, slug) {
161
195
  var _state$apiData$slug;
162
196
  return (_state$apiData$slug = state.apiData[slug]) !== null && _state$apiData$slug !== void 0 ? _state$apiData$slug : {};
163
197
  },
164
- getNotices: state => state.notices,
165
- getError: state => state.error
198
+ getNotices: function getNotices(state) {
199
+ return state.notices;
200
+ },
201
+ getError: function getError(state) {
202
+ return state.error;
203
+ }
166
204
  };
167
- const store = createReduxStore(WIZARD_STORE_NAMESPACE, {
168
- reducer,
169
- actions,
170
- selectors,
205
+ var store = createReduxStore(WIZARD_STORE_NAMESPACE, {
206
+ reducer: reducer,
207
+ actions: actions,
208
+ selectors: selectors,
171
209
  controls: {
172
- FETCH_FROM_API: action => {
173
- const {
174
- isLocalError = false,
175
- isQuietFetch = false
176
- } = action.payload;
210
+ FETCH_FROM_API: function FETCH_FROM_API(action) {
211
+ var _action$payload = action.payload,
212
+ _action$payload$isLoc = _action$payload.isLocalError,
213
+ isLocalError = _action$payload$isLoc === void 0 ? false : _action$payload$isLoc,
214
+ _action$payload$isQui = _action$payload.isQuietFetch,
215
+ isQuietFetch = _action$payload$isQui === void 0 ? false : _action$payload$isQui;
177
216
  dispatch(WIZARD_STORE_NAMESPACE).startLoadingData({
178
217
  isQuietLoading: Boolean(isQuietFetch)
179
218
  });
180
- return apiFetch(action.payload).then(data => {
219
+ return apiFetch(action.payload).then(function (data) {
181
220
  dispatch(WIZARD_STORE_NAMESPACE).setError(null);
182
221
  return data;
183
- }).catch(error => {
222
+ })["catch"](function (error) {
184
223
  if (isLocalError) {
185
224
  throw error;
186
225
  }
187
226
  dispatch(WIZARD_STORE_NAMESPACE).setError(error);
188
- }).finally(result => {
227
+ })["finally"](function (result) {
189
228
  dispatch(WIZARD_STORE_NAMESPACE).finishLoadingData();
190
229
  return result;
191
230
  });
192
231
  }
193
232
  },
194
233
  resolvers: {
195
- *getWizardAPIData(slug) {
196
- if (slug) {
197
- const data = yield actions.fetchFromAPI({
198
- path: `/newspack/v1/wizard/${slug}`
199
- });
200
- return actions.setAPIDataForWizard({
201
- slug,
202
- data
203
- });
204
- }
205
- return actions.finishLoadingData();
206
- }
234
+ getWizardAPIData: /*#__PURE__*/_regenerator().m(function getWizardAPIData(slug) {
235
+ var data;
236
+ return _regenerator().w(function (_context3) {
237
+ while (1) switch (_context3.n) {
238
+ case 0:
239
+ if (!slug) {
240
+ _context3.n = 2;
241
+ break;
242
+ }
243
+ _context3.n = 1;
244
+ return actions.fetchFromAPI({
245
+ path: "/newspack/v1/wizard/".concat(slug)
246
+ });
247
+ case 1:
248
+ data = _context3.v;
249
+ return _context3.a(2, actions.setAPIDataForWizard({
250
+ slug: slug,
251
+ data: data
252
+ }));
253
+ case 2:
254
+ return _context3.a(2, actions.finishLoadingData());
255
+ }
256
+ }, getWizardAPIData);
257
+ })
207
258
  }
208
259
  });
209
- export default () => register(store);
260
+ export default (function () {
261
+ return register(store);
262
+ });
@@ -7,10 +7,17 @@ import { useSelect } from '@wordpress/data';
7
7
  * Internal dependencies
8
8
  */
9
9
  import { WIZARD_STORE_NAMESPACE } from '.';
10
- export const createAction = type => payload => ({
11
- type,
12
- payload
13
- });
14
- export const useWizardData = (wizardName, defaultValue = {}) => {
15
- return useSelect(select => select(WIZARD_STORE_NAMESPACE).getWizardAPIData(wizardName)) || defaultValue;
10
+ export var createAction = function createAction(type) {
11
+ return function (payload) {
12
+ return {
13
+ type: type,
14
+ payload: payload
15
+ };
16
+ };
17
+ };
18
+ export var useWizardData = function useWizardData(wizardName) {
19
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
20
+ return useSelect(function (select) {
21
+ return select(WIZARD_STORE_NAMESPACE).getWizardAPIData(wizardName);
22
+ }) || defaultValue;
16
23
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "newspack-components",
3
- "version": "4.3.0",
3
+ "version": "4.4.0-epic-editor-refactor.1",
4
4
  "description": "Newspack design system components",
5
5
  "author": "Automattic",
6
6
  "license": "GPL-2.0-or-later",
@@ -15,31 +15,44 @@
15
15
  "homepage": "https://github.com/Automattic/newspack-plugin",
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "https://github.com/Automattic/newspack-plugin.git",
19
- "directory": "src/components"
18
+ "url": "git+https://github.com/Automattic/newspack-workspace.git",
19
+ "directory": "packages/components"
20
20
  },
21
21
  "main": "dist/esm/index.js",
22
22
  "publishConfig": {
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@wordpress/base-styles": "^6.0.0",
27
- "@wordpress/components": "^32.0.0",
28
- "@wordpress/element": "^6.0.0",
29
- "@wordpress/i18n": "^6.0.0",
30
- "@wordpress/icons": "^11.0.0",
31
26
  "classnames": "^2.3.1",
32
27
  "lodash": "^4.17.21",
33
28
  "moment-range": "^3.1.1",
34
- "qs": "^6.10.1",
35
- "react-router-dom": "^5.3.4"
29
+ "qs": "^6.15.2",
30
+ "react-router-dom": "^5.3.4",
31
+ "@babel/runtime": "^7.29.7",
32
+ "colord": "^2.9.0"
33
+ },
34
+ "peerDependencies": {
35
+ "@wordpress/api-fetch": "^7.48.0",
36
+ "@wordpress/base-styles": "^6.9.0",
37
+ "@wordpress/components": "^30.6.0",
38
+ "@wordpress/compose": "^7.33.0",
39
+ "@wordpress/data": "^10.48.0",
40
+ "@wordpress/dataviews": "^10.2.0",
41
+ "@wordpress/dom-ready": "^4.48.0",
42
+ "@wordpress/element": "^6.33.0",
43
+ "@wordpress/hooks": "^4.48.0",
44
+ "@wordpress/html-entities": "^4.48.0",
45
+ "@wordpress/i18n": "^6.21.0",
46
+ "@wordpress/icons": "^11.0.0",
47
+ "@wordpress/keycodes": "^4.48.0",
48
+ "@wordpress/url": "^4.48.0"
36
49
  },
37
50
  "devDependencies": {
38
- "@babel/cli": "^7.24.0",
39
- "@babel/core": "^7.24.0",
40
- "@babel/preset-env": "^7.24.7",
41
- "@babel/preset-react": "^7.24.7",
42
- "@babel/preset-typescript": "^7.24.7",
51
+ "@babel/cli": "^7.29.7",
52
+ "@babel/core": "^7.29.7",
53
+ "@babel/preset-env": "^7.29.7",
54
+ "@babel/preset-react": "^7.29.7",
55
+ "@babel/preset-typescript": "^7.29.7",
43
56
  "recursive-copy": "^2.0.0"
44
57
  },
45
58
  "babel": {
@@ -55,6 +68,7 @@
55
68
  "compile:esm": "babel src --extensions='.js,.jsx,.ts,.tsx' --out-dir dist/esm",
56
69
  "compile": "npm run compile:cjs && npm run compile:esm",
57
70
  "prepublishOnly": "npm run clean && npm run compile && node copy-styles.js",
58
- "postpublish": "npm run clean"
71
+ "postpublish": "npm run clean",
72
+ "build": "npm run clean && npm run compile && node copy-styles.js"
59
73
  }
60
74
  }
@@ -0,0 +1 @@
1
+ module.exports = require( '../../config/release-package' );