newspack-components 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/dist/cjs/accordion/index.js +46 -0
  2. package/dist/cjs/accordion/style.scss +27 -0
  3. package/dist/cjs/action-card/index.js +48 -25
  4. package/dist/cjs/action-card/style.scss +100 -23
  5. package/dist/cjs/autocomplete-tokenfield/index.js +13 -41
  6. package/dist/cjs/autocomplete-tokenfield/style.scss +2 -2
  7. package/dist/cjs/autocomplete-with-suggestions/index.js +30 -51
  8. package/dist/cjs/autocomplete-with-suggestions/style.scss +16 -15
  9. package/dist/cjs/button/index.js +5 -13
  10. package/dist/cjs/button-card/index.js +1 -10
  11. package/dist/cjs/button-card/style.scss +13 -13
  12. package/dist/cjs/button-group/index.js +57 -0
  13. package/dist/cjs/button-group/style.scss +73 -0
  14. package/dist/cjs/card/index.js +1 -8
  15. package/dist/cjs/card/style.scss +25 -8
  16. package/dist/cjs/category-autocomplete/index.js +18 -38
  17. package/dist/cjs/category-autocomplete/style.scss +0 -2
  18. package/dist/cjs/checkbox-control/index.js +63 -0
  19. package/dist/cjs/checkbox-control/style.scss +78 -0
  20. package/dist/cjs/color-picker/index.js +1 -15
  21. package/dist/cjs/color-picker/style.scss +0 -3
  22. package/dist/cjs/consts.js +5 -3
  23. package/dist/cjs/custom-select-control/index.js +1 -9
  24. package/dist/cjs/custom-select-control/style.scss +6 -7
  25. package/dist/cjs/date-range-picker/index.js +1 -10
  26. package/dist/cjs/date-range-picker/style.scss +12 -12
  27. package/dist/cjs/footer/index.js +5 -17
  28. package/dist/cjs/footer/style.scss +5 -5
  29. package/dist/cjs/form-token-field/index.js +1 -9
  30. package/dist/cjs/form-token-field/style.scss +2 -3
  31. package/dist/cjs/global-notices/index.js +1 -8
  32. package/dist/cjs/grid/index.js +1 -8
  33. package/dist/cjs/grid/style.scss +5 -5
  34. package/dist/cjs/handoff/index.js +8 -17
  35. package/dist/cjs/handoff-message/index.js +50 -0
  36. package/dist/cjs/hooks/index.js +1 -7
  37. package/dist/cjs/hooks/useObjectState.js +7 -13
  38. package/dist/cjs/hooks/useObjectState.test.js +0 -14
  39. package/dist/cjs/hooks/useOnClickOutside.js +3 -6
  40. package/dist/cjs/hooks/usePrompt.js +1 -13
  41. package/dist/cjs/image-upload/index.js +21 -19
  42. package/dist/cjs/image-upload/index.test.js +0 -5
  43. package/dist/cjs/image-upload/style.scss +5 -9
  44. package/dist/cjs/index.js +28 -44
  45. package/dist/cjs/info-button/index.js +3 -11
  46. package/dist/cjs/info-button/style.scss +1 -3
  47. package/dist/cjs/modal/index.js +1 -9
  48. package/dist/cjs/modal/style.scss +8 -8
  49. package/dist/cjs/newspack-icon/index.js +1 -9
  50. package/dist/cjs/newspack-icon/style.scss +4 -4
  51. package/dist/cjs/newspack-logo/index.js +1 -9
  52. package/dist/cjs/newspack-logo/style.scss +3 -3
  53. package/dist/cjs/notice/index.js +8 -15
  54. package/dist/cjs/notice/style.scss +28 -15
  55. package/dist/cjs/patrons-logo/index.js +3 -11
  56. package/dist/cjs/plugin-installer/index.js +36 -36
  57. package/dist/cjs/plugin-installer/style.scss +5 -5
  58. package/dist/cjs/plugin-settings/SettingsSection.js +9 -28
  59. package/dist/cjs/plugin-settings/index.js +39 -22
  60. package/dist/cjs/plugin-toggle/index.js +40 -33
  61. package/dist/cjs/plugin-toggle/style.scss +2 -2
  62. package/dist/cjs/popover/index.js +1 -11
  63. package/dist/cjs/popover/style.scss +19 -16
  64. package/dist/cjs/position-control/index.js +113 -0
  65. package/dist/cjs/position-control/style.scss +66 -0
  66. package/dist/cjs/preview-box/index.js +36 -0
  67. package/dist/cjs/preview-box/style.scss +18 -0
  68. package/dist/cjs/progress-bar/index.js +2 -9
  69. package/dist/cjs/progress-bar/index.test.js +2 -7
  70. package/dist/cjs/progress-bar/style.scss +4 -4
  71. package/dist/cjs/proxied-imports/router.js +0 -3
  72. package/dist/cjs/radio-control/index.js +1 -11
  73. package/dist/cjs/radio-control/style.scss +9 -9
  74. package/dist/cjs/section-header/index.js +44 -29
  75. package/dist/cjs/section-header/style.scss +2 -2
  76. package/dist/cjs/select-control/ButtonGroupControl.js +4 -13
  77. package/dist/cjs/select-control/GroupedSelectControl.js +9 -15
  78. package/dist/cjs/select-control/index.js +5 -12
  79. package/dist/cjs/select-control/style.scss +2 -2
  80. package/dist/cjs/settings/MinMaxSetting.js +3 -7
  81. package/dist/cjs/settings/SettingsCard.js +3 -7
  82. package/dist/cjs/settings/SettingsSection.js +1 -4
  83. package/dist/cjs/settings/index.js +0 -6
  84. package/dist/cjs/settings/style.scss +1 -1
  85. package/dist/cjs/steps-list/index.js +52 -0
  86. package/dist/cjs/steps-list/style.scss +11 -0
  87. package/dist/cjs/steps-list-item/index.js +56 -0
  88. package/dist/cjs/steps-list-item/style.scss +47 -0
  89. package/dist/cjs/style-card/index.js +6 -13
  90. package/dist/cjs/style-card/style.scss +9 -12
  91. package/dist/cjs/style.scss +5 -6
  92. package/dist/cjs/tabbed-navigation/index.js +19 -16
  93. package/dist/cjs/tabbed-navigation/style.scss +3 -4
  94. package/dist/cjs/text-control/index.js +6 -16
  95. package/dist/cjs/textarea-control/index.js +54 -0
  96. package/dist/cjs/textarea-control/style.scss +76 -0
  97. package/dist/cjs/toggle-control/index.js +58 -0
  98. package/dist/cjs/toggle-control/style.scss +74 -0
  99. package/dist/cjs/toggle-group/index.js +71 -0
  100. package/dist/cjs/toggle-group/style.scss +28 -0
  101. package/dist/cjs/utils/index.js +10 -5
  102. package/dist/cjs/waiting/index.js +1 -9
  103. package/dist/cjs/web-preview/index.js +13 -28
  104. package/dist/cjs/web-preview/style.scss +14 -14
  105. package/dist/cjs/with-wizard/index.js +51 -31
  106. package/dist/cjs/with-wizard/style.scss +35 -37
  107. package/dist/cjs/with-wizard-screen/index.js +11 -17
  108. package/dist/cjs/with-wizard-screen/style.scss +14 -17
  109. package/dist/cjs/wizard/components/WizardError.js +3 -15
  110. package/dist/cjs/wizard/index.js +10 -24
  111. package/dist/cjs/wizard/store/index.js +42 -55
  112. package/dist/cjs/wizard/store/utils.js +1 -6
  113. package/dist/cjs/wizard/style.scss +148 -0
  114. package/dist/esm/accordion/index.js +38 -0
  115. package/dist/esm/accordion/style.scss +27 -0
  116. package/dist/esm/action-card/index.js +50 -21
  117. package/dist/esm/action-card/style.scss +100 -23
  118. package/dist/esm/autocomplete-tokenfield/index.js +14 -37
  119. package/dist/esm/autocomplete-tokenfield/style.scss +2 -2
  120. package/dist/esm/autocomplete-with-suggestions/index.js +28 -41
  121. package/dist/esm/autocomplete-with-suggestions/style.scss +16 -15
  122. package/dist/esm/button/index.js +5 -7
  123. package/dist/esm/button-card/index.js +2 -5
  124. package/dist/esm/button-card/style.scss +13 -13
  125. package/dist/esm/button-group/index.js +43 -0
  126. package/dist/esm/button-group/style.scss +73 -0
  127. package/dist/esm/card/index.js +2 -5
  128. package/dist/esm/card/style.scss +25 -8
  129. package/dist/esm/category-autocomplete/index.js +17 -30
  130. package/dist/esm/category-autocomplete/style.scss +0 -2
  131. package/dist/esm/checkbox-control/index.js +49 -0
  132. package/dist/esm/checkbox-control/style.scss +78 -0
  133. package/dist/esm/color-picker/index.js +2 -4
  134. package/dist/esm/color-picker/style.scss +0 -3
  135. package/dist/esm/consts.js +3 -2
  136. package/dist/esm/custom-select-control/index.js +2 -5
  137. package/dist/esm/custom-select-control/style.scss +6 -7
  138. package/dist/esm/date-range-picker/index.js +1 -3
  139. package/dist/esm/date-range-picker/style.scss +12 -12
  140. package/dist/esm/footer/index.js +3 -11
  141. package/dist/esm/footer/style.scss +5 -5
  142. package/dist/esm/form-token-field/index.js +2 -5
  143. package/dist/esm/form-token-field/style.scss +2 -3
  144. package/dist/esm/global-notices/index.js +1 -6
  145. package/dist/esm/grid/index.js +2 -5
  146. package/dist/esm/grid/style.scss +5 -5
  147. package/dist/esm/handoff/index.js +3 -14
  148. package/dist/esm/handoff-message/index.js +45 -0
  149. package/dist/esm/hooks/index.js +0 -2
  150. package/dist/esm/hooks/useObjectState.js +3 -8
  151. package/dist/esm/hooks/useObjectState.test.js +0 -3
  152. package/dist/esm/hooks/useOnClickOutside.js +2 -5
  153. package/dist/esm/hooks/usePrompt.js +1 -8
  154. package/dist/esm/image-upload/index.js +17 -16
  155. package/dist/esm/image-upload/style.scss +5 -9
  156. package/dist/esm/index.js +4 -0
  157. package/dist/esm/info-button/index.js +4 -6
  158. package/dist/esm/info-button/style.scss +1 -3
  159. package/dist/esm/modal/index.js +2 -5
  160. package/dist/esm/modal/style.scss +8 -8
  161. package/dist/esm/newspack-icon/index.js +2 -5
  162. package/dist/esm/newspack-icon/style.scss +4 -4
  163. package/dist/esm/newspack-logo/index.js +2 -5
  164. package/dist/esm/newspack-logo/style.scss +3 -3
  165. package/dist/esm/notice/index.js +4 -8
  166. package/dist/esm/notice/style.scss +28 -15
  167. package/dist/esm/patrons-logo/index.js +3 -5
  168. package/dist/esm/plugin-installer/index.js +35 -39
  169. package/dist/esm/plugin-installer/style.scss +5 -5
  170. package/dist/esm/plugin-settings/SettingsSection.js +8 -21
  171. package/dist/esm/plugin-settings/index.js +38 -24
  172. package/dist/esm/plugin-toggle/index.js +39 -36
  173. package/dist/esm/plugin-toggle/style.scss +2 -2
  174. package/dist/esm/popover/index.js +3 -6
  175. package/dist/esm/popover/style.scss +19 -16
  176. package/dist/esm/position-control/index.js +109 -0
  177. package/dist/esm/position-control/style.scss +66 -0
  178. package/dist/esm/preview-box/index.js +30 -0
  179. package/dist/esm/preview-box/style.scss +18 -0
  180. package/dist/esm/progress-bar/index.js +2 -7
  181. package/dist/esm/progress-bar/index.test.js +2 -1
  182. package/dist/esm/progress-bar/style.scss +4 -4
  183. package/dist/esm/proxied-imports/router.js +1 -0
  184. package/dist/esm/radio-control/index.js +3 -6
  185. package/dist/esm/radio-control/style.scss +9 -9
  186. package/dist/esm/section-header/index.js +44 -25
  187. package/dist/esm/section-header/style.scss +2 -2
  188. package/dist/esm/select-control/ButtonGroupControl.js +5 -7
  189. package/dist/esm/select-control/GroupedSelectControl.js +5 -6
  190. package/dist/esm/select-control/index.js +6 -6
  191. package/dist/esm/select-control/style.scss +2 -2
  192. package/dist/esm/settings/MinMaxSetting.js +1 -3
  193. package/dist/esm/settings/SettingsCard.js +3 -4
  194. package/dist/esm/settings/SettingsSection.js +0 -2
  195. package/dist/esm/settings/style.scss +1 -1
  196. package/dist/esm/steps-list/index.js +43 -0
  197. package/dist/esm/steps-list/style.scss +11 -0
  198. package/dist/esm/steps-list-item/index.js +48 -0
  199. package/dist/esm/steps-list-item/style.scss +47 -0
  200. package/dist/esm/style-card/index.js +2 -5
  201. package/dist/esm/style-card/style.scss +9 -12
  202. package/dist/esm/style.scss +5 -6
  203. package/dist/esm/tabbed-navigation/index.js +20 -10
  204. package/dist/esm/tabbed-navigation/style.scss +3 -4
  205. package/dist/esm/text-control/index.js +2 -9
  206. package/dist/esm/textarea-control/index.js +40 -0
  207. package/dist/esm/textarea-control/style.scss +76 -0
  208. package/dist/esm/toggle-control/index.js +44 -0
  209. package/dist/esm/toggle-control/style.scss +74 -0
  210. package/dist/esm/toggle-group/index.js +58 -0
  211. package/dist/esm/toggle-group/style.scss +28 -0
  212. package/dist/esm/utils/index.js +9 -3
  213. package/dist/esm/waiting/index.js +2 -5
  214. package/dist/esm/web-preview/index.js +9 -24
  215. package/dist/esm/web-preview/style.scss +14 -14
  216. package/dist/esm/with-wizard/index.js +49 -34
  217. package/dist/esm/with-wizard/style.scss +35 -37
  218. package/dist/esm/with-wizard-screen/index.js +9 -11
  219. package/dist/esm/with-wizard-screen/style.scss +14 -17
  220. package/dist/esm/wizard/components/WizardError.js +1 -10
  221. package/dist/esm/wizard/index.js +10 -12
  222. package/dist/esm/wizard/store/index.js +40 -46
  223. package/dist/esm/wizard/store/utils.js +1 -1
  224. package/dist/esm/wizard/style.scss +148 -0
  225. package/package.json +4 -4
  226. package/shared/scss/_colors.scss +0 -15
  227. package/src/accordion/index.js +32 -0
  228. package/src/accordion/style.scss +27 -0
  229. package/src/action-card/index.js +43 -8
  230. package/src/action-card/style.scss +100 -23
  231. package/src/autocomplete-tokenfield/index.js +1 -1
  232. package/src/autocomplete-tokenfield/style.scss +2 -2
  233. package/src/autocomplete-with-suggestions/style.scss +16 -15
  234. package/src/button-card/style.scss +13 -13
  235. package/src/card/style.scss +25 -8
  236. package/src/category-autocomplete/index.js +3 -1
  237. package/src/category-autocomplete/style.scss +0 -2
  238. package/src/color-picker/style.scss +0 -3
  239. package/src/consts.js +2 -1
  240. package/src/custom-select-control/style.scss +6 -7
  241. package/src/date-range-picker/style.scss +12 -12
  242. package/src/footer/index.js +2 -2
  243. package/src/footer/style.scss +5 -5
  244. package/src/form-token-field/index.js +2 -7
  245. package/src/form-token-field/style.scss +2 -3
  246. package/src/grid/style.scss +5 -5
  247. package/src/handoff/index.js +3 -8
  248. package/src/handoff-message/index.js +39 -0
  249. package/src/hooks/useObjectState.js +2 -1
  250. package/src/image-upload/index.js +9 -3
  251. package/src/image-upload/style.scss +5 -9
  252. package/src/index.js +4 -0
  253. package/src/info-button/style.scss +1 -3
  254. package/src/modal/style.scss +8 -8
  255. package/src/newspack-icon/style.scss +4 -4
  256. package/src/newspack-logo/style.scss +3 -3
  257. package/src/notice/index.js +2 -0
  258. package/src/notice/style.scss +28 -15
  259. package/src/plugin-installer/index.js +15 -2
  260. package/src/plugin-installer/style.scss +5 -5
  261. package/src/plugin-settings/SettingsSection.js +7 -13
  262. package/src/plugin-settings/index.js +7 -2
  263. package/src/plugin-toggle/index.js +2 -3
  264. package/src/plugin-toggle/style.scss +2 -2
  265. package/src/popover/style.scss +19 -16
  266. package/src/position-control/index.js +122 -0
  267. package/src/position-control/style.scss +66 -0
  268. package/src/progress-bar/style.scss +4 -4
  269. package/src/radio-control/style.scss +9 -9
  270. package/src/section-header/index.js +32 -15
  271. package/src/section-header/style.scss +2 -2
  272. package/src/select-control/ButtonGroupControl.js +3 -0
  273. package/src/select-control/GroupedSelectControl.js +2 -1
  274. package/src/select-control/index.js +6 -2
  275. package/src/select-control/style.scss +2 -2
  276. package/src/settings/style.scss +1 -1
  277. package/src/steps-list/index.js +39 -0
  278. package/src/steps-list/style.scss +11 -0
  279. package/src/steps-list-item/index.js +40 -0
  280. package/src/steps-list-item/style.scss +47 -0
  281. package/src/style-card/index.js +2 -11
  282. package/src/style-card/style.scss +9 -12
  283. package/src/style.scss +5 -6
  284. package/src/tabbed-navigation/index.js +12 -4
  285. package/src/tabbed-navigation/style.scss +3 -4
  286. package/src/utils/index.js +9 -0
  287. package/src/web-preview/index.js +1 -1
  288. package/src/web-preview/style.scss +14 -14
  289. package/src/with-wizard/style.scss +35 -37
  290. package/src/with-wizard-screen/index.js +4 -1
  291. package/src/with-wizard-screen/style.scss +14 -17
  292. package/src/wizard/index.js +15 -3
  293. package/src/wizard/store/index.js +8 -2
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _components = require("@wordpress/components");
11
+
12
+ var _element = require("@wordpress/element");
13
+
14
+ require("./style.scss");
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
19
+
20
+ /**
21
+ * Toggle Control
22
+ */
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+
32
+ /**
33
+ * External dependencies
34
+ */
35
+ class ToggleControl extends _element.Component {
36
+ /**
37
+ * Render.
38
+ */
39
+ render() {
40
+ const {
41
+ className,
42
+ isDark,
43
+ checked,
44
+ ...otherProps
45
+ } = this.props;
46
+ const classes = (0, _classnames.default)('newspack-toggle-control', isDark && 'newspack-toggle-control--is-dark', // NOTE: disabled prop is handled in more recent Gutenberg versions. This special handling can be removed once that's in Core.
47
+ otherProps.disabled && 'newspack-toggle-control--is-disabled', className);
48
+ return (0, _jsxRuntime.jsx)(_components.ToggleControl, {
49
+ className: classes,
50
+ checked: Boolean(checked),
51
+ ...otherProps
52
+ });
53
+ }
54
+
55
+ }
56
+
57
+ var _default = ToggleControl;
58
+ exports.default = _default;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Toggle Control
3
+ */
4
+
5
+ @import '../../../shared/scss/colors';
6
+ @import '~@wordpress/base-styles/colors';
7
+
8
+ .newspack-toggle-control {
9
+ margin: 32px 0;
10
+
11
+ .components-base-control__field {
12
+ align-items: flex-start;
13
+ margin: 0;
14
+
15
+ .components-toggle-control__label {
16
+ color: $gray-700;
17
+ font-size: 14px;
18
+ line-height: 24px;
19
+ margin: 0;
20
+ }
21
+
22
+ .components-form-toggle {
23
+ margin: 3px 8px 3px 0;
24
+
25
+ &.is-checked {
26
+ .components-form-toggle__track {
27
+ background: $primary-500;
28
+ border-color: transparent;
29
+ }
30
+ }
31
+ }
32
+ }
33
+
34
+ // Is Dark
35
+
36
+ &.newspack-toggle-control--is-dark {
37
+ .components-base-control__field label {
38
+ color: $gray-900;
39
+ font-weight: bold;
40
+ }
41
+
42
+ .components-base-control__help {
43
+ font-style: normal;
44
+ }
45
+ }
46
+
47
+ // Is disabled
48
+
49
+ &.newspack-toggle-control--is-disabled {
50
+ opacity: 0.5;
51
+ pointer-events: none;
52
+ }
53
+
54
+ // Focus
55
+
56
+ .components-form-toggle__input:focus {
57
+ + .components-form-toggle__track {
58
+ box-shadow: 0 0 0 2px white, 0 0 0 4px $primary-500;
59
+ }
60
+ }
61
+
62
+ // Multiple Toggle Controls
63
+
64
+ & + & {
65
+ margin-bottom: 32px;
66
+ margin-top: -24px;
67
+ }
68
+
69
+ // Reset
70
+
71
+ .components-base-control__help {
72
+ margin: 0 0 0 44px;
73
+ }
74
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _ = require("../");
13
+
14
+ require("./style.scss");
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
19
+
20
+ /**
21
+ * Toggle Group
22
+ */
23
+
24
+ /**
25
+ * WordPress dependencies.
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies.
30
+ */
31
+
32
+ /**
33
+ * External dependencies.
34
+ */
35
+ class ToggleGroup extends _element.Component {
36
+ /**
37
+ * Render.
38
+ */
39
+ render() {
40
+ const {
41
+ checked,
42
+ children,
43
+ description,
44
+ onChange,
45
+ title,
46
+ className
47
+ } = this.props;
48
+ const classes = (0, _classnames.default)('newspack-toggle-group', className);
49
+ return (0, _jsxRuntime.jsxs)("div", {
50
+ className: classes,
51
+ children: [(0, _jsxRuntime.jsx)(_.ToggleControl, {
52
+ checked: checked || false,
53
+ onChange: onChange
54
+ }), (0, _jsxRuntime.jsxs)("div", {
55
+ className: "newspack-toggle-group__description",
56
+ children: [(0, _jsxRuntime.jsx)("p", {
57
+ className: "is-dark",
58
+ children: (0, _jsxRuntime.jsx)("strong", {
59
+ children: title
60
+ })
61
+ }), (0, _jsxRuntime.jsx)("p", {
62
+ children: description
63
+ }), checked && children]
64
+ })]
65
+ });
66
+ }
67
+
68
+ }
69
+
70
+ var _default = ToggleGroup;
71
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Toggle Group
3
+ */
4
+
5
+ .newspack-toggle-group {
6
+ display: flex;
7
+ margin: 32px 0;
8
+
9
+ & &__description p {
10
+ margin-bottom: 0;
11
+ margin-top: 0;
12
+ }
13
+
14
+ .newspack-toggle-control {
15
+ margin: 0;
16
+ }
17
+
18
+ &__description {
19
+ flex: 1;
20
+ }
21
+
22
+ // Multiple Toogle Groups
23
+
24
+ & + & {
25
+ margin-bottom: 32px;
26
+ margin-top: -16px;
27
+ }
28
+ }
@@ -4,14 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _keycodes = require("@wordpress/keycodes");
9
-
10
8
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
11
-
12
9
  /**
13
10
  * WordPress dependencies.
14
11
  */
12
+
15
13
  const InteractiveDiv = _ref => {
16
14
  let {
17
15
  style = {},
@@ -28,8 +26,15 @@ const InteractiveDiv = _ref => {
28
26
  ...props
29
27
  });
30
28
  };
31
-
29
+ const confirmAction = message => {
30
+ // eslint-disable-next-line no-alert
31
+ if (confirm(message)) {
32
+ return true;
33
+ }
34
+ return false;
35
+ };
32
36
  var _default = {
33
- InteractiveDiv
37
+ InteractiveDiv,
38
+ confirmAction
34
39
  };
35
40
  exports.default = _default;
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _element = require("@wordpress/element");
11
-
12
9
  var _components = require("@wordpress/components");
13
-
14
10
  require("./style.scss");
15
-
16
11
  var _classnames = _interopRequireDefault(require("classnames"));
17
-
18
12
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
19
-
20
13
  /**
21
14
  * Waiting
22
15
  */
@@ -32,6 +25,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
32
25
  /**
33
26
  * External dependencies.
34
27
  */
28
+
35
29
  class Waiting extends _element.Component {
36
30
  /**
37
31
  * Render
@@ -54,8 +48,6 @@ class Waiting extends _element.Component {
54
48
  ...otherProps
55
49
  });
56
50
  }
57
-
58
51
  }
59
-
60
52
  var _default = Waiting;
61
53
  exports.default = _default;
@@ -1,39 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _element = require("@wordpress/element");
13
-
14
10
  var _i18n = require("@wordpress/i18n");
15
-
16
11
  var _icons = require("@wordpress/icons");
17
-
18
12
  var _components = require("@wordpress/components");
19
-
20
13
  var _ = require("../");
21
-
22
14
  require("./style.scss");
23
-
24
15
  var _classnames = _interopRequireDefault(require("classnames"));
25
-
26
16
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
27
-
28
17
  /**
29
18
  * WordPress dependencies.
30
19
  */
31
20
  const __ = _i18n.__;
21
+ /**
22
+ * Internal dependencies.
23
+ */
24
+ /**
25
+ * External dependencies.
26
+ */
32
27
  const PORTAL_PARENT_ID = 'newspack-components-web-preview-wrapper';
28
+
33
29
  /**
34
30
  * Web Preview. A component to preview a website in an iframe, with device sizing options.
35
31
  */
36
-
37
32
  class WebPreview extends _element.Component {
38
33
  constructor(props) {
39
34
  super(props);
@@ -42,6 +37,9 @@ class WebPreview extends _element.Component {
42
37
  loaded: false,
43
38
  isPreviewVisible: false
44
39
  });
40
+ /**
41
+ * Create JSX for the modal
42
+ */
45
43
  (0, _defineProperty2.default)(this, "getWebPreviewModal", () => {
46
44
  const {
47
45
  beforeLoad = () => {},
@@ -53,11 +51,9 @@ class WebPreview extends _element.Component {
53
51
  loaded,
54
52
  isPreviewVisible
55
53
  } = this.state;
56
-
57
54
  if (!this.modalDOMElement || !isPreviewVisible) {
58
55
  return null;
59
56
  }
60
-
61
57
  const classes = (0, _classnames.default)('newspack-web-preview', device, loaded && 'is-loaded');
62
58
  beforeLoad();
63
59
  return (0, _element.createPortal)((0, _jsxRuntime.jsx)("div", {
@@ -135,26 +131,23 @@ class WebPreview extends _element.Component {
135
131
  });
136
132
  this.iframeRef = (0, _element.createRef)();
137
133
  }
134
+
138
135
  /**
139
136
  * If a div with id PORTAL_PARENT_ID exists, assign it to class field.
140
137
  * If not, create it and append to the body.
141
138
  */
142
-
143
-
144
139
  componentDidMount() {
145
140
  const existingDOMElement = document.getElementById(PORTAL_PARENT_ID);
146
141
  this.modalDOMElement = existingDOMElement || document.createElement('div');
147
-
148
142
  if (!existingDOMElement) {
149
143
  this.modalDOMElement.id = PORTAL_PARENT_ID;
150
144
  document.body.appendChild(this.modalDOMElement);
151
145
  }
152
146
  }
147
+
153
148
  /**
154
149
  * Add or remove applicable body classes
155
150
  */
156
-
157
-
158
151
  componentDidUpdate() {
159
152
  if (this.state.isPreviewVisible === true) {
160
153
  document.body.classList.add('newspack-web-preview--open');
@@ -162,11 +155,6 @@ class WebPreview extends _element.Component {
162
155
  document.body.classList.remove('newspack-web-preview--open');
163
156
  }
164
157
  }
165
- /**
166
- * Create JSX for the modal
167
- */
168
-
169
-
170
158
  /**
171
159
  * Render.
172
160
  */
@@ -174,7 +162,6 @@ class WebPreview extends _element.Component {
174
162
  const {
175
163
  label,
176
164
  variant,
177
-
178
165
  /**
179
166
  * Inversion of control - let the caller render
180
167
  * the button that will trigger the modal
@@ -192,11 +179,9 @@ class WebPreview extends _element.Component {
192
179
  }), this.getWebPreviewModal()]
193
180
  });
194
181
  }
195
-
196
182
  }
197
-
198
183
  WebPreview.defaultProps = {
199
- url: '//newspack.pub',
184
+ url: '//newspack.com',
200
185
  label: __('Preview', 'newspack'),
201
186
  onLoad: () => {}
202
187
  };
@@ -2,17 +2,17 @@
2
2
  * Web Preview
3
3
  */
4
4
 
5
- @import '../../../shared/scss/colors';
6
- @import '~@wordpress/base-styles/colors';
5
+ @use '../../../shared/scss/colors';
6
+ @use '~@wordpress/base-styles/colors' as wp-colors;
7
7
 
8
8
  .newspack-web-preview {
9
9
  // Color
10
- --wp-admin-theme-color: #{$primary-500};
11
- --wp-admin-theme-color--rgb: #{$primary-500--rgb};
12
- --wp-admin-theme-color-darker-10: #{$primary-600};
13
- --wp-admin-theme-color-darker-10--rgb: #{$primary-600--rgb};
14
- --wp-admin-theme-color-darker-20: #{$primary-700};
15
- --wp-admin-theme-color-darker-20--rgb: #{$primary-700--rgb};
10
+ --wp-admin-theme-color: #{colors.$primary-500};
11
+ --wp-admin-theme-color--rgb: #{colors.$primary-500--rgb};
12
+ --wp-admin-theme-color-darker-10: #{colors.$primary-600};
13
+ --wp-admin-theme-color-darker-10--rgb: #{colors.$primary-600--rgb};
14
+ --wp-admin-theme-color-darker-20: #{colors.$primary-700};
15
+ --wp-admin-theme-color-darker-20--rgb: #{colors.$primary-700--rgb};
16
16
 
17
17
  background: rgba( black, 0.7 );
18
18
  box-sizing: border-box;
@@ -53,7 +53,7 @@
53
53
  }
54
54
 
55
55
  &__content {
56
- background: $gray-100;
56
+ background: wp-colors.$gray-100;
57
57
  height: calc( 100% - 49px );
58
58
  -webkit-overflow-scrolling: touch;
59
59
  overflow-x: hidden;
@@ -66,7 +66,7 @@
66
66
  margin: 0 auto;
67
67
  max-width: 100%;
68
68
  opacity: 0;
69
- outline: 1px solid $gray-300;
69
+ outline: 1px solid wp-colors.$gray-300;
70
70
  padding: 0;
71
71
  pointer-events: all;
72
72
  transition: max-width 125ms ease-in-out, opacity 250ms ease-in-out;
@@ -78,14 +78,14 @@
78
78
  align-items: center;
79
79
  display: flex;
80
80
  left: 50%;
81
- margin: -12px 0 0 0;
81
+ margin: -12px 0 0;
82
82
  position: absolute;
83
83
  top: 50%;
84
84
  transform: translateX( -50% );
85
85
  }
86
86
 
87
87
  &__toolbar {
88
- border-bottom: 1px solid $gray-300;
88
+ border-bottom: 1px solid wp-colors.$gray-300;
89
89
  display: flex;
90
90
  padding: 6px;
91
91
 
@@ -102,7 +102,7 @@
102
102
  padding: 0 !important;
103
103
 
104
104
  &.is-selected {
105
- background: $primary-500;
105
+ background: colors.$primary-500;
106
106
  color: white;
107
107
 
108
108
  &:active,
@@ -114,7 +114,7 @@
114
114
  }
115
115
 
116
116
  &:focus {
117
- box-shadow: inset 0 0 0 1px $primary-500, inset 0 0 0 3px white !important;
117
+ box-shadow: inset 0 0 0 1px colors.$primary-500, inset 0 0 0 3px white !important;
118
118
  }
119
119
  }
120
120