newspack-components 2.0.3 → 2.2.0

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 (315) hide show
  1. package/copy-styles.js +1 -1
  2. package/dist/cjs/accordion/index.js +46 -0
  3. package/dist/cjs/accordion/style.scss +27 -0
  4. package/dist/cjs/action-card/index.js +72 -40
  5. package/dist/cjs/action-card/style.scss +143 -41
  6. package/dist/cjs/autocomplete-tokenfield/index.js +13 -41
  7. package/dist/cjs/autocomplete-tokenfield/style.scss +6 -6
  8. package/dist/cjs/autocomplete-with-suggestions/index.js +33 -53
  9. package/dist/cjs/autocomplete-with-suggestions/style.scss +27 -27
  10. package/dist/cjs/button/index.js +1 -20
  11. package/dist/cjs/button/style.scss +3 -344
  12. package/dist/cjs/button-card/index.js +11 -15
  13. package/dist/cjs/button-card/style.scss +65 -35
  14. package/dist/cjs/card/index.js +4 -9
  15. package/dist/cjs/card/style.scss +47 -63
  16. package/dist/cjs/category-autocomplete/index.js +66 -47
  17. package/dist/cjs/category-autocomplete/style.scss +20 -24
  18. package/dist/cjs/color-picker/index.js +16 -48
  19. package/dist/cjs/color-picker/style.scss +20 -163
  20. package/dist/cjs/consts.js +5 -3
  21. package/dist/cjs/custom-select-control/index.js +1 -9
  22. package/dist/cjs/custom-select-control/style.scss +14 -45
  23. package/dist/cjs/date-range-picker/index.js +1 -10
  24. package/dist/cjs/date-range-picker/style.scss +12 -12
  25. package/dist/cjs/footer/index.js +24 -22
  26. package/dist/cjs/footer/style.scss +13 -14
  27. package/dist/cjs/form-token-field/index.js +3 -11
  28. package/dist/cjs/form-token-field/style.scss +9 -105
  29. package/dist/cjs/global-notices/index.js +3 -9
  30. package/dist/cjs/grid/index.js +1 -8
  31. package/dist/cjs/grid/style.scss +19 -6
  32. package/dist/cjs/handoff/index.js +15 -24
  33. package/dist/cjs/handoff-message/index.js +50 -0
  34. package/dist/cjs/hooks/index.js +1 -7
  35. package/dist/cjs/hooks/useObjectState.js +7 -13
  36. package/dist/cjs/hooks/useObjectState.test.js +0 -14
  37. package/dist/cjs/hooks/useOnClickOutside.js +3 -6
  38. package/dist/cjs/hooks/usePrompt.js +1 -13
  39. package/dist/cjs/image-upload/index.js +22 -20
  40. package/dist/cjs/image-upload/index.test.js +0 -5
  41. package/dist/cjs/image-upload/style.scss +12 -17
  42. package/dist/cjs/index.js +31 -93
  43. package/dist/cjs/info-button/index.js +3 -11
  44. package/dist/cjs/info-button/style.scss +1 -3
  45. package/dist/cjs/modal/index.js +1 -12
  46. package/dist/cjs/modal/style.scss +20 -132
  47. package/dist/cjs/newspack-icon/index.js +5 -11
  48. package/dist/cjs/newspack-icon/style.scss +17 -2
  49. package/dist/cjs/newspack-logo/index.js +1 -9
  50. package/dist/cjs/newspack-logo/style.scss +3 -3
  51. package/dist/cjs/notice/index.js +8 -16
  52. package/dist/cjs/notice/style.scss +60 -19
  53. package/dist/cjs/patrons-logo/index.js +3 -11
  54. package/dist/cjs/plugin-installer/index.js +37 -37
  55. package/dist/cjs/plugin-installer/style.scss +5 -5
  56. package/dist/cjs/plugin-settings/SettingsSection.js +71 -59
  57. package/dist/cjs/plugin-settings/index.js +71 -50
  58. package/dist/cjs/plugin-settings/style.scss +7 -0
  59. package/dist/cjs/plugin-toggle/index.js +60 -32
  60. package/dist/cjs/plugin-toggle/style.scss +2 -2
  61. package/dist/cjs/popover/index.js +1 -11
  62. package/dist/cjs/popover/style.scss +20 -17
  63. package/dist/cjs/position-control/index.js +113 -0
  64. package/dist/cjs/position-control/style.scss +66 -0
  65. package/dist/cjs/progress-bar/index.js +2 -9
  66. package/dist/cjs/progress-bar/index.test.js +2 -7
  67. package/dist/cjs/progress-bar/style.scss +4 -4
  68. package/dist/cjs/proxied-imports/router.js +0 -3
  69. package/dist/cjs/radio-control/index.js +1 -11
  70. package/dist/cjs/radio-control/style.scss +10 -11
  71. package/dist/cjs/section-header/index.js +47 -19
  72. package/dist/cjs/section-header/style.scss +22 -1
  73. package/dist/cjs/select-control/ButtonGroupControl.js +11 -20
  74. package/dist/cjs/select-control/GroupedSelectControl.js +42 -45
  75. package/dist/cjs/select-control/index.js +6 -14
  76. package/dist/cjs/select-control/style.scss +47 -88
  77. package/dist/cjs/settings/MinMaxSetting.js +6 -8
  78. package/dist/cjs/settings/SettingsCard.js +9 -8
  79. package/dist/cjs/settings/SettingsSection.js +5 -8
  80. package/dist/cjs/settings/index.js +0 -6
  81. package/dist/cjs/settings/style.scss +32 -4
  82. package/dist/cjs/steps-list/index.js +52 -0
  83. package/dist/cjs/steps-list/style.scss +11 -0
  84. package/dist/cjs/steps-list-item/index.js +56 -0
  85. package/dist/cjs/steps-list-item/style.scss +47 -0
  86. package/dist/cjs/style-card/index.js +15 -18
  87. package/dist/cjs/style-card/style.scss +19 -18
  88. package/dist/cjs/style.scss +43 -0
  89. package/dist/cjs/tabbed-navigation/index.js +27 -31
  90. package/dist/cjs/tabbed-navigation/style.scss +58 -37
  91. package/dist/cjs/text-control/index.js +6 -19
  92. package/dist/cjs/text-control/style.scss +0 -126
  93. package/dist/cjs/utils/index.js +10 -5
  94. package/dist/cjs/waiting/index.js +9 -33
  95. package/dist/cjs/waiting/style.scss +9 -20
  96. package/dist/cjs/web-preview/index.js +30 -57
  97. package/dist/cjs/web-preview/style.scss +41 -34
  98. package/dist/cjs/with-wizard/index.js +55 -33
  99. package/dist/cjs/with-wizard/style.scss +77 -124
  100. package/dist/cjs/with-wizard-screen/index.js +28 -38
  101. package/dist/cjs/with-wizard-screen/style.scss +75 -125
  102. package/dist/cjs/wizard/components/WizardError.js +74 -0
  103. package/dist/cjs/wizard/index.js +131 -0
  104. package/dist/cjs/wizard/store/index.js +165 -0
  105. package/dist/cjs/wizard/store/utils.js +26 -0
  106. package/dist/cjs/wizard/style.scss +148 -0
  107. package/dist/esm/accordion/index.js +38 -0
  108. package/dist/esm/accordion/style.scss +27 -0
  109. package/dist/esm/action-card/index.js +75 -37
  110. package/dist/esm/action-card/style.scss +143 -41
  111. package/dist/esm/autocomplete-tokenfield/index.js +14 -37
  112. package/dist/esm/autocomplete-tokenfield/style.scss +6 -6
  113. package/dist/esm/autocomplete-with-suggestions/index.js +31 -43
  114. package/dist/esm/autocomplete-with-suggestions/style.scss +27 -27
  115. package/dist/esm/button/index.js +2 -14
  116. package/dist/esm/button/style.scss +3 -344
  117. package/dist/esm/button-card/index.js +12 -11
  118. package/dist/esm/button-card/style.scss +65 -35
  119. package/dist/esm/card/index.js +5 -6
  120. package/dist/esm/card/style.scss +47 -63
  121. package/dist/esm/category-autocomplete/index.js +68 -41
  122. package/dist/esm/category-autocomplete/style.scss +20 -24
  123. package/dist/esm/color-picker/index.js +17 -38
  124. package/dist/esm/color-picker/style.scss +20 -163
  125. package/dist/esm/consts.js +3 -2
  126. package/dist/esm/custom-select-control/index.js +2 -5
  127. package/dist/esm/custom-select-control/style.scss +14 -45
  128. package/dist/esm/date-range-picker/index.js +1 -3
  129. package/dist/esm/date-range-picker/style.scss +12 -12
  130. package/dist/esm/footer/index.js +22 -16
  131. package/dist/esm/footer/style.scss +13 -14
  132. package/dist/esm/form-token-field/index.js +4 -7
  133. package/dist/esm/form-token-field/style.scss +9 -105
  134. package/dist/esm/global-notices/index.js +3 -7
  135. package/dist/esm/grid/index.js +2 -5
  136. package/dist/esm/grid/style.scss +19 -6
  137. package/dist/esm/handoff/index.js +10 -21
  138. package/dist/esm/handoff-message/index.js +45 -0
  139. package/dist/esm/hooks/index.js +0 -2
  140. package/dist/esm/hooks/useObjectState.js +3 -8
  141. package/dist/esm/hooks/useObjectState.test.js +0 -3
  142. package/dist/esm/hooks/useOnClickOutside.js +2 -5
  143. package/dist/esm/hooks/usePrompt.js +1 -8
  144. package/dist/esm/image-upload/index.js +18 -17
  145. package/dist/esm/image-upload/style.scss +12 -17
  146. package/dist/esm/index.js +7 -8
  147. package/dist/esm/info-button/index.js +4 -6
  148. package/dist/esm/info-button/style.scss +1 -3
  149. package/dist/esm/modal/index.js +2 -8
  150. package/dist/esm/modal/style.scss +20 -132
  151. package/dist/esm/newspack-icon/index.js +6 -7
  152. package/dist/esm/newspack-icon/style.scss +17 -2
  153. package/dist/esm/newspack-logo/index.js +2 -5
  154. package/dist/esm/newspack-logo/style.scss +3 -3
  155. package/dist/esm/notice/index.js +11 -10
  156. package/dist/esm/notice/style.scss +60 -19
  157. package/dist/esm/patrons-logo/index.js +3 -5
  158. package/dist/esm/plugin-installer/index.js +37 -40
  159. package/dist/esm/plugin-installer/style.scss +5 -5
  160. package/dist/esm/plugin-settings/SettingsSection.js +71 -56
  161. package/dist/esm/plugin-settings/index.js +70 -52
  162. package/dist/esm/plugin-settings/style.scss +7 -0
  163. package/dist/esm/plugin-toggle/index.js +59 -34
  164. package/dist/esm/plugin-toggle/style.scss +2 -2
  165. package/dist/esm/popover/index.js +3 -6
  166. package/dist/esm/popover/style.scss +20 -17
  167. package/dist/esm/position-control/index.js +109 -0
  168. package/dist/esm/position-control/style.scss +66 -0
  169. package/dist/esm/progress-bar/index.js +2 -7
  170. package/dist/esm/progress-bar/index.test.js +2 -1
  171. package/dist/esm/progress-bar/style.scss +4 -4
  172. package/dist/esm/proxied-imports/router.js +1 -0
  173. package/dist/esm/radio-control/index.js +3 -6
  174. package/dist/esm/radio-control/style.scss +10 -11
  175. package/dist/esm/section-header/index.js +47 -16
  176. package/dist/esm/section-header/style.scss +22 -1
  177. package/dist/esm/select-control/ButtonGroupControl.js +12 -14
  178. package/dist/esm/select-control/GroupedSelectControl.js +38 -36
  179. package/dist/esm/select-control/index.js +7 -8
  180. package/dist/esm/select-control/style.scss +47 -88
  181. package/dist/esm/settings/MinMaxSetting.js +4 -5
  182. package/dist/esm/settings/SettingsCard.js +9 -5
  183. package/dist/esm/settings/SettingsSection.js +5 -7
  184. package/dist/esm/settings/style.scss +32 -4
  185. package/dist/esm/steps-list/index.js +43 -0
  186. package/dist/esm/steps-list/style.scss +11 -0
  187. package/dist/esm/steps-list-item/index.js +48 -0
  188. package/dist/esm/steps-list-item/style.scss +47 -0
  189. package/dist/esm/style-card/index.js +13 -13
  190. package/dist/esm/style-card/style.scss +19 -18
  191. package/dist/esm/style.scss +43 -0
  192. package/dist/esm/tabbed-navigation/index.js +30 -28
  193. package/dist/esm/tabbed-navigation/style.scss +58 -37
  194. package/dist/esm/text-control/index.js +2 -12
  195. package/dist/esm/text-control/style.scss +0 -126
  196. package/dist/esm/utils/index.js +9 -3
  197. package/dist/esm/waiting/index.js +11 -27
  198. package/dist/esm/waiting/style.scss +9 -20
  199. package/dist/esm/web-preview/index.js +21 -49
  200. package/dist/esm/web-preview/style.scss +41 -34
  201. package/dist/esm/with-wizard/index.js +53 -36
  202. package/dist/esm/with-wizard/style.scss +77 -124
  203. package/dist/esm/with-wizard-screen/index.js +26 -32
  204. package/dist/esm/with-wizard-screen/style.scss +75 -125
  205. package/dist/esm/wizard/components/WizardError.js +69 -0
  206. package/dist/esm/wizard/index.js +126 -0
  207. package/dist/esm/wizard/store/index.js +155 -0
  208. package/dist/esm/wizard/store/utils.js +17 -0
  209. package/dist/esm/wizard/style.scss +148 -0
  210. package/package.json +4 -4
  211. package/src/accordion/index.js +32 -0
  212. package/src/accordion/style.scss +27 -0
  213. package/src/action-card/index.js +70 -25
  214. package/src/action-card/style.scss +143 -41
  215. package/src/autocomplete-tokenfield/index.js +1 -1
  216. package/src/autocomplete-tokenfield/style.scss +6 -6
  217. package/src/autocomplete-with-suggestions/index.js +4 -2
  218. package/src/autocomplete-with-suggestions/style.scss +27 -27
  219. package/src/button/index.js +2 -9
  220. package/src/button/style.scss +3 -344
  221. package/src/button-card/index.js +19 -5
  222. package/src/button-card/style.scss +65 -35
  223. package/src/card/index.js +4 -0
  224. package/src/card/style.scss +47 -63
  225. package/src/category-autocomplete/index.js +53 -18
  226. package/src/category-autocomplete/style.scss +20 -24
  227. package/src/color-picker/index.js +16 -22
  228. package/src/color-picker/style.scss +20 -163
  229. package/src/consts.js +2 -1
  230. package/src/custom-select-control/style.scss +14 -45
  231. package/src/date-range-picker/style.scss +12 -12
  232. package/src/footer/index.js +20 -9
  233. package/src/footer/style.scss +13 -14
  234. package/src/form-token-field/index.js +3 -8
  235. package/src/form-token-field/style.scss +9 -105
  236. package/src/global-notices/index.js +1 -1
  237. package/src/grid/style.scss +19 -6
  238. package/src/handoff/index.js +10 -15
  239. package/src/handoff-message/index.js +39 -0
  240. package/src/hooks/useObjectState.js +2 -1
  241. package/src/image-upload/index.js +9 -3
  242. package/src/image-upload/style.scss +12 -17
  243. package/src/index.js +7 -7
  244. package/src/info-button/style.scss +1 -3
  245. package/src/modal/index.js +2 -5
  246. package/src/modal/style.scss +20 -132
  247. package/src/newspack-icon/index.js +7 -2
  248. package/src/newspack-icon/style.scss +17 -2
  249. package/src/newspack-logo/style.scss +3 -3
  250. package/src/notice/index.js +9 -1
  251. package/src/notice/style.scss +60 -19
  252. package/src/plugin-installer/index.js +17 -4
  253. package/src/plugin-installer/style.scss +5 -5
  254. package/src/plugin-settings/SettingsSection.js +59 -27
  255. package/src/plugin-settings/index.js +29 -8
  256. package/src/plugin-settings/style.scss +7 -0
  257. package/src/plugin-toggle/index.js +37 -12
  258. package/src/plugin-toggle/style.scss +2 -2
  259. package/src/popover/style.scss +20 -17
  260. package/src/position-control/index.js +122 -0
  261. package/src/position-control/style.scss +66 -0
  262. package/src/progress-bar/style.scss +4 -4
  263. package/src/radio-control/style.scss +10 -11
  264. package/src/section-header/index.js +41 -5
  265. package/src/section-header/style.scss +22 -1
  266. package/src/select-control/ButtonGroupControl.js +15 -5
  267. package/src/select-control/GroupedSelectControl.js +28 -25
  268. package/src/select-control/index.js +6 -3
  269. package/src/select-control/style.scss +47 -88
  270. package/src/settings/MinMaxSetting.js +2 -1
  271. package/src/settings/SettingsCard.js +9 -7
  272. package/src/settings/SettingsSection.js +4 -4
  273. package/src/settings/style.scss +32 -4
  274. package/src/steps-list/index.js +39 -0
  275. package/src/steps-list/style.scss +11 -0
  276. package/src/steps-list-item/index.js +40 -0
  277. package/src/steps-list-item/style.scss +47 -0
  278. package/src/style-card/index.js +16 -27
  279. package/src/style-card/style.scss +19 -18
  280. package/src/style.scss +43 -0
  281. package/src/tabbed-navigation/index.js +20 -24
  282. package/src/tabbed-navigation/style.scss +58 -37
  283. package/src/text-control/index.js +1 -2
  284. package/src/text-control/style.scss +0 -126
  285. package/src/utils/index.js +9 -0
  286. package/src/waiting/index.js +7 -18
  287. package/src/waiting/style.scss +9 -20
  288. package/src/web-preview/index.js +13 -34
  289. package/src/web-preview/style.scss +41 -34
  290. package/src/with-wizard/index.js +7 -5
  291. package/src/with-wizard/style.scss +77 -124
  292. package/src/with-wizard-screen/index.js +17 -17
  293. package/src/with-wizard-screen/style.scss +75 -125
  294. package/src/wizard/components/WizardError.js +57 -0
  295. package/src/wizard/index.js +145 -0
  296. package/src/wizard/store/index.js +132 -0
  297. package/src/wizard/store/utils.js +16 -0
  298. package/dist/cjs/wizard-pagination/index.js +0 -71
  299. package/dist/cjs/wizard-pagination/style.scss +0 -74
  300. package/dist/esm/wizard-pagination/index.js +0 -57
  301. package/dist/esm/wizard-pagination/style.scss +0 -74
  302. package/src/button-group/index.js +0 -35
  303. package/src/button-group/style.scss +0 -73
  304. package/src/checkbox-control/index.js +0 -38
  305. package/src/checkbox-control/style.scss +0 -78
  306. package/src/preview-box/index.js +0 -18
  307. package/src/preview-box/style.scss +0 -18
  308. package/src/textarea-control/index.js +0 -32
  309. package/src/textarea-control/style.scss +0 -76
  310. package/src/toggle-control/index.js +0 -38
  311. package/src/toggle-control/style.scss +0 -74
  312. package/src/toggle-group/index.js +0 -43
  313. package/src/toggle-group/style.scss +0 -28
  314. package/src/wizard-pagination/index.js +0 -59
  315. package/src/wizard-pagination/style.scss +0 -74
@@ -1,31 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = withWizardScreen;
9
-
10
8
  var _i18n = require("@wordpress/i18n");
11
-
12
9
  var _icons = require("@wordpress/icons");
13
-
14
10
  var _ = require("../");
15
-
16
11
  var _js = require("../../../shared/js/");
17
-
18
12
  require("./style.scss");
19
-
20
13
  var _classnames = _interopRequireDefault(require("classnames"));
21
-
22
14
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
23
-
24
15
  /**
25
16
  * WordPress dependencies.
26
17
  */
27
18
  const __ = _i18n.__;
28
-
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ /**
23
+ * External dependencies
24
+ */
29
25
  /**
30
26
  * Higher-Order Component to provide plugin management and error handling to Newspack Wizards.
31
27
  */
@@ -33,7 +29,6 @@ function withWizardScreen(WrappedComponent) {
33
29
  let {
34
30
  hidePrimaryButton
35
31
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
36
-
37
32
  const WrappedWithWizardScreen = props => {
38
33
  const {
39
34
  className,
@@ -45,15 +40,14 @@ function withWizardScreen(WrappedComponent) {
45
40
  tabbedNavigation,
46
41
  secondaryButtonText,
47
42
  secondaryButtonAction,
48
- routes,
49
- renderAboveContent
43
+ renderAboveContent,
44
+ disableUpcomingInTabbedNavigation
50
45
  } = props;
51
46
  const retrievedButtonProps = (0, _js.buttonProps)(buttonAction);
52
47
  const retrievedSecondaryButtonProps = (0, _js.buttonProps)(secondaryButtonAction);
53
48
  const SecondaryCTAComponent = retrievedSecondaryButtonProps.plugin ? _.Handoff : _.Button;
54
49
  const shouldRenderPrimaryButton = buttonText && buttonAction;
55
50
  const shouldRenderSecondaryButton = secondaryButtonText && secondaryButtonAction;
56
-
57
51
  const renderPrimaryButton = function () {
58
52
  let overridingProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
59
53
  return retrievedButtonProps.plugin ? (0, _jsxRuntime.jsx)(_.Handoff, {
@@ -64,7 +58,8 @@ function withWizardScreen(WrappedComponent) {
64
58
  }) : (0, _jsxRuntime.jsx)(_.Button, {
65
59
  isPrimary: !buttonDisabled,
66
60
  isSecondary: !!buttonDisabled,
67
- disabled: buttonDisabled // Allow overridingProps to set children.
61
+ disabled: buttonDisabled
62
+ // Allow overridingProps to set children.
68
63
  // eslint-disable-next-line react/no-children-prop
69
64
  ,
70
65
  children: buttonText,
@@ -72,17 +67,14 @@ function withWizardScreen(WrappedComponent) {
72
67
  ...overridingProps
73
68
  });
74
69
  };
75
-
76
70
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
77
71
  children: [newspack_aux_data.is_debug_mode && (0, _jsxRuntime.jsx)(_.Notice, {
78
- isWarning: true,
79
- className: "newspack-wizard__above-header",
80
- noticeText: __('Newspack is in debug mode.', 'newspack')
81
- }), (0, _jsxRuntime.jsxs)("div", {
72
+ debugMode: true
73
+ }), (0, _jsxRuntime.jsx)("div", {
82
74
  className: "newspack-wizard__header",
83
- children: [(0, _jsxRuntime.jsxs)("div", {
75
+ children: (0, _jsxRuntime.jsx)("div", {
84
76
  className: "newspack-wizard__header__inner",
85
- children: [(0, _jsxRuntime.jsxs)("div", {
77
+ children: (0, _jsxRuntime.jsxs)("div", {
86
78
  className: "newspack-wizard__title",
87
79
  children: [(0, _jsxRuntime.jsx)(_.Button, {
88
80
  isLink: true,
@@ -94,23 +86,22 @@ function withWizardScreen(WrappedComponent) {
94
86
  children: (0, _jsxRuntime.jsx)(_.NewspackIcon, {
95
87
  size: 36
96
88
  })
97
- }), headerText && (0, _jsxRuntime.jsx)("h1", {
98
- children: headerText
99
- }), subHeaderText && (0, _jsxRuntime.jsx)("p", {
100
- className: "screen-reader-text",
101
- children: subHeaderText
89
+ }), (0, _jsxRuntime.jsxs)("div", {
90
+ children: [headerText && (0, _jsxRuntime.jsx)("h2", {
91
+ children: headerText
92
+ }), subHeaderText && (0, _jsxRuntime.jsx)("span", {
93
+ children: subHeaderText
94
+ })]
102
95
  })]
103
- }), tabbedNavigation && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
104
- children: (0, _jsxRuntime.jsx)(_.TabbedNavigation, {
105
- items: tabbedNavigation
106
- })
107
- })]
108
- }), routes && (0, _jsxRuntime.jsx)(_.WizardPagination, {
109
- routes: routes
110
- })]
111
- }), (0, _jsxRuntime.jsxs)("div", {
96
+ })
97
+ })
98
+ }), tabbedNavigation && (0, _jsxRuntime.jsx)(_.TabbedNavigation, {
99
+ disableUpcoming: disableUpcomingInTabbedNavigation,
100
+ items: tabbedNavigation.filter(item => !item.isHiddenInNav)
101
+ }), (0, _jsxRuntime.jsx)(_.HandoffMessage, {}), (0, _jsxRuntime.jsxs)("div", {
112
102
  className: (0, _classnames.default)('newspack-wizard newspack-wizard__content', className),
113
- children: [typeof renderAboveContent === 'function' ? renderAboveContent() : null, (0, _jsxRuntime.jsx)(WrappedComponent, { ...props,
103
+ children: [typeof renderAboveContent === 'function' ? renderAboveContent() : null, (0, _jsxRuntime.jsx)(WrappedComponent, {
104
+ ...props,
114
105
  renderPrimaryButton: renderPrimaryButton
115
106
  }), (shouldRenderPrimaryButton || shouldRenderSecondaryButton) && (0, _jsxRuntime.jsxs)("div", {
116
107
  className: "newspack-buttons-card",
@@ -123,6 +114,5 @@ function withWizardScreen(WrappedComponent) {
123
114
  })]
124
115
  });
125
116
  };
126
-
127
117
  return WrappedWithWizardScreen;
128
118
  }
@@ -2,25 +2,75 @@
2
2
  * With Wizard Screen
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
6
- @import '../../../shared/scss/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
+ @use '../../../shared/scss/colors';
7
7
 
8
8
  .newspack-wizard {
9
+ // Color
10
+ --wp-admin-theme-color: #{colors.$primary-500};
11
+ --wp-admin-theme-color--rgb: #{colors.$primary-500--rgb};
12
+ --wp-admin-theme-color-darker-10: #{colors.$primary-600};
13
+ --wp-admin-theme-color-darker-10--rgb: #{colors.$primary-600--rgb};
14
+ --wp-admin-theme-color-darker-20: #{colors.$primary-700};
15
+ --wp-admin-theme-color-darker-20--rgb: #{colors.$primary-700--rgb};
16
+
17
+ color: wp-colors.$gray-900;
18
+
19
+ // Headings
20
+ h1,
21
+ h2,
22
+ h3 {
23
+ color: inherit;
24
+ }
25
+
26
+ h1 {
27
+ line-height: 1.4;
28
+ }
29
+
30
+ // Links
31
+ a {
32
+ color: var( --wp-admin-theme-color );
33
+
34
+ &:active,
35
+ &:focus,
36
+ &:hover {
37
+ color: var( --wp-admin-theme-color-darker-10 );
38
+ }
39
+
40
+ &:focus {
41
+ box-shadow: 0 0 0 var( --wp-admin-border-width-focus ) var( --wp-admin-theme-color );
42
+ outline: 3px solid transparent;
43
+ }
44
+ }
45
+
9
46
  &__header {
10
47
  background: white;
11
48
  }
12
49
 
13
50
  &__title {
14
51
  align-items: center;
15
- border-bottom: 1px solid $gray-300;
52
+ border-bottom: 1px solid wp-colors.$gray-300;
16
53
  display: flex;
17
54
 
18
- h1 {
19
- color: $gray-900;
20
- font-size: 21px;
21
- line-height: 30px;
55
+ h2 {
22
56
  margin: 0;
57
+ padding: 0;
58
+ }
59
+
60
+ > div {
61
+ align-items: baseline;
62
+ display: flex;
23
63
  padding: 0 24px;
64
+
65
+ span {
66
+ color: wp-colors.$gray-700;
67
+ display: none;
68
+ margin-left: 8px;
69
+
70
+ @media screen and ( min-width: 744px ) {
71
+ display: block;
72
+ }
73
+ }
24
74
  }
25
75
 
26
76
  svg {
@@ -33,17 +83,19 @@
33
83
  }
34
84
 
35
85
  &:not( .newspack-icon ) {
36
- background: $primary-500;
86
+ background: colors.$primary-500;
37
87
  left: 50%;
38
- margin: -18px 0 0 -18px !important;
88
+ margin: -28px 0 0 -28px !important;
39
89
  opacity: 0;
90
+ padding: 10px;
40
91
  position: absolute;
41
92
  top: 50%;
42
93
  transition: opacity 125ms ease-in-out;
43
94
  }
44
95
  }
45
96
 
46
- a {
97
+ .components-button.has-icon {
98
+ padding: 0;
47
99
  position: relative;
48
100
 
49
101
  &:hover {
@@ -51,29 +103,23 @@
51
103
  opacity: 1;
52
104
  }
53
105
  }
54
- }
55
106
 
56
- a:focus-visible {
57
- outline: none !important;
107
+ &:focus-visible {
108
+ outline: none !important;
58
109
 
59
- &::before {
60
- border: 2px solid white;
61
- border-radius: 3px;
62
- bottom: 5px;
63
- content: '';
64
- display: block;
65
- left: 6px;
66
- position: absolute;
67
- right: 6px;
68
- top: 6px;
110
+ &::before {
111
+ border: 2px solid white;
112
+ border-radius: 2px;
113
+ content: '';
114
+ display: block;
115
+ inset: 6px 6px 5px;
116
+ position: absolute;
117
+ }
69
118
  }
70
119
  }
71
120
  }
72
121
 
73
122
  &__content {
74
- color: $gray-700;
75
- font-size: 14px;
76
- line-height: 24px;
77
123
  margin: 0 auto;
78
124
  max-width: 1208px;
79
125
  padding: 0 16px;
@@ -84,55 +130,19 @@
84
130
 
85
131
  // Typography
86
132
 
87
- h1,
88
- h2,
89
- h3,
90
- p {
91
- line-height: 24px;
92
- margin: 32px 0;
93
- padding: 0;
94
- }
95
-
96
- h1 {
97
- color: $gray-900;
98
- font-size: 21px;
99
- font-weight: bold;
100
- line-height: 32px;
101
- }
102
-
103
- h2 {
104
- color: $gray-900;
105
- font-size: 17px;
106
- font-weight: bold;
107
- }
108
-
109
- h3 {
110
- color: $gray-900;
111
- font-size: 14px;
112
- font-weight: bold;
113
- }
114
-
115
- p {
116
- font-size: 14px;
117
-
118
- &.is-dark {
119
- color: $gray-900;
120
- }
121
- }
122
-
123
133
  strong {
124
134
  font-weight: bold;
125
135
  }
126
136
 
127
137
  small {
128
138
  font-size: 12px;
129
- line-height: 16px;
139
+ line-height: 1.4;
130
140
  }
131
141
 
132
142
  // Thematic Break
133
143
 
134
144
  hr {
135
- background: $gray-300;
145
+ background: wp-colors.$gray-300;
136
146
  border: 0;
137
147
  height: 1px;
138
148
  margin: 48px 0;
@@ -141,70 +151,10 @@
141
151
  margin: 64px 0;
142
152
  }
143
153
  }
144
-
145
- // Links
146
-
147
- a {
148
- color: $primary-500;
149
-
150
- &:active,
151
- &:focus,
152
- &:hover {
153
- color: $primary-600;
154
- text-decoration: none;
155
- }
156
-
157
- &:focus {
158
- box-shadow: none;
159
- outline: 2px solid $primary-500;
160
- outline-offset: 2px;
161
- }
162
- }
163
154
  }
164
155
 
165
156
  &__above-header {
157
+ border-radius: 0;
166
158
  margin: 0;
167
159
  }
168
160
  }
169
-
170
- // Buttons Card
171
-
172
- .newspack-buttons-card {
173
- display: flex;
174
- flex-direction: row-reverse;
175
- justify-content: flex-start;
176
- align-items: center;
177
- margin: 64px 0 32px;
178
-
179
- &:empty {
180
- display: none;
181
- }
182
-
183
- .newspack-button {
184
- margin-left: 16px;
185
- }
186
- }
187
-
188
- // Checkbox Icon
189
-
190
- .newspack-checkbox-icon {
191
- background: white;
192
- border-radius: 50%;
193
- box-shadow: inset 0 0 0 1px $gray-300;
194
- display: block;
195
- height: 24px;
196
- width: 24px;
197
-
198
- svg {
199
- fill: $gray-700;
200
- }
201
-
202
- &--checked {
203
- background: $alert-green;
204
- box-shadow: none;
205
-
206
- svg {
207
- fill: white;
208
- }
209
- }
210
- }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _data = require("@wordpress/data");
9
+ var _ = require("../..");
10
+ var _store = require("../store");
11
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
12
+ /**
13
+ * WordPress dependencies.
14
+ */
15
+ const __ = _i18n.__;
16
+ /**
17
+ * Internal dependencies.
18
+ */
19
+ const parseError = _ref => {
20
+ let {
21
+ data,
22
+ message,
23
+ code
24
+ } = _ref;
25
+ let level = 'fatal';
26
+ if (!!data && 'level' in data) {
27
+ level = data.level;
28
+ } else if ('rest_invalid_param' === code) {
29
+ level = 'notice';
30
+ }
31
+ return {
32
+ message,
33
+ level
34
+ };
35
+ };
36
+ const WizardError = () => {
37
+ const error = (0, _data.useSelect)(select => select(_store.WIZARD_STORE_NAMESPACE).getError());
38
+ if (!error) {
39
+ return null;
40
+ }
41
+ const {
42
+ level,
43
+ message
44
+ } = parseError(error);
45
+ if ('fatal' === level) {
46
+ const fallbackURL = typeof newspack_urls !== 'undefined' && newspack_urls.dashboard;
47
+ return (0, _jsxRuntime.jsxs)(_.Modal, {
48
+ title: __('Unrecoverable error'),
49
+ onRequestClose: fallbackURL ? () => window.location = fallbackURL : undefined,
50
+ children: [(0, _jsxRuntime.jsx)(_.Notice, {
51
+ noticeText: message,
52
+ isError: true,
53
+ rawHTML: true
54
+ }), fallbackURL && (0, _jsxRuntime.jsx)(_.Card, {
55
+ buttonsCard: true,
56
+ noBorder: true,
57
+ className: "justify-end",
58
+ children: (0, _jsxRuntime.jsx)(_.Button, {
59
+ isPrimary: true,
60
+ href: fallbackURL,
61
+ children: __('Return to Dashboard', 'newspack')
62
+ })
63
+ })]
64
+ });
65
+ }
66
+ return (0, _jsxRuntime.jsx)(_.Notice, {
67
+ isError: true,
68
+ className: "newspack-wizard__above-header",
69
+ noticeText: message,
70
+ rawHTML: true
71
+ });
72
+ };
73
+ var _default = WizardError;
74
+ exports.default = _default;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _data = require("@wordpress/data");
11
+ var _element = require("@wordpress/element");
12
+ var _i18n = require("@wordpress/i18n");
13
+ var _icons = require("@wordpress/icons");
14
+ var _ = require("../");
15
+ var _router = _interopRequireDefault(require("../proxied-imports/router"));
16
+ var _store = _interopRequireWildcard(require("./store"));
17
+ var _utils = require("./store/utils");
18
+ var _WizardError = _interopRequireDefault(require("./components/WizardError"));
19
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
20
+ /**
21
+ * External dependencies.
22
+ */
23
+ /**
24
+ * WordPress dependencies.
25
+ */
26
+ const __ = _i18n.__;
27
+ /**
28
+ * Internal dependencies
29
+ */
30
+ (0, _store.default)();
31
+ const {
32
+ HashRouter,
33
+ Redirect,
34
+ Route,
35
+ Switch
36
+ } = _router.default;
37
+ const Wizard = _ref => {
38
+ let {
39
+ sections = [],
40
+ apiSlug,
41
+ headerText,
42
+ subHeaderText,
43
+ hasSimpleFooter,
44
+ className,
45
+ renderAboveSections,
46
+ requiredPlugins = []
47
+ } = _ref;
48
+ const isLoading = (0, _data.useSelect)(select => select(_store.WIZARD_STORE_NAMESPACE).isLoading());
49
+ const isQuietLoading = (0, _data.useSelect)(select => select(_store.WIZARD_STORE_NAMESPACE).isQuietLoading());
50
+
51
+ // Trigger initial data fetch. Some sections might not use the wizard data,
52
+ // but for consistency, fetching is triggered regardless of the section.
53
+ (0, _data.useSelect)(select => select(_store.WIZARD_STORE_NAMESPACE).getWizardAPIData(apiSlug));
54
+ let displayedSections = sections.filter(section => !section.isHidden);
55
+ const [pluginRequirementsSatisfied, setPluginRequirementsSatisfied] = (0, _element.useState)(requiredPlugins.length === 0);
56
+ if (!pluginRequirementsSatisfied) {
57
+ headerText = requiredPlugins.length > 1 ? __('Required plugins', 'newspack') : __('Required plugin', 'newspack');
58
+ displayedSections = [{
59
+ path: '/',
60
+ render: () => (0, _jsxRuntime.jsx)(_.PluginInstaller, {
61
+ plugins: requiredPlugins,
62
+ onStatus: _ref2 => {
63
+ let {
64
+ complete
65
+ } = _ref2;
66
+ return setPluginRequirementsSatisfied(complete);
67
+ }
68
+ })
69
+ }];
70
+ }
71
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
72
+ children: [(0, _jsxRuntime.jsx)("div", {
73
+ className: (0, _classnames.default)(isLoading ? 'newspack-wizard__is-loading' : 'newspack-wizard__is-loaded', {
74
+ 'newspack-wizard__is-loading-quiet': isQuietLoading
75
+ }),
76
+ children: (0, _jsxRuntime.jsxs)(HashRouter, {
77
+ hashType: "slash",
78
+ children: [newspack_aux_data.is_debug_mode && (0, _jsxRuntime.jsx)(_.Notice, {
79
+ debugMode: true
80
+ }), (0, _jsxRuntime.jsx)("div", {
81
+ className: "bg-white",
82
+ children: (0, _jsxRuntime.jsx)("div", {
83
+ className: "newspack-wizard__header__inner",
84
+ children: (0, _jsxRuntime.jsxs)("div", {
85
+ className: "newspack-wizard__title",
86
+ children: [(0, _jsxRuntime.jsx)(_.Button, {
87
+ isLink: true,
88
+ href: newspack_urls.dashboard,
89
+ label: __('Return to Dashboard', 'newspack'),
90
+ showTooltip: true,
91
+ icon: _icons.category,
92
+ iconSize: 36,
93
+ children: (0, _jsxRuntime.jsx)(_.NewspackIcon, {
94
+ size: 36
95
+ })
96
+ }), (0, _jsxRuntime.jsxs)("div", {
97
+ children: [headerText && (0, _jsxRuntime.jsx)("h2", {
98
+ children: headerText
99
+ }), subHeaderText && (0, _jsxRuntime.jsx)("span", {
100
+ children: subHeaderText
101
+ })]
102
+ })]
103
+ })
104
+ })
105
+ }), displayedSections.length > 1 && (0, _jsxRuntime.jsx)(_.TabbedNavigation, {
106
+ items: displayedSections,
107
+ children: (0, _jsxRuntime.jsx)(_WizardError.default, {})
108
+ }), (0, _jsxRuntime.jsx)(_.HandoffMessage, {}), (0, _jsxRuntime.jsxs)(Switch, {
109
+ children: [displayedSections.map((section, index) => {
110
+ const SectionComponent = section.render;
111
+ return (0, _jsxRuntime.jsx)(Route, {
112
+ path: section.path,
113
+ children: (0, _jsxRuntime.jsxs)("div", {
114
+ className: (0, _classnames.default)('newspack-wizard newspack-wizard__content', className),
115
+ children: ['function' === typeof renderAboveSections ? renderAboveSections() : null, (0, _jsxRuntime.jsx)(SectionComponent, {})]
116
+ })
117
+ }, index);
118
+ }), (0, _jsxRuntime.jsx)(Redirect, {
119
+ to: displayedSections[0].path
120
+ })]
121
+ })]
122
+ })
123
+ }), !isLoading && (0, _jsxRuntime.jsx)(_.Footer, {
124
+ simple: hasSimpleFooter
125
+ })]
126
+ });
127
+ };
128
+ Wizard.useWizardData = _utils.useWizardData;
129
+ Wizard.STORE_NAMESPACE = _store.WIZARD_STORE_NAMESPACE;
130
+ var _default = Wizard;
131
+ exports.default = _default;