newspack-components 4.2.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 (316) 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 +186 -140
  7. package/dist/cjs/action-card/style.scss +25 -2
  8. package/dist/cjs/autocomplete-tokenfield/index.js +254 -234
  9. package/dist/cjs/autocomplete-with-latest-posts/index.js +351 -0
  10. package/dist/cjs/autocomplete-with-latest-posts/style.scss +150 -0
  11. package/dist/cjs/autocomplete-with-suggestions/index.js +229 -126
  12. package/dist/cjs/badge/index.js +32 -0
  13. package/dist/cjs/badge/style.scss +36 -0
  14. package/dist/cjs/box-contrast/index.js +19 -15
  15. package/dist/cjs/button/index.js +41 -24
  16. package/dist/cjs/button-props/button-props.js +5 -5
  17. package/dist/cjs/button-props/index.js +2 -2
  18. package/dist/cjs/card/core-card.js +199 -0
  19. package/dist/cjs/card/index.js +75 -35
  20. package/dist/cjs/card/style-core.scss +295 -0
  21. package/dist/cjs/card/style.scss +4 -4
  22. package/dist/cjs/card-feature/index.js +141 -0
  23. package/dist/cjs/card-feature/style.scss +75 -0
  24. package/dist/cjs/card-form/index.js +144 -0
  25. package/dist/cjs/card-form/style.scss +20 -0
  26. package/dist/cjs/card-settings-group/index.js +69 -0
  27. package/dist/cjs/card-settings-group/style.scss +33 -0
  28. package/dist/cjs/card-sortable-list/index.js +426 -0
  29. package/dist/cjs/card-sortable-list/style.scss +48 -0
  30. package/dist/cjs/category-autocomplete/index.js +175 -155
  31. package/dist/cjs/color-picker/index.js +41 -23
  32. package/dist/cjs/color-picker/index.test.js +82 -0
  33. package/dist/cjs/color-picker/style.scss +11 -13
  34. package/dist/cjs/confirm-dialog/index.js +123 -0
  35. package/dist/cjs/consts.js +1 -1
  36. package/dist/cjs/custom-select-control/index.js +39 -28
  37. package/dist/cjs/dataviews/index.js +38 -0
  38. package/dist/cjs/dataviews/style.scss +9 -0
  39. package/dist/cjs/divider/index.js +47 -0
  40. package/dist/cjs/divider/style.scss +51 -0
  41. package/dist/cjs/footer/index.js +36 -30
  42. package/dist/cjs/form-token-field/index.js +51 -40
  43. package/dist/cjs/form-token-field/style.scss +0 -5
  44. package/dist/cjs/global-notices/index.js +5 -5
  45. package/dist/cjs/grid/index.js +25 -18
  46. package/dist/cjs/grid/style.scss +67 -8
  47. package/dist/cjs/handoff/index.js +204 -156
  48. package/dist/cjs/handoff-message/index.js +12 -7
  49. package/dist/cjs/hooks/index.js +10 -8
  50. package/dist/cjs/hooks/use-confirm-dialog.js +79 -0
  51. package/dist/cjs/hooks/use-unsaved-changes-dialog.js +144 -0
  52. package/dist/cjs/hooks/useObjectState.js +21 -12
  53. package/dist/cjs/hooks/useObjectState.test.js +55 -33
  54. package/dist/cjs/hooks/useOnClickOutside.js +6 -6
  55. package/dist/cjs/hooks/usePrompt.js +10 -13
  56. package/dist/cjs/image-upload/index.js +114 -123
  57. package/dist/cjs/image-upload/index.test.js +11 -13
  58. package/dist/cjs/image-upload/style.scss +12 -40
  59. package/dist/cjs/index.js +166 -92
  60. package/dist/cjs/info-button/index.js +43 -32
  61. package/dist/cjs/integration-icons/active-campaign.js +22 -0
  62. package/dist/cjs/integration-icons/constant-contact.js +28 -0
  63. package/dist/cjs/integration-icons/fundraise-up.js +25 -0
  64. package/dist/cjs/integration-icons/index.js +48 -0
  65. package/dist/cjs/integration-icons/mailchimp.js +19 -0
  66. package/dist/cjs/integration-icons/salesforce.js +17 -0
  67. package/dist/cjs/integration-icons/wisepops.js +20 -0
  68. package/dist/cjs/modal/index.js +29 -19
  69. package/dist/cjs/modal/style.scss +47 -13
  70. package/dist/cjs/newspack-icon/index.js +45 -38
  71. package/dist/cjs/newspack-icon/style.scss +5 -3
  72. package/dist/cjs/notice/index.js +64 -55
  73. package/dist/cjs/plugin-installer/index.js +259 -253
  74. package/dist/cjs/plugin-settings/SettingsSection.js +66 -60
  75. package/dist/cjs/plugin-settings/index.js +217 -200
  76. package/dist/cjs/plugin-toggle/index.js +192 -199
  77. package/dist/cjs/popover/index.js +41 -28
  78. package/dist/cjs/position-control/index.js +24 -23
  79. package/dist/cjs/progress-bar/index.js +71 -59
  80. package/dist/cjs/progress-bar/index.test.js +62 -68
  81. package/dist/cjs/proxied-imports/router.js +3 -3
  82. package/dist/cjs/radio-control/index.js +40 -27
  83. package/dist/cjs/section-header/index.js +143 -39
  84. package/dist/cjs/section-header/style.scss +129 -4
  85. package/dist/cjs/select-control/ButtonGroupControl.js +26 -21
  86. package/dist/cjs/select-control/GroupedSelectControl.js +41 -35
  87. package/dist/cjs/select-control/index.js +52 -40
  88. package/dist/cjs/settings/MinMaxSetting.js +30 -20
  89. package/dist/cjs/settings/SettingsCard.js +20 -17
  90. package/dist/cjs/settings/SettingsSection.js +22 -21
  91. package/dist/cjs/settings/index.js +5 -5
  92. package/dist/cjs/sortable-newsletter-list-control/index.js +78 -57
  93. package/dist/cjs/steps-list/index.js +44 -34
  94. package/dist/cjs/steps-list-item/index.js +47 -39
  95. package/dist/cjs/style-card/index.js +70 -63
  96. package/dist/cjs/style.scss +2 -0
  97. package/dist/cjs/tabbed-navigation/index.js +38 -36
  98. package/dist/cjs/text-control/index.js +27 -25
  99. package/dist/cjs/utils/color.js +4 -4
  100. package/dist/cjs/utils/editor-toolbar-back-button.js +61 -0
  101. package/dist/cjs/utils/index.js +31 -19
  102. package/dist/cjs/utils/style.scss +8 -0
  103. package/dist/cjs/waiting/index.js +48 -35
  104. package/dist/cjs/waiting/style.scss +4 -0
  105. package/dist/cjs/web-preview/index.js +219 -154
  106. package/dist/cjs/web-preview/style.scss +20 -53
  107. package/dist/cjs/with-wizard/index.js +362 -364
  108. package/dist/cjs/with-wizard/style.scss +28 -60
  109. package/dist/cjs/with-wizard-screen/index.js +54 -58
  110. package/dist/cjs/with-wizard-screen/style.scss +77 -10
  111. package/dist/cjs/wizard/components/WizardError.js +20 -18
  112. package/dist/cjs/wizard/components/WizardSnackbar.js +73 -0
  113. package/dist/cjs/wizard/components/style.scss +48 -0
  114. package/dist/cjs/wizard/index.js +207 -64
  115. package/dist/cjs/wizard/store/index.js +191 -97
  116. package/dist/cjs/wizard/store/utils.js +13 -8
  117. package/dist/esm/accordion/index.js +14 -9
  118. package/dist/esm/action-card/index.js +178 -124
  119. package/dist/esm/action-card/style.scss +25 -2
  120. package/dist/esm/autocomplete-tokenfield/index.js +248 -222
  121. package/dist/esm/autocomplete-with-latest-posts/index.js +347 -0
  122. package/dist/esm/autocomplete-with-latest-posts/style.scss +150 -0
  123. package/dist/esm/autocomplete-with-suggestions/index.js +226 -119
  124. package/dist/esm/badge/index.js +24 -0
  125. package/dist/esm/badge/style.scss +36 -0
  126. package/dist/esm/box-contrast/index.js +15 -11
  127. package/dist/esm/button/index.js +39 -19
  128. package/dist/esm/button-props/button-props.js +1 -1
  129. package/dist/esm/card/core-card.js +195 -0
  130. package/dist/esm/card/index.js +70 -22
  131. package/dist/esm/card/style-core.scss +295 -0
  132. package/dist/esm/card/style.scss +4 -4
  133. package/dist/esm/card-feature/index.js +131 -0
  134. package/dist/esm/card-feature/style.scss +75 -0
  135. package/dist/esm/card-form/index.js +134 -0
  136. package/dist/esm/card-form/style.scss +20 -0
  137. package/dist/esm/card-settings-group/index.js +61 -0
  138. package/dist/esm/card-settings-group/style.scss +33 -0
  139. package/dist/esm/card-sortable-list/index.js +425 -0
  140. package/dist/esm/card-sortable-list/style.scss +48 -0
  141. package/dist/esm/category-autocomplete/index.js +168 -140
  142. package/dist/esm/color-picker/index.js +39 -21
  143. package/dist/esm/color-picker/index.test.js +78 -0
  144. package/dist/esm/color-picker/style.scss +11 -13
  145. package/dist/esm/confirm-dialog/index.js +116 -0
  146. package/dist/esm/consts.js +1 -1
  147. package/dist/esm/custom-select-control/index.js +34 -15
  148. package/dist/esm/dataviews/index.js +34 -0
  149. package/dist/esm/dataviews/style.scss +9 -0
  150. package/dist/esm/divider/index.js +42 -0
  151. package/dist/esm/divider/style.scss +51 -0
  152. package/dist/esm/footer/index.js +34 -28
  153. package/dist/esm/form-token-field/index.js +46 -27
  154. package/dist/esm/form-token-field/style.scss +0 -5
  155. package/dist/esm/global-notices/index.js +3 -3
  156. package/dist/esm/grid/index.js +23 -13
  157. package/dist/esm/grid/style.scss +67 -8
  158. package/dist/esm/handoff/index.js +199 -143
  159. package/dist/esm/handoff-message/index.js +10 -6
  160. package/dist/esm/hooks/index.js +8 -6
  161. package/dist/esm/hooks/use-confirm-dialog.js +73 -0
  162. package/dist/esm/hooks/use-unsaved-changes-dialog.js +136 -0
  163. package/dist/esm/hooks/useObjectState.js +19 -9
  164. package/dist/esm/hooks/useObjectState.test.js +54 -32
  165. package/dist/esm/hooks/useOnClickOutside.js +4 -4
  166. package/dist/esm/hooks/usePrompt.js +9 -11
  167. package/dist/esm/image-upload/index.js +110 -111
  168. package/dist/esm/image-upload/index.test.js +11 -13
  169. package/dist/esm/image-upload/style.scss +12 -40
  170. package/dist/esm/index.js +13 -1
  171. package/dist/esm/info-button/index.js +38 -19
  172. package/dist/esm/integration-icons/active-campaign.js +16 -0
  173. package/dist/esm/integration-icons/constant-contact.js +22 -0
  174. package/dist/esm/integration-icons/fundraise-up.js +19 -0
  175. package/dist/esm/integration-icons/index.js +6 -0
  176. package/dist/esm/integration-icons/mailchimp.js +13 -0
  177. package/dist/esm/integration-icons/salesforce.js +11 -0
  178. package/dist/esm/integration-icons/wisepops.js +14 -0
  179. package/dist/esm/modal/index.js +27 -13
  180. package/dist/esm/modal/style.scss +47 -13
  181. package/dist/esm/newspack-icon/index.js +40 -25
  182. package/dist/esm/newspack-icon/style.scss +5 -3
  183. package/dist/esm/notice/index.js +59 -42
  184. package/dist/esm/plugin-installer/index.js +255 -243
  185. package/dist/esm/plugin-settings/SettingsSection.js +61 -50
  186. package/dist/esm/plugin-settings/index.js +212 -189
  187. package/dist/esm/plugin-toggle/index.js +187 -190
  188. package/dist/esm/popover/index.js +35 -16
  189. package/dist/esm/position-control/index.js +22 -18
  190. package/dist/esm/progress-bar/index.js +66 -49
  191. package/dist/esm/progress-bar/index.test.js +61 -67
  192. package/dist/esm/radio-control/index.js +34 -15
  193. package/dist/esm/section-header/index.js +140 -38
  194. package/dist/esm/section-header/style.scss +129 -4
  195. package/dist/esm/select-control/ButtonGroupControl.js +23 -18
  196. package/dist/esm/select-control/GroupedSelectControl.js +38 -30
  197. package/dist/esm/select-control/index.js +47 -27
  198. package/dist/esm/settings/MinMaxSetting.js +27 -16
  199. package/dist/esm/settings/SettingsCard.js +18 -13
  200. package/dist/esm/settings/SettingsSection.js +20 -19
  201. package/dist/esm/settings/index.js +3 -3
  202. package/dist/esm/sortable-newsletter-list-control/index.js +74 -53
  203. package/dist/esm/steps-list/index.js +39 -21
  204. package/dist/esm/steps-list-item/index.js +42 -26
  205. package/dist/esm/style-card/index.js +65 -50
  206. package/dist/esm/style.scss +2 -0
  207. package/dist/esm/tabbed-navigation/index.js +35 -33
  208. package/dist/esm/text-control/index.js +25 -19
  209. package/dist/esm/utils/color.js +4 -4
  210. package/dist/esm/utils/editor-toolbar-back-button.js +53 -0
  211. package/dist/esm/utils/index.js +29 -16
  212. package/dist/esm/utils/style.scss +8 -0
  213. package/dist/esm/waiting/index.js +43 -22
  214. package/dist/esm/waiting/style.scss +4 -0
  215. package/dist/esm/web-preview/index.js +218 -147
  216. package/dist/esm/web-preview/style.scss +20 -53
  217. package/dist/esm/with-wizard/index.js +360 -358
  218. package/dist/esm/with-wizard/style.scss +28 -60
  219. package/dist/esm/with-wizard-screen/index.js +48 -46
  220. package/dist/esm/with-wizard-screen/style.scss +77 -10
  221. package/dist/esm/wizard/components/WizardError.js +18 -16
  222. package/dist/esm/wizard/components/WizardSnackbar.js +70 -0
  223. package/dist/esm/wizard/components/style.scss +48 -0
  224. package/dist/esm/wizard/index.js +207 -58
  225. package/dist/esm/wizard/store/index.js +189 -90
  226. package/dist/esm/wizard/store/utils.js +13 -6
  227. package/package.json +30 -17
  228. package/release.config.js +1 -0
  229. package/shared/author-context.js +26 -0
  230. package/shared/hooks/use-coauthors.js +388 -0
  231. package/shared/hooks/use-coauthors.test.js +850 -0
  232. package/shared/hooks/use-custom-byline.js +47 -0
  233. package/shared/hooks/use-custom-byline.test.js +133 -0
  234. package/shared/scss/_mixins.scss +54 -0
  235. package/src/accordion/index.js +8 -7
  236. package/src/action-card/action-card.d.ts +7 -3
  237. package/src/action-card/index.js +39 -12
  238. package/src/action-card/style.scss +25 -2
  239. package/src/autocomplete-tokenfield/index.js +2 -2
  240. package/src/autocomplete-with-latest-posts/index.js +290 -0
  241. package/src/autocomplete-with-latest-posts/style.scss +150 -0
  242. package/src/badge/index.tsx +26 -0
  243. package/src/badge/style.scss +36 -0
  244. package/src/button/index.tsx +3 -2
  245. package/src/card/core-card.js +224 -0
  246. package/src/card/index.js +40 -1
  247. package/src/card/style-core.scss +295 -0
  248. package/src/card/style.scss +4 -4
  249. package/src/card-feature/README.md +188 -0
  250. package/src/card-feature/index.tsx +186 -0
  251. package/src/card-feature/style.scss +75 -0
  252. package/src/card-form/README.md +113 -0
  253. package/src/card-form/index.tsx +128 -0
  254. package/src/card-form/style.scss +20 -0
  255. package/src/card-settings-group/README.md +43 -0
  256. package/src/card-settings-group/index.tsx +78 -0
  257. package/src/card-settings-group/style.scss +33 -0
  258. package/src/card-sortable-list/README.md +51 -0
  259. package/src/card-sortable-list/index.tsx +435 -0
  260. package/src/card-sortable-list/style.scss +48 -0
  261. package/src/color-picker/index.js +15 -8
  262. package/src/color-picker/index.test.js +52 -0
  263. package/src/color-picker/style.scss +11 -13
  264. package/src/confirm-dialog/README.md +128 -0
  265. package/src/confirm-dialog/index.tsx +132 -0
  266. package/src/dataviews/index.tsx +34 -0
  267. package/src/dataviews/style.scss +9 -0
  268. package/src/divider/README.md +25 -0
  269. package/src/divider/index.js +31 -0
  270. package/src/divider/style.scss +51 -0
  271. package/src/form-token-field/style.scss +0 -5
  272. package/src/grid/index.tsx +2 -1
  273. package/src/grid/style.scss +67 -8
  274. package/src/handoff/README.md +93 -0
  275. package/src/handoff/index.js +46 -8
  276. package/src/hooks/index.ts +2 -1
  277. package/src/hooks/use-confirm-dialog.tsx +80 -0
  278. package/src/hooks/use-unsaved-changes-dialog.tsx +140 -0
  279. package/src/image-upload/index.js +10 -15
  280. package/src/image-upload/style.scss +12 -40
  281. package/src/index.js +13 -1
  282. package/src/integration-icons/active-campaign.js +14 -0
  283. package/src/integration-icons/constant-contact.js +22 -0
  284. package/src/integration-icons/fundraise-up.js +18 -0
  285. package/src/integration-icons/index.js +6 -0
  286. package/src/integration-icons/mailchimp.js +10 -0
  287. package/src/integration-icons/salesforce.js +10 -0
  288. package/src/integration-icons/wisepops.js +14 -0
  289. package/src/modal/index.js +12 -3
  290. package/src/modal/style.scss +47 -13
  291. package/src/newspack-icon/style.scss +5 -3
  292. package/src/plugin-installer/index.js +30 -19
  293. package/src/section-header/index.js +105 -14
  294. package/src/section-header/style.scss +129 -4
  295. package/src/select-control/index.js +4 -0
  296. package/src/style.scss +2 -0
  297. package/src/utils/editor-toolbar-back-button.tsx +48 -0
  298. package/src/utils/index.js +6 -0
  299. package/src/utils/style.scss +8 -0
  300. package/src/waiting/index.js +2 -1
  301. package/src/waiting/style.scss +4 -0
  302. package/src/web-preview/index.js +90 -35
  303. package/src/web-preview/style.scss +20 -53
  304. package/src/with-wizard/index.js +1 -1
  305. package/src/with-wizard/style.scss +28 -60
  306. package/src/with-wizard-screen/style.scss +77 -10
  307. package/src/wizard/components/WizardSnackbar.js +58 -0
  308. package/src/wizard/components/style.scss +48 -0
  309. package/src/wizard/index.js +152 -21
  310. package/src/wizard/store/index.js +28 -2
  311. package/dist/cjs/button-card/index.js +0 -72
  312. package/dist/cjs/button-card/style.scss +0 -180
  313. package/dist/esm/button-card/index.js +0 -64
  314. package/dist/esm/button-card/style.scss +0 -180
  315. package/src/button-card/index.js +0 -52
  316. package/src/button-card/style.scss +0 -180
@@ -1,3 +1,10 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
7
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1
8
  /**
2
9
  * Steps List Item
3
10
  */
@@ -17,31 +24,40 @@ import './style.scss';
17
24
  */
18
25
  import classnames from 'classnames';
19
26
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- class StepsListItem extends Component {
21
- /**
22
- * Render
23
- */
24
- render() {
25
- const {
26
- className,
27
- listItemCount,
28
- listItemText,
29
- style = {}
30
- } = this.props;
31
- const classes = classnames('steps-list-item', className);
32
- return /*#__PURE__*/_jsxs("div", {
33
- className: classes,
34
- style: style,
35
- children: [/*#__PURE__*/_jsx("div", {
36
- className: "steps-list-item__number",
37
- children: listItemCount
38
- }), /*#__PURE__*/_jsx("div", {
39
- className: "steps-list-item__content",
40
- dangerouslySetInnerHTML: {
41
- __html: listItemText
42
- }
43
- })]
44
- });
27
+ var StepsListItem = /*#__PURE__*/function (_Component) {
28
+ function StepsListItem() {
29
+ _classCallCheck(this, StepsListItem);
30
+ return _callSuper(this, StepsListItem, arguments);
45
31
  }
46
- }
32
+ _inherits(StepsListItem, _Component);
33
+ return _createClass(StepsListItem, [{
34
+ key: "render",
35
+ value:
36
+ /**
37
+ * Render
38
+ */
39
+ function render() {
40
+ var _this$props = this.props,
41
+ className = _this$props.className,
42
+ listItemCount = _this$props.listItemCount,
43
+ listItemText = _this$props.listItemText,
44
+ _this$props$style = _this$props.style,
45
+ style = _this$props$style === void 0 ? {} : _this$props$style;
46
+ var classes = classnames('steps-list-item', className);
47
+ return /*#__PURE__*/_jsxs("div", {
48
+ className: classes,
49
+ style: style,
50
+ children: [/*#__PURE__*/_jsx("div", {
51
+ className: "steps-list-item__number",
52
+ children: listItemCount
53
+ }), /*#__PURE__*/_jsx("div", {
54
+ className: "steps-list-item__content",
55
+ dangerouslySetInnerHTML: {
56
+ __html: listItemText
57
+ }
58
+ })]
59
+ });
60
+ }
61
+ }]);
62
+ }(Component);
47
63
  export default StepsListItem;
@@ -1,3 +1,10 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
7
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1
8
  /**
2
9
  * Style Card
3
10
  */
@@ -20,56 +27,64 @@ import './style.scss';
20
27
  */
21
28
  import classnames from 'classnames';
22
29
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
- class StyleCard extends Component {
24
- /**
25
- * Render.
26
- */
27
- render() {
28
- const {
29
- ariaLabel,
30
- className,
31
- cardTitle,
32
- url,
33
- image,
34
- imageType,
35
- isActive,
36
- onClick,
37
- id
38
- } = this.props;
39
- const classes = classnames('newspack-style-card', isActive && 'newspack-style-card__is-active', className);
40
- return /*#__PURE__*/_jsxs("div", {
41
- className: classes,
42
- id: id,
43
- children: [/*#__PURE__*/_jsxs("div", {
44
- className: "newspack-style-card__image",
45
- children: [imageType === 'html' ? /*#__PURE__*/_jsx("div", {
46
- className: "newspack-style-card__image-html",
47
- dangerouslySetInnerHTML: image
48
- }) : /*#__PURE__*/_jsx("img", {
49
- src: image,
50
- alt: cardTitle + ' ' + __('Thumbnail', 'newspack-plugin')
51
- }), /*#__PURE__*/_jsxs("div", {
52
- className: "newspack-style-card__actions",
53
- children: [isActive ? /*#__PURE__*/_jsx("span", {
54
- className: "newspack-style-card__actions__badge",
55
- children: __('Selected', 'newspack-plugin')
56
- }) : /*#__PURE__*/_jsx(Button, {
57
- variant: "link",
58
- onClick: onClick,
59
- "aria-label": ariaLabel ? ariaLabel : __('Select', 'newspack-plugin') + ' ' + cardTitle,
60
- tabIndex: "0",
61
- children: __('Select', 'newspack-plugin')
62
- }), url && /*#__PURE__*/_jsx(WebPreview, {
63
- url: url,
64
- label: __('View Demo', 'newspack-plugin'),
65
- variant: "link"
30
+ var StyleCard = /*#__PURE__*/function (_Component) {
31
+ function StyleCard() {
32
+ _classCallCheck(this, StyleCard);
33
+ return _callSuper(this, StyleCard, arguments);
34
+ }
35
+ _inherits(StyleCard, _Component);
36
+ return _createClass(StyleCard, [{
37
+ key: "render",
38
+ value:
39
+ /**
40
+ * Render.
41
+ */
42
+ function render() {
43
+ var _this$props = this.props,
44
+ ariaLabel = _this$props.ariaLabel,
45
+ className = _this$props.className,
46
+ cardTitle = _this$props.cardTitle,
47
+ url = _this$props.url,
48
+ image = _this$props.image,
49
+ imageType = _this$props.imageType,
50
+ isActive = _this$props.isActive,
51
+ onClick = _this$props.onClick,
52
+ id = _this$props.id;
53
+ var classes = classnames('newspack-style-card', isActive && 'newspack-style-card__is-active', className);
54
+ return /*#__PURE__*/_jsxs("div", {
55
+ className: classes,
56
+ id: id,
57
+ children: [/*#__PURE__*/_jsxs("div", {
58
+ className: "newspack-style-card__image",
59
+ children: [imageType === 'html' ? /*#__PURE__*/_jsx("div", {
60
+ className: "newspack-style-card__image-html",
61
+ dangerouslySetInnerHTML: image
62
+ }) : /*#__PURE__*/_jsx("img", {
63
+ src: image,
64
+ alt: cardTitle + ' ' + __('Thumbnail', 'newspack-plugin')
65
+ }), /*#__PURE__*/_jsxs("div", {
66
+ className: "newspack-style-card__actions",
67
+ children: [isActive ? /*#__PURE__*/_jsx("span", {
68
+ className: "newspack-style-card__actions__badge",
69
+ children: __('Selected', 'newspack-plugin')
70
+ }) : /*#__PURE__*/_jsx(Button, {
71
+ variant: "link",
72
+ onClick: onClick,
73
+ "aria-label": ariaLabel ? ariaLabel : __('Select', 'newspack-plugin') + ' ' + cardTitle,
74
+ tabIndex: "0",
75
+ children: __('Select', 'newspack-plugin')
76
+ }), url && /*#__PURE__*/_jsx(WebPreview, {
77
+ url: url,
78
+ label: __('View Demo', 'newspack-plugin'),
79
+ variant: "link"
80
+ })]
66
81
  })]
82
+ }), cardTitle && /*#__PURE__*/_jsx("div", {
83
+ className: "newspack-style-card__title",
84
+ children: cardTitle
67
85
  })]
68
- }), cardTitle && /*#__PURE__*/_jsx("div", {
69
- className: "newspack-style-card__title",
70
- children: cardTitle
71
- })]
72
- });
73
- }
74
- }
86
+ });
87
+ }
88
+ }]);
89
+ }(Component);
75
90
  export default StyleCard;
@@ -9,6 +9,8 @@
9
9
  --wp-admin-theme-color-darker-10--rgb: #{colors.$primary-700--rgb};
10
10
  --wp-admin-theme-color-darker-20: #{colors.$primary-800};
11
11
  --wp-admin-theme-color-darker-20--rgb: #{colors.$primary-800--rgb};
12
+ --wp-admin-theme-color-lighter-10: #{colors.$primary-000};
13
+ --wp-admin-theme-color-lighter-10--rgb: #{colors.$primary-000--rgb};
12
14
  }
13
15
 
14
16
  // Buttons Card
@@ -10,29 +10,28 @@ import Router from '../proxied-imports/router';
10
10
  */
11
11
  import './style.scss';
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const {
14
- NavLink,
15
- useHistory
16
- } = Router;
17
- const TabbedNavigation = ({
18
- items,
19
- className,
20
- disableUpcoming,
21
- children = null
22
- }) => {
23
- const displayedItems = items.filter(item => !item.isHiddenInTabbedNavigation);
24
- const {
25
- location
26
- } = useHistory();
27
- const currentIndex = findIndex(displayedItems, ['path', location.pathname]);
28
- function isActive(item, match, pathname) {
13
+ var NavLink = Router.NavLink,
14
+ useHistory = Router.useHistory;
15
+ var TabbedNavigation = function TabbedNavigation(_ref) {
16
+ var items = _ref.items,
17
+ className = _ref.className,
18
+ disableUpcoming = _ref.disableUpcoming,
19
+ _ref$children = _ref.children,
20
+ children = _ref$children === void 0 ? null : _ref$children;
21
+ var displayedItems = items.filter(function (item) {
22
+ return !item.isHiddenInTabbedNavigation;
23
+ });
24
+ var _useHistory = useHistory(),
25
+ location = _useHistory.location;
26
+ var currentIndex = findIndex(displayedItems, ['path', location.pathname]);
27
+ function _isActive(item, match, pathname) {
29
28
  if (item.path === pathname) {
30
29
  return true;
31
30
  }
32
- if (Array.isArray(item?.activeTabPaths)) {
33
- return item.activeTabPaths.some(path => {
31
+ if (Array.isArray(item === null || item === void 0 ? void 0 : item.activeTabPaths)) {
32
+ return item.activeTabPaths.some(function (path) {
34
33
  if (path.endsWith('*')) {
35
- const basePath = path.slice(0, -1);
34
+ var basePath = path.slice(0, -1);
36
35
  return pathname.startsWith(basePath);
37
36
  }
38
37
  return item.activeTabPaths.includes(pathname);
@@ -43,20 +42,23 @@ const TabbedNavigation = ({
43
42
  return /*#__PURE__*/_jsxs("div", {
44
43
  className: classnames('newspack-tabbed-navigation', className),
45
44
  children: [/*#__PURE__*/_jsx("ul", {
46
- children: displayedItems.map((item, index) => /*#__PURE__*/_jsx("li", {
47
- children: /*#__PURE__*/_jsx(NavLink, {
48
- to: item.path,
49
- isActive: (match, {
50
- pathname
51
- }) => isActive(item, match, pathname),
52
- exact: item.hasOwnProperty('exact') ? item.exact : true,
53
- activeClassName: 'selected',
54
- className: classnames({
55
- disabled: disableUpcoming && index > currentIndex
56
- }),
57
- children: item.label
58
- })
59
- }, index))
45
+ children: displayedItems.map(function (item, index) {
46
+ return /*#__PURE__*/_jsx("li", {
47
+ children: /*#__PURE__*/_jsx(NavLink, {
48
+ to: item.path,
49
+ isActive: function isActive(match, _ref2) {
50
+ var pathname = _ref2.pathname;
51
+ return _isActive(item, match, pathname);
52
+ },
53
+ exact: item.hasOwnProperty('exact') ? item.exact : true,
54
+ activeClassName: 'selected',
55
+ className: classnames({
56
+ disabled: disableUpcoming && index > currentIndex
57
+ }),
58
+ children: item.label
59
+ })
60
+ }, index);
61
+ })
60
62
  }), children]
61
63
  });
62
64
  };
@@ -1,3 +1,8 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["className", "required", "isWide", "withMargin"];
4
+ 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; }
5
+ 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
6
  /**
2
7
  * Text Control
3
8
  */
@@ -19,38 +24,39 @@ import './style.scss';
19
24
  */
20
25
  import classNames from 'classnames';
21
26
  import { jsx as _jsx } from "react/jsx-runtime";
22
- const TextControl = ({
23
- className = '',
24
- required = false,
25
- isWide = false,
26
- withMargin = true,
27
- ...otherProps
28
- }) => {
29
- const wrapperRef = useRef(null);
30
- useEffect(() => {
27
+ var TextControl = function TextControl(_ref) {
28
+ var _ref$className = _ref.className,
29
+ className = _ref$className === void 0 ? '' : _ref$className,
30
+ _ref$required = _ref.required,
31
+ required = _ref$required === void 0 ? false : _ref$required,
32
+ _ref$isWide = _ref.isWide,
33
+ isWide = _ref$isWide === void 0 ? false : _ref$isWide,
34
+ _ref$withMargin = _ref.withMargin,
35
+ withMargin = _ref$withMargin === void 0 ? true : _ref$withMargin,
36
+ otherProps = _objectWithoutProperties(_ref, _excluded);
37
+ var wrapperRef = useRef(null);
38
+ useEffect(function () {
31
39
  if (wrapperRef.current === null) {
32
40
  return;
33
41
  }
34
- const labelEl = wrapperRef.current.querySelector('label');
42
+ var labelEl = wrapperRef.current.querySelector('label');
35
43
  if (labelEl) {
36
44
  labelEl.setAttribute('data-required-text', __('(required)', 'newspack-plugin'));
37
45
  }
38
46
  }, [wrapperRef.current]);
39
- const classes = classNames('newspack-text-control', {
47
+ var classes = classNames('newspack-text-control', {
40
48
  'newspack-text-control--wide': isWide,
41
49
  'newspack-text-control--with-margin': withMargin
42
50
  }, className);
43
51
  return required ? /*#__PURE__*/_jsx("div", {
44
52
  ref: wrapperRef,
45
53
  className: "newspack-text-control--required",
46
- children: /*#__PURE__*/_jsx(BaseComponent, {
54
+ children: /*#__PURE__*/_jsx(BaseComponent, _objectSpread({
47
55
  className: classes,
48
- required: required,
49
- ...otherProps
50
- })
51
- }) : /*#__PURE__*/_jsx(BaseComponent, {
52
- className: classes,
53
- ...otherProps
54
- });
56
+ required: required
57
+ }, otherProps))
58
+ }) : /*#__PURE__*/_jsx(BaseComponent, _objectSpread({
59
+ className: classes
60
+ }, otherProps));
55
61
  };
56
62
  export default TextControl;
@@ -17,12 +17,12 @@ export function getContrast(hexcolor) {
17
17
  }
18
18
 
19
19
  // Convert to RGB value
20
- const r = parseInt(hexcolor.substring(0, 2), 16);
21
- const g = parseInt(hexcolor.substring(2, 4), 16);
22
- const b = parseInt(hexcolor.substring(4), 16);
20
+ var r = parseInt(hexcolor.substring(0, 2), 16);
21
+ var g = parseInt(hexcolor.substring(2, 4), 16);
22
+ var b = parseInt(hexcolor.substring(4), 16);
23
23
 
24
24
  // Get YIQ ratio
25
- const yiq = (r * 299 + g * 587 + b * 114) / 1000;
25
+ var yiq = (r * 299 + g * 587 + b * 114) / 1000;
26
26
 
27
27
  // Check contrast
28
28
  return yiq >= 128 ? 'black' : 'white';
@@ -0,0 +1,53 @@
1
+ /**
2
+ * A utility to add a back button to the editor toolbar.
3
+ */
4
+
5
+ /**
6
+ * WordPress dependencies
7
+ */
8
+ import { __ } from '@wordpress/i18n';
9
+ import { Button, Tooltip } from '@wordpress/components';
10
+ import { subscribe } from '@wordpress/data';
11
+ import domReady from '@wordpress/dom-ready';
12
+ import { createRoot } from '@wordpress/element';
13
+ import { arrowUpLeft } from '@wordpress/icons';
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+ import './style.scss';
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ var WRAPPER_ID = 'newspack-editor-toolbar-wrapper';
21
+ var ToolbarButton = function ToolbarButton(_ref) {
22
+ var href = _ref.href;
23
+ return /*#__PURE__*/_jsx(Tooltip, {
24
+ text: __('Go back', 'newspack-plugin'),
25
+ children: /*#__PURE__*/_jsx(Button, {
26
+ icon: arrowUpLeft,
27
+ label: __('Go back', 'newspack-plugin'),
28
+ href: href
29
+ })
30
+ });
31
+ };
32
+ export var addToolbarBackButton = function addToolbarBackButton() {
33
+ var href = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
34
+ var unsubscribe = subscribe(function () {
35
+ domReady(function () {
36
+ if (document.getElementById(WRAPPER_ID)) {
37
+ return;
38
+ }
39
+ var toolbar = document.querySelector('.editor-header__toolbar');
40
+ if (!toolbar) {
41
+ return;
42
+ }
43
+ var wrapper = document.createElement('div');
44
+ wrapper.id = WRAPPER_ID;
45
+ toolbar.prepend(wrapper);
46
+ var root = createRoot(wrapper);
47
+ root.render(/*#__PURE__*/_jsx(ToolbarButton, {
48
+ href: href
49
+ }));
50
+ unsubscribe();
51
+ });
52
+ });
53
+ };
@@ -1,22 +1,34 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["style"];
4
+ 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; }
5
+ 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
6
  /**
2
7
  * WordPress dependencies.
3
8
  */
4
9
  import { ENTER } from '@wordpress/keycodes';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import { addToolbarBackButton } from './editor-toolbar-back-button';
5
15
  import { jsx as _jsx } from "react/jsx-runtime";
6
- const InteractiveDiv = ({
7
- style = {},
8
- ...props
9
- }) => /*#__PURE__*/_jsx("div", {
10
- tabIndex: "0",
11
- role: "button",
12
- onKeyDown: event => ENTER === event.keyCode && props.onClick(),
13
- style: {
14
- cursor: 'pointer',
15
- ...style
16
- },
17
- ...props
18
- });
19
- const confirmAction = message => {
16
+ var InteractiveDiv = function InteractiveDiv(_ref) {
17
+ var _ref$style = _ref.style,
18
+ style = _ref$style === void 0 ? {} : _ref$style,
19
+ props = _objectWithoutProperties(_ref, _excluded);
20
+ return /*#__PURE__*/_jsx("div", _objectSpread({
21
+ tabIndex: "0",
22
+ role: "button",
23
+ onKeyDown: function onKeyDown(event) {
24
+ return ENTER === event.keyCode && props.onClick();
25
+ },
26
+ style: _objectSpread({
27
+ cursor: 'pointer'
28
+ }, style)
29
+ }, props));
30
+ };
31
+ var confirmAction = function confirmAction(message) {
20
32
  // eslint-disable-next-line no-alert
21
33
  if (confirm(message)) {
22
34
  return true;
@@ -24,6 +36,7 @@ const confirmAction = message => {
24
36
  return false;
25
37
  };
26
38
  export default {
27
- InteractiveDiv,
28
- confirmAction
39
+ InteractiveDiv: InteractiveDiv,
40
+ confirmAction: confirmAction,
41
+ addToolbarBackButton: addToolbarBackButton
29
42
  };
@@ -0,0 +1,8 @@
1
+ @use "~@wordpress/base-styles/variables" as wp-vars;
2
+
3
+ #newspack-editor-toolbar-wrapper {
4
+ margin-right: wp-vars.$grid-unit-10;
5
+ .is-fullscreen-mode & {
6
+ display: none;
7
+ }
8
+ }
@@ -1,3 +1,15 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _inherits from "@babel/runtime/helpers/inherits";
8
+ var _excluded = ["className", "isRight", "isLeft", "isCenter", "noMargin"];
9
+ 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; }
10
+ 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; }
11
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
12
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1
13
  /**
2
14
  * Waiting
3
15
  */
@@ -18,27 +30,36 @@ import './style.scss';
18
30
  */
19
31
  import classnames from 'classnames';
20
32
  import { jsx as _jsx } from "react/jsx-runtime";
21
- class Waiting extends Component {
22
- /**
23
- * Render
24
- */
25
- render() {
26
- const {
27
- className,
28
- isRight,
29
- isLeft,
30
- isCenter,
31
- ...otherProps
32
- } = this.props;
33
- const classes = classnames('newspack-waiting', className, {
34
- 'is-right': isRight,
35
- 'is-left': isLeft,
36
- 'is-center': isCenter
37
- });
38
- return /*#__PURE__*/_jsx(Spinner, {
39
- className: classes,
40
- ...otherProps
41
- });
33
+ var Waiting = /*#__PURE__*/function (_Component) {
34
+ function Waiting() {
35
+ _classCallCheck(this, Waiting);
36
+ return _callSuper(this, Waiting, arguments);
42
37
  }
43
- }
38
+ _inherits(Waiting, _Component);
39
+ return _createClass(Waiting, [{
40
+ key: "render",
41
+ value:
42
+ /**
43
+ * Render
44
+ */
45
+ function render() {
46
+ var _this$props = this.props,
47
+ className = _this$props.className,
48
+ isRight = _this$props.isRight,
49
+ isLeft = _this$props.isLeft,
50
+ isCenter = _this$props.isCenter,
51
+ noMargin = _this$props.noMargin,
52
+ otherProps = _objectWithoutProperties(_this$props, _excluded);
53
+ var classes = classnames('newspack-waiting', className, {
54
+ 'is-right': isRight,
55
+ 'is-left': isLeft,
56
+ 'is-center': isCenter,
57
+ 'no-margin': noMargin
58
+ });
59
+ return /*#__PURE__*/_jsx(Spinner, _objectSpread({
60
+ className: classes
61
+ }, otherProps));
62
+ }
63
+ }]);
64
+ }(Component);
44
65
  export default Waiting;
@@ -24,4 +24,8 @@
24
24
  &.is-center {
25
25
  margin: auto;
26
26
  }
27
+
28
+ &.no-margin {
29
+ margin: 0;
30
+ }
27
31
  }