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

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