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