newspack-components 4.3.0 → 4.4.0-alpha.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 (263) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/DEVELOPMENT.md +868 -0
  3. package/colors/colors.module.scss +52 -2
  4. package/copy-styles.js +3 -2
  5. package/dist/cjs/accordion/index.js +17 -12
  6. package/dist/cjs/action-card/index.js +176 -139
  7. package/dist/cjs/autocomplete-tokenfield/index.js +254 -234
  8. package/dist/cjs/autocomplete-with-latest-posts/index.js +172 -110
  9. package/dist/cjs/autocomplete-with-suggestions/index.js +229 -126
  10. package/dist/cjs/badge/index.js +7 -7
  11. package/dist/cjs/box-contrast/index.js +19 -15
  12. package/dist/cjs/button/index.js +41 -26
  13. package/dist/cjs/button-props/button-props.js +5 -5
  14. package/dist/cjs/button-props/index.js +2 -2
  15. package/dist/cjs/card/core-card.js +110 -52
  16. package/dist/cjs/card/index.js +74 -67
  17. package/dist/cjs/card/style-core.scss +93 -25
  18. package/dist/cjs/card/style.scss +2 -2
  19. package/dist/cjs/card-feature/index.js +141 -0
  20. package/dist/cjs/card-feature/style.scss +75 -0
  21. package/dist/cjs/card-form/index.js +144 -0
  22. package/dist/cjs/card-form/style.scss +20 -0
  23. package/dist/cjs/card-settings-group/index.js +36 -16
  24. package/dist/cjs/card-sortable-list/index.js +176 -140
  25. package/dist/cjs/category-autocomplete/index.js +175 -155
  26. package/dist/cjs/color-picker/index.js +41 -23
  27. package/dist/cjs/color-picker/index.test.js +82 -0
  28. package/dist/cjs/color-picker/style.scss +11 -13
  29. package/dist/cjs/confirm-dialog/index.js +86 -22
  30. package/dist/cjs/consts.js +1 -1
  31. package/dist/cjs/custom-select-control/index.js +39 -28
  32. package/dist/cjs/dataviews/index.js +38 -0
  33. package/dist/cjs/dataviews/style.scss +9 -0
  34. package/dist/cjs/divider/index.js +26 -21
  35. package/dist/cjs/footer/index.js +36 -30
  36. package/dist/cjs/form-token-field/index.js +51 -40
  37. package/dist/cjs/global-notices/index.js +5 -5
  38. package/dist/cjs/grid/index.js +25 -19
  39. package/dist/cjs/grid/style.scss +6 -1
  40. package/dist/cjs/handoff/index.js +204 -156
  41. package/dist/cjs/handoff-message/index.js +12 -7
  42. package/dist/cjs/hooks/index.js +10 -8
  43. package/dist/cjs/hooks/use-confirm-dialog.js +79 -0
  44. package/dist/cjs/hooks/use-unsaved-changes-dialog.js +144 -0
  45. package/dist/cjs/hooks/useObjectState.js +21 -12
  46. package/dist/cjs/hooks/useObjectState.test.js +55 -33
  47. package/dist/cjs/hooks/useOnClickOutside.js +6 -6
  48. package/dist/cjs/hooks/usePrompt.js +10 -13
  49. package/dist/cjs/image-upload/index.js +114 -123
  50. package/dist/cjs/image-upload/index.test.js +11 -13
  51. package/dist/cjs/image-upload/style.scss +12 -40
  52. package/dist/cjs/index.js +136 -104
  53. package/dist/cjs/info-button/index.js +43 -32
  54. package/dist/cjs/integration-icons/active-campaign.js +22 -0
  55. package/dist/cjs/integration-icons/constant-contact.js +28 -0
  56. package/dist/cjs/integration-icons/fundraise-up.js +25 -0
  57. package/dist/cjs/integration-icons/index.js +48 -0
  58. package/dist/cjs/integration-icons/mailchimp.js +19 -0
  59. package/dist/cjs/integration-icons/salesforce.js +17 -0
  60. package/dist/cjs/integration-icons/wisepops.js +20 -0
  61. package/dist/cjs/modal/index.js +22 -19
  62. package/dist/cjs/modal/style.scss +4 -0
  63. package/dist/cjs/newspack-icon/index.js +45 -38
  64. package/dist/cjs/notice/index.js +64 -55
  65. package/dist/cjs/plugin-installer/index.js +259 -253
  66. package/dist/cjs/plugin-settings/SettingsSection.js +66 -60
  67. package/dist/cjs/plugin-settings/index.js +217 -200
  68. package/dist/cjs/plugin-toggle/index.js +192 -199
  69. package/dist/cjs/popover/index.js +41 -28
  70. package/dist/cjs/position-control/index.js +24 -23
  71. package/dist/cjs/progress-bar/index.js +71 -59
  72. package/dist/cjs/progress-bar/index.test.js +62 -68
  73. package/dist/cjs/proxied-imports/router.js +3 -3
  74. package/dist/cjs/radio-control/index.js +40 -27
  75. package/dist/cjs/section-header/index.js +103 -58
  76. package/dist/cjs/section-header/style.scss +31 -11
  77. package/dist/cjs/select-control/ButtonGroupControl.js +26 -21
  78. package/dist/cjs/select-control/GroupedSelectControl.js +41 -35
  79. package/dist/cjs/select-control/index.js +52 -40
  80. package/dist/cjs/settings/MinMaxSetting.js +30 -20
  81. package/dist/cjs/settings/SettingsCard.js +20 -17
  82. package/dist/cjs/settings/SettingsSection.js +22 -21
  83. package/dist/cjs/settings/index.js +5 -5
  84. package/dist/cjs/sortable-newsletter-list-control/index.js +78 -57
  85. package/dist/cjs/steps-list/index.js +44 -34
  86. package/dist/cjs/steps-list-item/index.js +47 -39
  87. package/dist/cjs/style-card/index.js +70 -63
  88. package/dist/cjs/tabbed-navigation/index.js +38 -36
  89. package/dist/cjs/text-control/index.js +27 -25
  90. package/dist/cjs/utils/color.js +4 -4
  91. package/dist/cjs/utils/editor-toolbar-back-button.js +61 -0
  92. package/dist/cjs/utils/index.js +31 -19
  93. package/dist/cjs/utils/style.scss +8 -0
  94. package/dist/cjs/waiting/index.js +48 -37
  95. package/dist/cjs/web-preview/index.js +217 -211
  96. package/dist/cjs/with-wizard/index.js +362 -364
  97. package/dist/cjs/with-wizard/style.scss +4 -54
  98. package/dist/cjs/with-wizard-screen/index.js +54 -58
  99. package/dist/cjs/with-wizard-screen/style.scss +41 -3
  100. package/dist/cjs/wizard/components/WizardError.js +20 -18
  101. package/dist/cjs/wizard/components/WizardSnackbar.js +26 -23
  102. package/dist/cjs/wizard/index.js +176 -114
  103. package/dist/cjs/wizard/store/index.js +171 -123
  104. package/dist/cjs/wizard/store/utils.js +13 -8
  105. package/dist/esm/accordion/index.js +14 -9
  106. package/dist/esm/action-card/index.js +168 -123
  107. package/dist/esm/autocomplete-tokenfield/index.js +248 -222
  108. package/dist/esm/autocomplete-with-latest-posts/index.js +169 -103
  109. package/dist/esm/autocomplete-with-suggestions/index.js +226 -119
  110. package/dist/esm/badge/index.js +5 -5
  111. package/dist/esm/box-contrast/index.js +15 -11
  112. package/dist/esm/button/index.js +39 -21
  113. package/dist/esm/button-props/button-props.js +1 -1
  114. package/dist/esm/card/core-card.js +109 -47
  115. package/dist/esm/card/index.js +69 -54
  116. package/dist/esm/card/style-core.scss +93 -25
  117. package/dist/esm/card/style.scss +2 -2
  118. package/dist/esm/card-feature/index.js +131 -0
  119. package/dist/esm/card-feature/style.scss +75 -0
  120. package/dist/esm/card-form/index.js +134 -0
  121. package/dist/esm/card-form/style.scss +20 -0
  122. package/dist/esm/card-settings-group/index.js +33 -14
  123. package/dist/esm/card-sortable-list/index.js +170 -126
  124. package/dist/esm/category-autocomplete/index.js +168 -140
  125. package/dist/esm/color-picker/index.js +39 -21
  126. package/dist/esm/color-picker/index.test.js +78 -0
  127. package/dist/esm/color-picker/style.scss +11 -13
  128. package/dist/esm/confirm-dialog/index.js +85 -18
  129. package/dist/esm/consts.js +1 -1
  130. package/dist/esm/custom-select-control/index.js +34 -15
  131. package/dist/esm/dataviews/index.js +34 -0
  132. package/dist/esm/dataviews/style.scss +9 -0
  133. package/dist/esm/divider/index.js +24 -16
  134. package/dist/esm/footer/index.js +34 -28
  135. package/dist/esm/form-token-field/index.js +46 -27
  136. package/dist/esm/global-notices/index.js +3 -3
  137. package/dist/esm/grid/index.js +23 -14
  138. package/dist/esm/grid/style.scss +6 -1
  139. package/dist/esm/handoff/index.js +199 -143
  140. package/dist/esm/handoff-message/index.js +10 -6
  141. package/dist/esm/hooks/index.js +8 -6
  142. package/dist/esm/hooks/use-confirm-dialog.js +73 -0
  143. package/dist/esm/hooks/use-unsaved-changes-dialog.js +136 -0
  144. package/dist/esm/hooks/useObjectState.js +19 -9
  145. package/dist/esm/hooks/useObjectState.test.js +54 -32
  146. package/dist/esm/hooks/useOnClickOutside.js +4 -4
  147. package/dist/esm/hooks/usePrompt.js +9 -11
  148. package/dist/esm/image-upload/index.js +110 -111
  149. package/dist/esm/image-upload/index.test.js +11 -13
  150. package/dist/esm/image-upload/style.scss +12 -40
  151. package/dist/esm/index.js +7 -1
  152. package/dist/esm/info-button/index.js +38 -19
  153. package/dist/esm/integration-icons/active-campaign.js +16 -0
  154. package/dist/esm/integration-icons/constant-contact.js +22 -0
  155. package/dist/esm/integration-icons/fundraise-up.js +19 -0
  156. package/dist/esm/integration-icons/index.js +6 -0
  157. package/dist/esm/integration-icons/mailchimp.js +13 -0
  158. package/dist/esm/integration-icons/salesforce.js +11 -0
  159. package/dist/esm/integration-icons/wisepops.js +14 -0
  160. package/dist/esm/modal/index.js +20 -13
  161. package/dist/esm/modal/style.scss +4 -0
  162. package/dist/esm/newspack-icon/index.js +40 -25
  163. package/dist/esm/notice/index.js +59 -42
  164. package/dist/esm/plugin-installer/index.js +255 -243
  165. package/dist/esm/plugin-settings/SettingsSection.js +61 -50
  166. package/dist/esm/plugin-settings/index.js +212 -189
  167. package/dist/esm/plugin-toggle/index.js +187 -190
  168. package/dist/esm/popover/index.js +35 -16
  169. package/dist/esm/position-control/index.js +22 -18
  170. package/dist/esm/progress-bar/index.js +66 -49
  171. package/dist/esm/progress-bar/index.test.js +61 -67
  172. package/dist/esm/radio-control/index.js +34 -15
  173. package/dist/esm/section-header/index.js +102 -57
  174. package/dist/esm/section-header/style.scss +31 -11
  175. package/dist/esm/select-control/ButtonGroupControl.js +23 -18
  176. package/dist/esm/select-control/GroupedSelectControl.js +38 -30
  177. package/dist/esm/select-control/index.js +47 -27
  178. package/dist/esm/settings/MinMaxSetting.js +27 -16
  179. package/dist/esm/settings/SettingsCard.js +18 -13
  180. package/dist/esm/settings/SettingsSection.js +20 -19
  181. package/dist/esm/settings/index.js +3 -3
  182. package/dist/esm/sortable-newsletter-list-control/index.js +74 -53
  183. package/dist/esm/steps-list/index.js +39 -21
  184. package/dist/esm/steps-list-item/index.js +42 -26
  185. package/dist/esm/style-card/index.js +65 -50
  186. package/dist/esm/tabbed-navigation/index.js +35 -33
  187. package/dist/esm/text-control/index.js +25 -19
  188. package/dist/esm/utils/color.js +4 -4
  189. package/dist/esm/utils/editor-toolbar-back-button.js +53 -0
  190. package/dist/esm/utils/index.js +29 -16
  191. package/dist/esm/utils/style.scss +8 -0
  192. package/dist/esm/waiting/index.js +43 -24
  193. package/dist/esm/web-preview/index.js +213 -201
  194. package/dist/esm/with-wizard/index.js +360 -358
  195. package/dist/esm/with-wizard/style.scss +4 -54
  196. package/dist/esm/with-wizard-screen/index.js +48 -46
  197. package/dist/esm/with-wizard-screen/style.scss +41 -3
  198. package/dist/esm/wizard/components/WizardError.js +18 -16
  199. package/dist/esm/wizard/components/WizardSnackbar.js +23 -17
  200. package/dist/esm/wizard/index.js +171 -103
  201. package/dist/esm/wizard/store/index.js +169 -116
  202. package/dist/esm/wizard/store/utils.js +13 -6
  203. package/package.json +30 -16
  204. package/release.config.js +1 -0
  205. package/shared/hooks/use-coauthors.js +195 -27
  206. package/shared/hooks/use-coauthors.test.js +232 -6
  207. package/shared/scss/_mixins.scss +13 -5
  208. package/src/accordion/index.js +8 -7
  209. package/src/action-card/index.js +15 -1
  210. package/src/badge/index.tsx +3 -1
  211. package/src/card/core-card.js +95 -18
  212. package/src/card/index.js +1 -0
  213. package/src/card/style-core.scss +93 -25
  214. package/src/card/style.scss +2 -2
  215. package/src/card-feature/README.md +188 -0
  216. package/src/card-feature/index.tsx +186 -0
  217. package/src/card-feature/style.scss +75 -0
  218. package/src/card-form/README.md +113 -0
  219. package/src/card-form/index.tsx +128 -0
  220. package/src/card-form/style.scss +20 -0
  221. package/src/card-settings-group/index.tsx +28 -3
  222. package/src/card-sortable-list/index.tsx +27 -4
  223. package/src/color-picker/index.js +15 -8
  224. package/src/color-picker/index.test.js +52 -0
  225. package/src/color-picker/style.scss +11 -13
  226. package/src/confirm-dialog/README.md +128 -0
  227. package/src/confirm-dialog/index.tsx +74 -6
  228. package/src/dataviews/index.tsx +34 -0
  229. package/src/dataviews/style.scss +9 -0
  230. package/src/grid/style.scss +6 -1
  231. package/src/handoff/README.md +93 -0
  232. package/src/handoff/index.js +46 -8
  233. package/src/hooks/index.ts +2 -1
  234. package/src/hooks/use-confirm-dialog.tsx +80 -0
  235. package/src/hooks/use-unsaved-changes-dialog.tsx +140 -0
  236. package/src/image-upload/index.js +10 -15
  237. package/src/image-upload/style.scss +12 -40
  238. package/src/index.js +7 -1
  239. package/src/integration-icons/active-campaign.js +14 -0
  240. package/src/integration-icons/constant-contact.js +22 -0
  241. package/src/integration-icons/fundraise-up.js +18 -0
  242. package/src/integration-icons/index.js +6 -0
  243. package/src/integration-icons/mailchimp.js +10 -0
  244. package/src/integration-icons/salesforce.js +10 -0
  245. package/src/integration-icons/wisepops.js +14 -0
  246. package/src/modal/style.scss +4 -0
  247. package/src/plugin-installer/index.js +30 -19
  248. package/src/section-header/index.js +56 -24
  249. package/src/section-header/style.scss +31 -11
  250. package/src/select-control/index.js +4 -0
  251. package/src/utils/editor-toolbar-back-button.tsx +48 -0
  252. package/src/utils/index.js +6 -0
  253. package/src/utils/style.scss +8 -0
  254. package/src/with-wizard/style.scss +4 -54
  255. package/src/with-wizard-screen/style.scss +41 -3
  256. package/src/wizard/index.js +90 -53
  257. package/src/wizard/store/index.js +2 -2
  258. package/dist/cjs/button-card/index.js +0 -72
  259. package/dist/cjs/button-card/style.scss +0 -180
  260. package/dist/esm/button-card/index.js +0 -64
  261. package/dist/esm/button-card/style.scss +0 -180
  262. package/src/button-card/index.js +0 -52
  263. 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-alpha.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' );