newspack-components 2.0.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/copy-styles.js +1 -1
  2. package/dist/cjs/accordion/index.js +46 -0
  3. package/dist/cjs/accordion/style.scss +27 -0
  4. package/dist/cjs/action-card/index.js +72 -40
  5. package/dist/cjs/action-card/style.scss +143 -41
  6. package/dist/cjs/autocomplete-tokenfield/index.js +13 -41
  7. package/dist/cjs/autocomplete-tokenfield/style.scss +6 -6
  8. package/dist/cjs/autocomplete-with-suggestions/index.js +33 -53
  9. package/dist/cjs/autocomplete-with-suggestions/style.scss +27 -27
  10. package/dist/cjs/button/index.js +1 -20
  11. package/dist/cjs/button/style.scss +3 -344
  12. package/dist/cjs/button-card/index.js +11 -15
  13. package/dist/cjs/button-card/style.scss +65 -35
  14. package/dist/cjs/card/index.js +4 -9
  15. package/dist/cjs/card/style.scss +47 -63
  16. package/dist/cjs/category-autocomplete/index.js +66 -47
  17. package/dist/cjs/category-autocomplete/style.scss +20 -24
  18. package/dist/cjs/color-picker/index.js +16 -48
  19. package/dist/cjs/color-picker/style.scss +20 -163
  20. package/dist/cjs/consts.js +5 -3
  21. package/dist/cjs/custom-select-control/index.js +1 -9
  22. package/dist/cjs/custom-select-control/style.scss +14 -45
  23. package/dist/cjs/date-range-picker/index.js +1 -10
  24. package/dist/cjs/date-range-picker/style.scss +12 -12
  25. package/dist/cjs/footer/index.js +24 -22
  26. package/dist/cjs/footer/style.scss +13 -14
  27. package/dist/cjs/form-token-field/index.js +3 -11
  28. package/dist/cjs/form-token-field/style.scss +9 -105
  29. package/dist/cjs/global-notices/index.js +3 -9
  30. package/dist/cjs/grid/index.js +1 -8
  31. package/dist/cjs/grid/style.scss +19 -6
  32. package/dist/cjs/handoff/index.js +15 -24
  33. package/dist/cjs/handoff-message/index.js +50 -0
  34. package/dist/cjs/hooks/index.js +1 -7
  35. package/dist/cjs/hooks/useObjectState.js +7 -13
  36. package/dist/cjs/hooks/useObjectState.test.js +0 -14
  37. package/dist/cjs/hooks/useOnClickOutside.js +3 -6
  38. package/dist/cjs/hooks/usePrompt.js +1 -13
  39. package/dist/cjs/image-upload/index.js +22 -20
  40. package/dist/cjs/image-upload/index.test.js +0 -5
  41. package/dist/cjs/image-upload/style.scss +12 -17
  42. package/dist/cjs/index.js +31 -93
  43. package/dist/cjs/info-button/index.js +3 -11
  44. package/dist/cjs/info-button/style.scss +1 -3
  45. package/dist/cjs/modal/index.js +1 -12
  46. package/dist/cjs/modal/style.scss +20 -132
  47. package/dist/cjs/newspack-icon/index.js +5 -11
  48. package/dist/cjs/newspack-icon/style.scss +17 -2
  49. package/dist/cjs/newspack-logo/index.js +1 -9
  50. package/dist/cjs/newspack-logo/style.scss +3 -3
  51. package/dist/cjs/notice/index.js +8 -16
  52. package/dist/cjs/notice/style.scss +60 -19
  53. package/dist/cjs/patrons-logo/index.js +3 -11
  54. package/dist/cjs/plugin-installer/index.js +37 -37
  55. package/dist/cjs/plugin-installer/style.scss +5 -5
  56. package/dist/cjs/plugin-settings/SettingsSection.js +71 -59
  57. package/dist/cjs/plugin-settings/index.js +71 -50
  58. package/dist/cjs/plugin-settings/style.scss +7 -0
  59. package/dist/cjs/plugin-toggle/index.js +60 -32
  60. package/dist/cjs/plugin-toggle/style.scss +2 -2
  61. package/dist/cjs/popover/index.js +1 -11
  62. package/dist/cjs/popover/style.scss +20 -17
  63. package/dist/cjs/position-control/index.js +113 -0
  64. package/dist/cjs/position-control/style.scss +66 -0
  65. package/dist/cjs/progress-bar/index.js +2 -9
  66. package/dist/cjs/progress-bar/index.test.js +2 -7
  67. package/dist/cjs/progress-bar/style.scss +4 -4
  68. package/dist/cjs/proxied-imports/router.js +0 -3
  69. package/dist/cjs/radio-control/index.js +1 -11
  70. package/dist/cjs/radio-control/style.scss +10 -11
  71. package/dist/cjs/section-header/index.js +47 -19
  72. package/dist/cjs/section-header/style.scss +22 -1
  73. package/dist/cjs/select-control/ButtonGroupControl.js +11 -20
  74. package/dist/cjs/select-control/GroupedSelectControl.js +42 -45
  75. package/dist/cjs/select-control/index.js +6 -14
  76. package/dist/cjs/select-control/style.scss +47 -88
  77. package/dist/cjs/settings/MinMaxSetting.js +6 -8
  78. package/dist/cjs/settings/SettingsCard.js +9 -8
  79. package/dist/cjs/settings/SettingsSection.js +5 -8
  80. package/dist/cjs/settings/index.js +0 -6
  81. package/dist/cjs/settings/style.scss +32 -4
  82. package/dist/cjs/steps-list/index.js +52 -0
  83. package/dist/cjs/steps-list/style.scss +11 -0
  84. package/dist/cjs/steps-list-item/index.js +56 -0
  85. package/dist/cjs/steps-list-item/style.scss +47 -0
  86. package/dist/cjs/style-card/index.js +15 -18
  87. package/dist/cjs/style-card/style.scss +19 -18
  88. package/dist/cjs/style.scss +43 -0
  89. package/dist/cjs/tabbed-navigation/index.js +27 -31
  90. package/dist/cjs/tabbed-navigation/style.scss +58 -37
  91. package/dist/cjs/text-control/index.js +6 -19
  92. package/dist/cjs/text-control/style.scss +0 -126
  93. package/dist/cjs/utils/index.js +10 -5
  94. package/dist/cjs/waiting/index.js +9 -33
  95. package/dist/cjs/waiting/style.scss +9 -20
  96. package/dist/cjs/web-preview/index.js +30 -57
  97. package/dist/cjs/web-preview/style.scss +41 -34
  98. package/dist/cjs/with-wizard/index.js +55 -33
  99. package/dist/cjs/with-wizard/style.scss +77 -124
  100. package/dist/cjs/with-wizard-screen/index.js +28 -38
  101. package/dist/cjs/with-wizard-screen/style.scss +75 -125
  102. package/dist/cjs/wizard/components/WizardError.js +74 -0
  103. package/dist/cjs/wizard/index.js +131 -0
  104. package/dist/cjs/wizard/store/index.js +165 -0
  105. package/dist/cjs/wizard/store/utils.js +26 -0
  106. package/dist/cjs/wizard/style.scss +148 -0
  107. package/dist/esm/accordion/index.js +38 -0
  108. package/dist/esm/accordion/style.scss +27 -0
  109. package/dist/esm/action-card/index.js +75 -37
  110. package/dist/esm/action-card/style.scss +143 -41
  111. package/dist/esm/autocomplete-tokenfield/index.js +14 -37
  112. package/dist/esm/autocomplete-tokenfield/style.scss +6 -6
  113. package/dist/esm/autocomplete-with-suggestions/index.js +31 -43
  114. package/dist/esm/autocomplete-with-suggestions/style.scss +27 -27
  115. package/dist/esm/button/index.js +2 -14
  116. package/dist/esm/button/style.scss +3 -344
  117. package/dist/esm/button-card/index.js +12 -11
  118. package/dist/esm/button-card/style.scss +65 -35
  119. package/dist/esm/card/index.js +5 -6
  120. package/dist/esm/card/style.scss +47 -63
  121. package/dist/esm/category-autocomplete/index.js +68 -41
  122. package/dist/esm/category-autocomplete/style.scss +20 -24
  123. package/dist/esm/color-picker/index.js +17 -38
  124. package/dist/esm/color-picker/style.scss +20 -163
  125. package/dist/esm/consts.js +3 -2
  126. package/dist/esm/custom-select-control/index.js +2 -5
  127. package/dist/esm/custom-select-control/style.scss +14 -45
  128. package/dist/esm/date-range-picker/index.js +1 -3
  129. package/dist/esm/date-range-picker/style.scss +12 -12
  130. package/dist/esm/footer/index.js +22 -16
  131. package/dist/esm/footer/style.scss +13 -14
  132. package/dist/esm/form-token-field/index.js +4 -7
  133. package/dist/esm/form-token-field/style.scss +9 -105
  134. package/dist/esm/global-notices/index.js +3 -7
  135. package/dist/esm/grid/index.js +2 -5
  136. package/dist/esm/grid/style.scss +19 -6
  137. package/dist/esm/handoff/index.js +10 -21
  138. package/dist/esm/handoff-message/index.js +45 -0
  139. package/dist/esm/hooks/index.js +0 -2
  140. package/dist/esm/hooks/useObjectState.js +3 -8
  141. package/dist/esm/hooks/useObjectState.test.js +0 -3
  142. package/dist/esm/hooks/useOnClickOutside.js +2 -5
  143. package/dist/esm/hooks/usePrompt.js +1 -8
  144. package/dist/esm/image-upload/index.js +18 -17
  145. package/dist/esm/image-upload/style.scss +12 -17
  146. package/dist/esm/index.js +7 -8
  147. package/dist/esm/info-button/index.js +4 -6
  148. package/dist/esm/info-button/style.scss +1 -3
  149. package/dist/esm/modal/index.js +2 -8
  150. package/dist/esm/modal/style.scss +20 -132
  151. package/dist/esm/newspack-icon/index.js +6 -7
  152. package/dist/esm/newspack-icon/style.scss +17 -2
  153. package/dist/esm/newspack-logo/index.js +2 -5
  154. package/dist/esm/newspack-logo/style.scss +3 -3
  155. package/dist/esm/notice/index.js +11 -10
  156. package/dist/esm/notice/style.scss +60 -19
  157. package/dist/esm/patrons-logo/index.js +3 -5
  158. package/dist/esm/plugin-installer/index.js +37 -40
  159. package/dist/esm/plugin-installer/style.scss +5 -5
  160. package/dist/esm/plugin-settings/SettingsSection.js +71 -56
  161. package/dist/esm/plugin-settings/index.js +70 -52
  162. package/dist/esm/plugin-settings/style.scss +7 -0
  163. package/dist/esm/plugin-toggle/index.js +59 -34
  164. package/dist/esm/plugin-toggle/style.scss +2 -2
  165. package/dist/esm/popover/index.js +3 -6
  166. package/dist/esm/popover/style.scss +20 -17
  167. package/dist/esm/position-control/index.js +109 -0
  168. package/dist/esm/position-control/style.scss +66 -0
  169. package/dist/esm/progress-bar/index.js +2 -7
  170. package/dist/esm/progress-bar/index.test.js +2 -1
  171. package/dist/esm/progress-bar/style.scss +4 -4
  172. package/dist/esm/proxied-imports/router.js +1 -0
  173. package/dist/esm/radio-control/index.js +3 -6
  174. package/dist/esm/radio-control/style.scss +10 -11
  175. package/dist/esm/section-header/index.js +47 -16
  176. package/dist/esm/section-header/style.scss +22 -1
  177. package/dist/esm/select-control/ButtonGroupControl.js +12 -14
  178. package/dist/esm/select-control/GroupedSelectControl.js +38 -36
  179. package/dist/esm/select-control/index.js +7 -8
  180. package/dist/esm/select-control/style.scss +47 -88
  181. package/dist/esm/settings/MinMaxSetting.js +4 -5
  182. package/dist/esm/settings/SettingsCard.js +9 -5
  183. package/dist/esm/settings/SettingsSection.js +5 -7
  184. package/dist/esm/settings/style.scss +32 -4
  185. package/dist/esm/steps-list/index.js +43 -0
  186. package/dist/esm/steps-list/style.scss +11 -0
  187. package/dist/esm/steps-list-item/index.js +48 -0
  188. package/dist/esm/steps-list-item/style.scss +47 -0
  189. package/dist/esm/style-card/index.js +13 -13
  190. package/dist/esm/style-card/style.scss +19 -18
  191. package/dist/esm/style.scss +43 -0
  192. package/dist/esm/tabbed-navigation/index.js +30 -28
  193. package/dist/esm/tabbed-navigation/style.scss +58 -37
  194. package/dist/esm/text-control/index.js +2 -12
  195. package/dist/esm/text-control/style.scss +0 -126
  196. package/dist/esm/utils/index.js +9 -3
  197. package/dist/esm/waiting/index.js +11 -27
  198. package/dist/esm/waiting/style.scss +9 -20
  199. package/dist/esm/web-preview/index.js +21 -49
  200. package/dist/esm/web-preview/style.scss +41 -34
  201. package/dist/esm/with-wizard/index.js +53 -36
  202. package/dist/esm/with-wizard/style.scss +77 -124
  203. package/dist/esm/with-wizard-screen/index.js +26 -32
  204. package/dist/esm/with-wizard-screen/style.scss +75 -125
  205. package/dist/esm/wizard/components/WizardError.js +69 -0
  206. package/dist/esm/wizard/index.js +126 -0
  207. package/dist/esm/wizard/store/index.js +155 -0
  208. package/dist/esm/wizard/store/utils.js +17 -0
  209. package/dist/esm/wizard/style.scss +148 -0
  210. package/package.json +4 -4
  211. package/src/accordion/index.js +32 -0
  212. package/src/accordion/style.scss +27 -0
  213. package/src/action-card/index.js +70 -25
  214. package/src/action-card/style.scss +143 -41
  215. package/src/autocomplete-tokenfield/index.js +1 -1
  216. package/src/autocomplete-tokenfield/style.scss +6 -6
  217. package/src/autocomplete-with-suggestions/index.js +4 -2
  218. package/src/autocomplete-with-suggestions/style.scss +27 -27
  219. package/src/button/index.js +2 -9
  220. package/src/button/style.scss +3 -344
  221. package/src/button-card/index.js +19 -5
  222. package/src/button-card/style.scss +65 -35
  223. package/src/card/index.js +4 -0
  224. package/src/card/style.scss +47 -63
  225. package/src/category-autocomplete/index.js +53 -18
  226. package/src/category-autocomplete/style.scss +20 -24
  227. package/src/color-picker/index.js +16 -22
  228. package/src/color-picker/style.scss +20 -163
  229. package/src/consts.js +2 -1
  230. package/src/custom-select-control/style.scss +14 -45
  231. package/src/date-range-picker/style.scss +12 -12
  232. package/src/footer/index.js +20 -9
  233. package/src/footer/style.scss +13 -14
  234. package/src/form-token-field/index.js +3 -8
  235. package/src/form-token-field/style.scss +9 -105
  236. package/src/global-notices/index.js +1 -1
  237. package/src/grid/style.scss +19 -6
  238. package/src/handoff/index.js +10 -15
  239. package/src/handoff-message/index.js +39 -0
  240. package/src/hooks/useObjectState.js +2 -1
  241. package/src/image-upload/index.js +9 -3
  242. package/src/image-upload/style.scss +12 -17
  243. package/src/index.js +7 -7
  244. package/src/info-button/style.scss +1 -3
  245. package/src/modal/index.js +2 -5
  246. package/src/modal/style.scss +20 -132
  247. package/src/newspack-icon/index.js +7 -2
  248. package/src/newspack-icon/style.scss +17 -2
  249. package/src/newspack-logo/style.scss +3 -3
  250. package/src/notice/index.js +9 -1
  251. package/src/notice/style.scss +60 -19
  252. package/src/plugin-installer/index.js +17 -4
  253. package/src/plugin-installer/style.scss +5 -5
  254. package/src/plugin-settings/SettingsSection.js +59 -27
  255. package/src/plugin-settings/index.js +29 -8
  256. package/src/plugin-settings/style.scss +7 -0
  257. package/src/plugin-toggle/index.js +37 -12
  258. package/src/plugin-toggle/style.scss +2 -2
  259. package/src/popover/style.scss +20 -17
  260. package/src/position-control/index.js +122 -0
  261. package/src/position-control/style.scss +66 -0
  262. package/src/progress-bar/style.scss +4 -4
  263. package/src/radio-control/style.scss +10 -11
  264. package/src/section-header/index.js +41 -5
  265. package/src/section-header/style.scss +22 -1
  266. package/src/select-control/ButtonGroupControl.js +15 -5
  267. package/src/select-control/GroupedSelectControl.js +28 -25
  268. package/src/select-control/index.js +6 -3
  269. package/src/select-control/style.scss +47 -88
  270. package/src/settings/MinMaxSetting.js +2 -1
  271. package/src/settings/SettingsCard.js +9 -7
  272. package/src/settings/SettingsSection.js +4 -4
  273. package/src/settings/style.scss +32 -4
  274. package/src/steps-list/index.js +39 -0
  275. package/src/steps-list/style.scss +11 -0
  276. package/src/steps-list-item/index.js +40 -0
  277. package/src/steps-list-item/style.scss +47 -0
  278. package/src/style-card/index.js +16 -27
  279. package/src/style-card/style.scss +19 -18
  280. package/src/style.scss +43 -0
  281. package/src/tabbed-navigation/index.js +20 -24
  282. package/src/tabbed-navigation/style.scss +58 -37
  283. package/src/text-control/index.js +1 -2
  284. package/src/text-control/style.scss +0 -126
  285. package/src/utils/index.js +9 -0
  286. package/src/waiting/index.js +7 -18
  287. package/src/waiting/style.scss +9 -20
  288. package/src/web-preview/index.js +13 -34
  289. package/src/web-preview/style.scss +41 -34
  290. package/src/with-wizard/index.js +7 -5
  291. package/src/with-wizard/style.scss +77 -124
  292. package/src/with-wizard-screen/index.js +17 -17
  293. package/src/with-wizard-screen/style.scss +75 -125
  294. package/src/wizard/components/WizardError.js +57 -0
  295. package/src/wizard/index.js +145 -0
  296. package/src/wizard/store/index.js +132 -0
  297. package/src/wizard/store/utils.js +16 -0
  298. package/dist/cjs/wizard-pagination/index.js +0 -71
  299. package/dist/cjs/wizard-pagination/style.scss +0 -74
  300. package/dist/esm/wizard-pagination/index.js +0 -57
  301. package/dist/esm/wizard-pagination/style.scss +0 -74
  302. package/src/button-group/index.js +0 -35
  303. package/src/button-group/style.scss +0 -73
  304. package/src/checkbox-control/index.js +0 -38
  305. package/src/checkbox-control/style.scss +0 -78
  306. package/src/preview-box/index.js +0 -18
  307. package/src/preview-box/style.scss +0 -18
  308. package/src/textarea-control/index.js +0 -32
  309. package/src/textarea-control/style.scss +0 -76
  310. package/src/toggle-control/index.js +0 -38
  311. package/src/toggle-control/style.scss +0 -74
  312. package/src/toggle-group/index.js +0 -43
  313. package/src/toggle-group/style.scss +0 -28
  314. package/src/wizard-pagination/index.js +0 -59
  315. package/src/wizard-pagination/style.scss +0 -74
@@ -6,8 +6,7 @@
6
6
  * WordPress dependencies.
7
7
  */
8
8
  import { Component } from '@wordpress/element';
9
- import { Path, SVG } from '@wordpress/components';
10
- import { Icon } from '@wordpress/icons';
9
+ import { Spinner } from '@wordpress/components';
11
10
 
12
11
  /**
13
12
  * Internal dependencies.
@@ -19,28 +18,18 @@ import './style.scss';
19
18
  */
20
19
  import classnames from 'classnames';
21
20
 
22
- export const icon = (
23
- <SVG xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
24
- <Path
25
- clipRule="evenodd"
26
- d="M12 4h-.033a7.975 7.975 0 00-5.636 2.322L5.138 5.129l-.353 3.889 3.889-.354-1.282-1.281A6.48 6.48 0 0112 5.5a6.48 6.48 0 014.63 1.904 6.469 6.469 0 011.848 3.747l1.487-.195a7.969 7.969 0 00-2.275-4.613A7.975 7.975 0 0012.033 4H12zm-6.478 8.85l-1.487.194a7.969 7.969 0 002.275 4.613A7.975 7.975 0 0012 20a7.975 7.975 0 005.669-2.322l1.193 1.193.353-3.889-3.889.354 1.282 1.281A6.48 6.48 0 0112 18.5a6.48 6.48 0 01-4.63-1.904 6.469 6.469 0 01-1.848-3.747z"
27
- fillRule="evenodd"
28
- />
29
- </SVG>
30
- );
31
-
32
21
  class Waiting extends Component {
33
22
  /**
34
23
  * Render
35
24
  */
36
25
  render() {
37
- const { className, isRight, isLeft, isCenter, size } = this.props;
38
- const classes = classnames( 'newspack-is-waiting', className, {
39
- 'newspack-is-waiting__is-right': isRight,
40
- 'newspack-is-waiting__is-left': isLeft,
41
- 'newspack-is-waiting__is-center': isCenter,
26
+ const { className, isRight, isLeft, isCenter, ...otherProps } = this.props;
27
+ const classes = classnames( 'newspack-waiting', className, {
28
+ 'is-right': isRight,
29
+ 'is-left': isLeft,
30
+ 'is-center': isCenter,
42
31
  } );
43
- return <Icon icon={ icon } size={ size } className={ classes } />;
32
+ return <Spinner className={ classes } { ...otherProps } />;
44
33
  }
45
34
  }
46
35
 
@@ -2,37 +2,26 @@
2
2
  * Waiting
3
3
  */
4
4
 
5
- .newspack-is-waiting {
6
- animation: newspack-is-waiting__animation 1s infinite linear;
7
- display: block;
8
- fill: currentColor;
9
- flex: 0 0 24px;
5
+ .newspack-waiting.components-spinner {
6
+ flex: 0 0 auto;
7
+ margin: 0;
10
8
 
11
- &.newspack-is-waiting__is-left {
12
- margin-right: 4px;
9
+ &.is-left {
10
+ margin-right: 8px;
13
11
  }
14
12
 
15
- &.newspack-is-waiting__is-right {
16
- margin-right: 4px;
13
+ &.is-right {
14
+ margin-right: 8px;
17
15
  order: -1;
18
16
 
19
17
  @media screen and ( min-width: 744px ) {
20
- margin-left: 4px;
18
+ margin-left: 8px;
21
19
  margin-right: 0;
22
20
  order: 1;
23
21
  }
24
22
  }
25
23
 
26
- &.newspack-is-waiting__is-center {
24
+ &.is-center {
27
25
  margin: auto;
28
26
  }
29
27
  }
30
-
31
- @keyframes newspack-is-waiting__animation {
32
- from {
33
- transform: rotate( 360deg );
34
- }
35
- to {
36
- transform: rotate( 0deg );
37
- }
38
- }
@@ -4,11 +4,12 @@
4
4
  import { Component, createRef, Fragment, createPortal } from '@wordpress/element';
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { closeSmall, desktop, mobile, tablet } from '@wordpress/icons';
7
+ import { Button, ButtonGroup } from '@wordpress/components';
7
8
 
8
9
  /**
9
10
  * Internal dependencies.
10
11
  */
11
- import { Button, ButtonGroup, Waiting } from '../';
12
+ import { Waiting } from '../';
12
13
  import './style.scss';
13
14
 
14
15
  /**
@@ -68,11 +69,7 @@ class WebPreview extends Component {
68
69
  return null;
69
70
  }
70
71
 
71
- const classes = classnames(
72
- 'newspack-web-preview__container',
73
- device,
74
- loaded && 'newspack-web-preview__is-loaded'
75
- );
72
+ const classes = classnames( 'newspack-web-preview', device, loaded && 'is-loaded' );
76
73
  beforeLoad();
77
74
  return createPortal(
78
75
  <div className={ classes }>
@@ -82,24 +79,21 @@ class WebPreview extends Component {
82
79
  <ButtonGroup>
83
80
  <Button
84
81
  onClick={ () => this.setState( { device: 'desktop' } ) }
85
- isSmall
86
- className={ classnames( 'is-desktop', 'desktop' === device && 'is-selected' ) }
82
+ variant={ 'desktop' === device && 'primary' }
87
83
  icon={ desktop }
88
- label={ __( 'Preview desktop size', 'newspack' ) }
84
+ label={ __( 'Preview Desktop Size', 'newspack' ) }
89
85
  />
90
86
  <Button
91
87
  onClick={ () => this.setState( { device: 'tablet' } ) }
92
- isSmall
93
- className={ classnames( 'is-tablet', 'tablet' === device && 'is-selected' ) }
88
+ variant={ 'tablet' === device && 'primary' }
94
89
  icon={ tablet }
95
- label={ __( 'Preview tablet size', 'newspack' ) }
90
+ label={ __( 'Preview Tablet Size', 'newspack' ) }
96
91
  />
97
92
  <Button
98
93
  onClick={ () => this.setState( { device: 'phone' } ) }
99
- isSmall
100
- className={ classnames( 'is-phone', 'phone' === device && 'is-selected' ) }
94
+ variant={ 'phone' === device && 'primary' }
101
95
  icon={ mobile }
102
- label={ __( 'Preview phone size', 'newspack' ) }
96
+ label={ __( 'Preview Phone Size', 'newspack' ) }
103
97
  />
104
98
  </ButtonGroup>
105
99
  </div>
@@ -109,9 +103,8 @@ class WebPreview extends Component {
109
103
  onClose();
110
104
  this.setState( { isPreviewVisible: false, loaded: false } );
111
105
  } }
112
- isSmall
113
106
  icon={ closeSmall }
114
- label={ __( 'Close preview', 'newspack' ) }
107
+ label={ __( 'Close Preview', 'newspack' ) }
115
108
  />
116
109
  </div>
117
110
  </div>
@@ -148,12 +141,7 @@ class WebPreview extends Component {
148
141
  render() {
149
142
  const {
150
143
  label,
151
- isPrimary,
152
- isSecondary,
153
- isTertiary,
154
- isQuaternary,
155
- isLink,
156
- isSmall,
144
+ variant,
157
145
  /**
158
146
  * Inversion of control - let the caller render
159
147
  * the button that will trigger the modal
@@ -166,16 +154,7 @@ class WebPreview extends Component {
166
154
  { renderButton ? (
167
155
  renderButton( { showPreview: this.showPreview } )
168
156
  ) : (
169
- <Button
170
- isPrimary={ isPrimary }
171
- isSecondary={ isSecondary }
172
- isTertiary={ isTertiary }
173
- isQuaternary={ isQuaternary }
174
- isLink={ isLink }
175
- isSmall={ isSmall }
176
- onClick={ this.showPreview }
177
- tabIndex="0"
178
- >
157
+ <Button variant={ variant } onClick={ this.showPreview } tabIndex="0">
179
158
  { label }
180
159
  </Button>
181
160
  ) }
@@ -186,7 +165,7 @@ class WebPreview extends Component {
186
165
  }
187
166
 
188
167
  WebPreview.defaultProps = {
189
- url: '//newspack.pub',
168
+ url: '//newspack.com',
190
169
  label: __( 'Preview', 'newspack' ),
191
170
  onLoad: () => {},
192
171
  };
@@ -2,53 +2,59 @@
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
- &--open {
10
- overflow: hidden;
9
+ // Color
10
+ --wp-admin-theme-color: #{colors.$primary-500};
11
+ --wp-admin-theme-color--rgb: #{colors.$primary-500--rgb};
12
+ --wp-admin-theme-color-darker-10: #{colors.$primary-600};
13
+ --wp-admin-theme-color-darker-10--rgb: #{colors.$primary-600--rgb};
14
+ --wp-admin-theme-color-darker-20: #{colors.$primary-700};
15
+ --wp-admin-theme-color-darker-20--rgb: #{colors.$primary-700--rgb};
16
+
17
+ background: rgba( black, 0.7 );
18
+ box-sizing: border-box;
19
+ height: 100%;
20
+ left: 0;
21
+ margin: 0;
22
+ max-width: 100%;
23
+ padding: 32px;
24
+ position: fixed;
25
+ top: 0;
26
+ width: 100%;
27
+ z-index: 99999;
28
+
29
+ &.phone iframe {
30
+ max-width: 380px;
11
31
  }
12
32
 
13
- &__container {
14
- background: rgba( black, 0.7 );
15
- box-sizing: border-box;
16
- height: 100%;
17
- left: 0;
18
- margin: 0;
19
- max-width: 100%;
20
- padding: 32px;
21
- position: fixed;
22
- top: 0;
23
- width: 100%;
24
- z-index: 99999;
25
-
26
- &.phone iframe {
27
- max-width: 380px;
28
- }
33
+ &.tablet iframe {
34
+ max-width: 768px;
35
+ }
29
36
 
30
- &.tablet iframe {
31
- max-width: 768px;
32
- }
37
+ &.is-loaded iframe {
38
+ opacity: 1;
39
+ }
33
40
 
34
- &.newspack-web-preview__is-loaded iframe {
35
- opacity: 1;
36
- }
41
+ &--open {
42
+ overflow: hidden;
37
43
  }
38
44
 
39
45
  &__interior {
40
46
  animation: appear-animation 125ms ease-in-out;
41
47
  animation-fill-mode: forwards;
42
48
  background: white;
43
- border-radius: 3px;
49
+ border-radius: 2px;
44
50
  overflow: hidden;
45
51
  height: 100%;
46
52
  width: 100%;
47
53
  }
48
54
 
49
55
  &__content {
50
- background: $gray-100;
51
- height: calc( 100% - 37px );
56
+ background: wp-colors.$gray-100;
57
+ height: calc( 100% - 49px );
52
58
  -webkit-overflow-scrolling: touch;
53
59
  overflow-x: hidden;
54
60
  width: 100%;
@@ -60,7 +66,7 @@
60
66
  margin: 0 auto;
61
67
  max-width: 100%;
62
68
  opacity: 0;
63
- outline: 1px solid $gray-300;
69
+ outline: 1px solid wp-colors.$gray-300;
64
70
  padding: 0;
65
71
  pointer-events: all;
66
72
  transition: max-width 125ms ease-in-out, opacity 250ms ease-in-out;
@@ -72,15 +78,16 @@
72
78
  align-items: center;
73
79
  display: flex;
74
80
  left: 50%;
75
- margin: -12px 0 0 0;
81
+ margin: -12px 0 0;
76
82
  position: absolute;
77
83
  top: 50%;
78
84
  transform: translateX( -50% );
79
85
  }
80
86
 
81
87
  &__toolbar {
82
- border-bottom: 1px solid $gray-300;
88
+ border-bottom: 1px solid wp-colors.$gray-300;
83
89
  display: flex;
90
+ padding: 6px;
84
91
 
85
92
  &-left {
86
93
  flex: 0 0 auto;
@@ -95,7 +102,7 @@
95
102
  padding: 0 !important;
96
103
 
97
104
  &.is-selected {
98
- background: $primary-500;
105
+ background: colors.$primary-500;
99
106
  color: white;
100
107
 
101
108
  &:active,
@@ -107,7 +114,7 @@
107
114
  }
108
115
 
109
116
  &:focus {
110
- 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;
111
118
  }
112
119
  }
113
120
 
@@ -226,11 +226,13 @@ export default function withWizard( WrappedComponent, requiredPlugins ) {
226
226
  >
227
227
  <NewspackIcon size={ 36 } />
228
228
  </Button>
229
- <h1>
230
- { requiredPlugins.length > 1
231
- ? __( 'Required plugins', 'newspack' )
232
- : __( 'Required plugin', 'newspack' ) }
233
- </h1>
229
+ <div>
230
+ <h2>
231
+ { requiredPlugins.length > 1
232
+ ? __( 'Required plugins', 'newspack' )
233
+ : __( 'Required plugin', 'newspack' ) }
234
+ </h2>
235
+ </div>
234
236
  </div>
235
237
  </div>
236
238
  </div>
@@ -2,8 +2,8 @@
2
2
  * With Wizard
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
6
- @import '../../../shared/scss/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
+ @use '../../../shared/scss/colors';
7
7
 
8
8
  // Reset Padding of the Admin Page
9
9
 
@@ -32,71 +32,24 @@ body[class*='admin_page_newspack-'] {
32
32
 
33
33
  svg {
34
34
  &.newspack--error {
35
- fill: $alert-red;
35
+ fill: wp-colors.$alert-red;
36
36
  transform: rotate( 180deg );
37
37
  }
38
38
  &.newspack--success {
39
- fill: $alert-green;
39
+ fill: wp-colors.$alert-green;
40
40
  }
41
41
  }
42
42
 
43
- // Welcome Screen
43
+ // Blue Screen
44
44
 
45
- .newspack_page_newspack-setup-wizard__welcome {
45
+ .newspack-wizard__blue {
46
46
  #wpwrap {
47
- background: $primary-500;
48
- }
49
-
50
- .newspack-wizard__header {
51
- display: none;
52
- }
53
-
54
- .newspack-card {
55
- background: white;
56
- border: 0;
57
- margin: 0 auto 32px;
58
-
59
- @media screen and ( min-width: 584px ) {
60
- max-width: 520px;
61
- }
62
-
63
- &.loading {
64
- cursor: wait;
65
- }
66
-
67
- &__footer {
68
- align-items: center;
69
- display: flex;
70
- flex-wrap: wrap;
71
- justify-content: space-between;
72
-
73
- .newspack-checkbox-control {
74
- margin: 12px 16px 12px 0;
75
- }
76
- }
77
-
78
- h1 {
79
- align-items: center;
80
- display: flex;
81
- flex-wrap: wrap;
82
-
83
- svg {
84
- margin-right: 8px;
85
- }
86
- }
87
- }
88
-
89
- .newspack-logo__wrapper {
90
- margin-bottom: 32px;
91
- }
92
-
93
- .newspack-buttons-card {
94
- margin: 0;
47
+ background: colors.$primary-500;
95
48
  }
96
49
 
97
50
  .newspack-footer {
98
- background: $primary-500;
99
- border-color: $primary-500;
51
+ background: colors.$primary-500;
52
+ border-color: colors.$primary-500;
100
53
  justify-content: center;
101
54
 
102
55
  &__logo {
@@ -123,12 +76,9 @@ svg {
123
76
 
124
77
  .newspack-wizard__is-loading {
125
78
  background: white;
126
- bottom: 0;
127
79
  cursor: wait;
128
- left: 0;
80
+ inset: 0;
129
81
  position: absolute;
130
- right: 0;
131
- top: 0;
132
82
 
133
83
  > * {
134
84
  display: none !important;
@@ -142,103 +92,106 @@ svg {
142
92
  }
143
93
 
144
94
  &::before {
145
- background: $primary-500;
146
- box-shadow: 24px 0 0 white, 69px 0 0 -15px $gray-900, 99px 0 0 -15px $gray-900,
147
- 129px 0 0 -15px $gray-900, 159px 0 0 -15px $gray-900, 189px 0 0 -15px $gray-900;
95
+ background: colors.$primary-500;
96
+ box-shadow: 24px 0 0 white, 69px 0 0 -15px wp-colors.$gray-900,
97
+ 99px 0 0 -15px wp-colors.$gray-900, 129px 0 0 -15px wp-colors.$gray-900,
98
+ 159px 0 0 -15px wp-colors.$gray-900, 189px 0 0 -15px wp-colors.$gray-900;
148
99
  height: 60px;
149
100
  width: 60px;
150
101
  }
151
102
 
152
103
  &::after {
153
- background: $gray-900;
154
- box-shadow: inset -40vw 0 0 0 white, 0 64px 0 0 $gray-700, 40vw 96px 0 0 white,
155
- 0 96px 0 0 $gray-700;
104
+ background: wp-colors.$gray-900;
105
+ box-shadow: inset -40vw 0 0 0 white, 0 64px 0 0 wp-colors.$gray-700, 40vw 96px 0 0 white,
106
+ 0 96px 0 0 wp-colors.$gray-700;
156
107
  height: 24px;
157
108
  margin: 68px auto 0;
158
109
  max-width: 1040px;
159
110
  width: calc( 100% - ( 32px * 2 ) );
160
111
 
161
112
  @media screen and ( min-width: 744px ) {
162
- box-shadow: inset -400px 0 0 0 white, 0 64px 0 0 $gray-700, 200px 96px 0 0 white,
163
- 0 96px 0 0 $gray-700;
113
+ box-shadow: inset -400px 0 0 0 white, 0 64px 0 0 wp-colors.$gray-700, 200px 96px 0 0 white,
114
+ 0 96px 0 0 wp-colors.$gray-700;
164
115
  width: calc( 100% - ( 64px * 2 ) );
165
116
  }
166
117
 
167
118
  @media screen and ( min-width: 1224px ) {
168
- box-shadow: inset -600px 0 0 0 white, 0 64px 0 0 $gray-700, 520px 96px 0 0 white,
169
- 0 96px 0 0 $gray-700;
119
+ box-shadow: inset -600px 0 0 0 white, 0 64px 0 0 wp-colors.$gray-700, 512px 96px 0 0 white,
120
+ 0 96px 0 0 wp-colors.$gray-700;
170
121
  width: calc( 100% - ( 64px * 2 ) );
171
122
  }
172
123
  }
173
124
 
174
- // Welcome Screen
175
- .newspack_page_newspack-setup-wizard__welcome & {
176
- background: $primary-500;
177
-
178
- &::before,
179
- &::after {
180
- left: 50%;
181
- position: absolute;
182
- transform: translate( -50% );
183
- }
125
+ // Blue Screen
126
+ .newspack-wizard__blue & {
127
+ background: colors.$primary-500;
184
128
 
185
129
  &::before {
186
- border-radius: 4px;
130
+ animation: loading-quiet 1.25s ease-in-out infinite;
187
131
  background: white;
188
- height: 192px;
189
- max-width: 584px;
190
- top: 120px;
191
- width: calc( 100% - ( 32px * 2 ) );
192
-
193
- @media screen and ( min-width: 744px ) {
194
- width: calc( 100% - ( 64px * 2 ) );
195
- }
132
+ border-radius: 0;
133
+ box-shadow: 0;
134
+ height: 8px;
135
+ left: 0;
136
+ margin: 0;
137
+ position: absolute;
138
+ right: 100%;
139
+ top: 0;
140
+ width: auto;
196
141
  }
197
142
 
198
143
  &::after {
199
- box-shadow: inset -130px 0 0 0 white, 0 64px 0 0 $gray-700, 0 96px 0 0 $gray-700;
200
- margin: 0;
201
- max-width: 520px;
202
- top: 156px;
203
- width: calc( 100% - ( 64px * 2 ) );
204
-
205
- @media screen and ( min-width: 600px ) {
206
- box-shadow: inset -260px 0 0 0 white, 0 64px 0 0 $gray-700, 0 96px 0 0 $gray-700;
207
- }
144
+ display: none;
208
145
  }
209
146
  }
210
147
 
211
148
  // Quiet
212
149
  &-quiet {
213
- cursor: wait;
214
150
  position: relative;
215
151
 
216
- > * {
217
- opacity: 0.5;
218
- }
219
-
220
- &::before {
221
- animation: loading-quiet 1.25s ease-in-out infinite;
222
- background: $primary-500;
152
+ &::before,
153
+ &::after {
223
154
  content: '';
155
+ cursor: wait;
224
156
  display: block;
225
- height: 8px;
226
157
  left: 0;
227
158
  position: fixed;
228
- right: 100%;
229
159
  top: 46px;
230
- z-index: 1;
231
160
 
232
161
  @media screen and ( min-width: 783px ) {
233
162
  top: 32px;
234
163
  margin-left: 160px;
235
164
 
236
- body.auto-fold &,
165
+ body.auto-fold & {
166
+ margin-left: 36px;
167
+ }
168
+ }
169
+
170
+ @media screen and ( min-width: 961px ) {
171
+ body.auto-fold & {
172
+ margin-left: 160px;
173
+ }
174
+
237
175
  body.folded & {
238
176
  margin-left: 36px;
239
177
  }
240
178
  }
241
179
  }
180
+
181
+ &::before {
182
+ animation: loading-quiet 1.25s ease-in-out infinite;
183
+ background: colors.$primary-500;
184
+ height: 8px;
185
+ right: 100%;
186
+ z-index: 9999;
187
+ }
188
+
189
+ &::after {
190
+ background: rgba( white, 0.7 );
191
+ bottom: 0;
192
+ right: 0;
193
+ z-index: 9998;
194
+ }
242
195
  }
243
196
  }
244
197
 
@@ -255,42 +208,42 @@ svg {
255
208
  animation: loading 2s ease-in-out infinite;
256
209
  content: '';
257
210
  display: block;
258
- background: $gray-900;
259
- box-shadow: inset -40vw 0 0 0 white, 0 64px 0 0 $gray-700, 40vw 96px 0 0 white,
260
- 0 96px 0 0 $gray-700;
211
+ background: wp-colors.$gray-900;
212
+ box-shadow: inset -40vw 0 0 0 white, 0 64px 0 0 wp-colors.$gray-700, 40vw 96px 0 0 white,
213
+ 0 96px 0 0 wp-colors.$gray-700;
261
214
  height: 24px;
262
215
  margin: 0 auto;
263
216
  max-width: 1040px;
264
217
  width: 100%;
265
218
 
266
219
  @media screen and ( min-width: 744px ) {
267
- box-shadow: inset -400px 0 0 0 white, 0 64px 0 0 $gray-700, 200px 96px 0 0 white,
268
- 0 96px 0 0 $gray-700;
220
+ box-shadow: inset -400px 0 0 0 white, 0 64px 0 0 wp-colors.$gray-700, 200px 96px 0 0 white,
221
+ 0 96px 0 0 wp-colors.$gray-700;
269
222
  }
270
223
 
271
224
  @media screen and ( min-width: 1224px ) {
272
- box-shadow: inset -600px 0 0 0 white, 0 64px 0 0 $gray-700, 520px 96px 0 0 white,
273
- 0 96px 0 0 $gray-700;
225
+ box-shadow: inset -600px 0 0 0 white, 0 64px 0 0 wp-colors.$gray-700, 520px 96px 0 0 white,
226
+ 0 96px 0 0 wp-colors.$gray-700;
274
227
  }
275
228
  }
276
229
  }
277
230
 
278
231
  @keyframes loading {
279
- from {
280
- opacity: 100%;
232
+ 0% {
233
+ opacity: 1;
281
234
  }
282
235
 
283
236
  50% {
284
- opacity: 10%;
237
+ opacity: 0.1;
285
238
  }
286
239
 
287
- to {
288
- opacity: 100%;
240
+ 100% {
241
+ opacity: 1;
289
242
  }
290
243
  }
291
244
 
292
245
  @keyframes loading-quiet {
293
- from {
246
+ 0% {
294
247
  left: 0;
295
248
  right: 100%;
296
249
  }
@@ -300,7 +253,7 @@ svg {
300
253
  right: 0;
301
254
  }
302
255
 
303
- to {
256
+ 100% {
304
257
  left: 100%;
305
258
  right: 0;
306
259
  }