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
@@ -2,13 +2,7 @@
2
2
  * Text Control
3
3
  */
4
4
 
5
- @import '../../../shared/scss/colors';
6
- @import '~@wordpress/base-styles/colors';
7
-
8
5
  .newspack-text-control {
9
- color: $gray-700;
10
- font-size: 14px;
11
- line-height: 24px;
12
6
  &--with-margin {
13
7
  margin: 32px 0;
14
8
  }
@@ -26,80 +20,6 @@
26
20
  > * {
27
21
  margin: 0;
28
22
  }
29
-
30
- & + & {
31
- margin-bottom: 32px;
32
- margin-top: -16px;
33
- }
34
-
35
- + .newspack-select-control,
36
- + .newspack-textarea-control {
37
- margin-bottom: 32px;
38
- margin-top: -16px;
39
- }
40
- }
41
-
42
- label {
43
- color: $gray-900;
44
- font-size: 14px;
45
- font-weight: bold;
46
- line-height: 24px;
47
- margin: 0;
48
-
49
- &[data-required-text] {
50
- &::after {
51
- content: attr( data-required-text );
52
- padding-left: 0.25em;
53
- font-weight: normal;
54
- color: $gray-700;
55
- }
56
- }
57
- }
58
-
59
- input[type='date'],
60
- input[type='datetime-local'],
61
- input[type='datetime'],
62
- input[type='email'],
63
- input[type='month'],
64
- input[type='number'],
65
- input[type='password'],
66
- input[type='search'],
67
- input[type='tel'],
68
- input[type='text'],
69
- input[type='time'],
70
- input[type='url'],
71
- input[type='week'] {
72
- background: white;
73
- border: 1px solid $gray-300;
74
- border-radius: 3px;
75
- box-shadow: none;
76
- color: inherit;
77
- font-size: 16px;
78
- line-height: inherit;
79
- margin: 0;
80
- min-height: 48px;
81
- padding: 11px 8px;
82
- transition: border-color 125ms ease-in-out, box-shadow 125ms ease-in-out;
83
- width: 100%;
84
-
85
- @media screen and ( min-width: 768px ) {
86
- font-size: 14px;
87
- }
88
-
89
- &::placeholder {
90
- opacity: 0.5;
91
- }
92
- &:focus {
93
- border-color: $primary-500;
94
- box-shadow: inset 0 0 0 2px $primary-500;
95
- }
96
-
97
- &:disabled,
98
- &.disabled {
99
- background: $gray-100;
100
- color: $gray-600;
101
- cursor: not-allowed;
102
- }
103
23
  }
104
24
 
105
25
  // Code
@@ -109,50 +29,4 @@
109
29
  font-family: Consolas, monaco, monospace;
110
30
  }
111
31
  }
112
-
113
- // Small
114
-
115
- &--small {
116
- input[type='date'],
117
- input[type='datetime-local'],
118
- input[type='datetime'],
119
- input[type='email'],
120
- input[type='month'],
121
- input[type='number'],
122
- input[type='password'],
123
- input[type='search'],
124
- input[type='tel'],
125
- input[type='text'],
126
- input[type='time'],
127
- input[type='url'],
128
- input[type='week'] {
129
- min-height: 36px;
130
- padding-bottom: 5px;
131
- padding-top: 5px;
132
- }
133
- }
134
-
135
- // Multiple Text Controls
136
-
137
- & + & {
138
- margin-bottom: 32px;
139
- margin-top: -16px;
140
- }
141
-
142
- // Multiple Controls
143
-
144
- + .newspack-select-control,
145
- + .newspack-textarea-control {
146
- margin-bottom: 32px;
147
- margin-top: -16px;
148
- }
149
-
150
- // Reset
151
-
152
- .components-base-control__field,
153
- .components-base-control__label,
154
- .components-base-control__help {
155
- display: block;
156
- margin: 0;
157
- }
158
32
  }
@@ -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,24 +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
- exports.icon = exports.default = void 0;
9
-
7
+ exports.default = void 0;
10
8
  var _element = require("@wordpress/element");
11
-
12
9
  var _components = require("@wordpress/components");
13
-
14
- var _icons = require("@wordpress/icons");
15
-
16
10
  require("./style.scss");
17
-
18
11
  var _classnames = _interopRequireDefault(require("classnames"));
19
-
20
12
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
21
-
22
13
  /**
23
14
  * Waiting
24
15
  */
@@ -34,18 +25,6 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
34
25
  /**
35
26
  * External dependencies.
36
27
  */
37
- const icon = (0, _jsxRuntime.jsx)(_components.SVG, {
38
- xmlns: "http://www.w3.org/2000/svg",
39
- width: "24",
40
- height: "24",
41
- viewBox: "0 0 24 24",
42
- children: (0, _jsxRuntime.jsx)(_components.Path, {
43
- clipRule: "evenodd",
44
- 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",
45
- fillRule: "evenodd"
46
- })
47
- });
48
- exports.icon = icon;
49
28
 
50
29
  class Waiting extends _element.Component {
51
30
  /**
@@ -57,21 +36,18 @@ class Waiting extends _element.Component {
57
36
  isRight,
58
37
  isLeft,
59
38
  isCenter,
60
- size
39
+ ...otherProps
61
40
  } = this.props;
62
- const classes = (0, _classnames.default)('newspack-is-waiting', className, {
63
- 'newspack-is-waiting__is-right': isRight,
64
- 'newspack-is-waiting__is-left': isLeft,
65
- 'newspack-is-waiting__is-center': isCenter
41
+ const classes = (0, _classnames.default)('newspack-waiting', className, {
42
+ 'is-right': isRight,
43
+ 'is-left': isLeft,
44
+ 'is-center': isCenter
66
45
  });
67
- return (0, _jsxRuntime.jsx)(_icons.Icon, {
68
- icon: icon,
69
- size: size,
70
- className: classes
46
+ return (0, _jsxRuntime.jsx)(_components.Spinner, {
47
+ className: classes,
48
+ ...otherProps
71
49
  });
72
50
  }
73
-
74
51
  }
75
-
76
52
  var _default = Waiting;
77
53
  exports.default = _default;
@@ -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
- }
@@ -1,37 +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
-
12
+ var _components = require("@wordpress/components");
18
13
  var _ = require("../");
19
-
20
14
  require("./style.scss");
21
-
22
15
  var _classnames = _interopRequireDefault(require("classnames"));
23
-
24
16
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
25
-
26
17
  /**
27
18
  * WordPress dependencies.
28
19
  */
29
20
  const __ = _i18n.__;
21
+ /**
22
+ * Internal dependencies.
23
+ */
24
+ /**
25
+ * External dependencies.
26
+ */
30
27
  const PORTAL_PARENT_ID = 'newspack-components-web-preview-wrapper';
28
+
31
29
  /**
32
30
  * Web Preview. A component to preview a website in an iframe, with device sizing options.
33
31
  */
34
-
35
32
  class WebPreview extends _element.Component {
36
33
  constructor(props) {
37
34
  super(props);
@@ -40,6 +37,9 @@ class WebPreview extends _element.Component {
40
37
  loaded: false,
41
38
  isPreviewVisible: false
42
39
  });
40
+ /**
41
+ * Create JSX for the modal
42
+ */
43
43
  (0, _defineProperty2.default)(this, "getWebPreviewModal", () => {
44
44
  const {
45
45
  beforeLoad = () => {},
@@ -51,12 +51,10 @@ class WebPreview extends _element.Component {
51
51
  loaded,
52
52
  isPreviewVisible
53
53
  } = this.state;
54
-
55
54
  if (!this.modalDOMElement || !isPreviewVisible) {
56
55
  return null;
57
56
  }
58
-
59
- const classes = (0, _classnames.default)('newspack-web-preview__container', device, loaded && 'newspack-web-preview__is-loaded');
57
+ const classes = (0, _classnames.default)('newspack-web-preview', device, loaded && 'is-loaded');
60
58
  beforeLoad();
61
59
  return (0, _element.createPortal)((0, _jsxRuntime.jsx)("div", {
62
60
  className: classes,
@@ -66,36 +64,33 @@ class WebPreview extends _element.Component {
66
64
  className: "newspack-web-preview__toolbar",
67
65
  children: [(0, _jsxRuntime.jsx)("div", {
68
66
  className: "newspack-web-preview__toolbar-left",
69
- children: (0, _jsxRuntime.jsxs)(_.ButtonGroup, {
70
- children: [(0, _jsxRuntime.jsx)(_.Button, {
67
+ children: (0, _jsxRuntime.jsxs)(_components.ButtonGroup, {
68
+ children: [(0, _jsxRuntime.jsx)(_components.Button, {
71
69
  onClick: () => this.setState({
72
70
  device: 'desktop'
73
71
  }),
74
- isSmall: true,
75
- className: (0, _classnames.default)('is-desktop', 'desktop' === device && 'is-selected'),
72
+ variant: 'desktop' === device && 'primary',
76
73
  icon: _icons.desktop,
77
- label: __('Preview desktop size', 'newspack')
78
- }), (0, _jsxRuntime.jsx)(_.Button, {
74
+ label: __('Preview Desktop Size', 'newspack')
75
+ }), (0, _jsxRuntime.jsx)(_components.Button, {
79
76
  onClick: () => this.setState({
80
77
  device: 'tablet'
81
78
  }),
82
- isSmall: true,
83
- className: (0, _classnames.default)('is-tablet', 'tablet' === device && 'is-selected'),
79
+ variant: 'tablet' === device && 'primary',
84
80
  icon: _icons.tablet,
85
- label: __('Preview tablet size', 'newspack')
86
- }), (0, _jsxRuntime.jsx)(_.Button, {
81
+ label: __('Preview Tablet Size', 'newspack')
82
+ }), (0, _jsxRuntime.jsx)(_components.Button, {
87
83
  onClick: () => this.setState({
88
84
  device: 'phone'
89
85
  }),
90
- isSmall: true,
91
- className: (0, _classnames.default)('is-phone', 'phone' === device && 'is-selected'),
86
+ variant: 'phone' === device && 'primary',
92
87
  icon: _icons.mobile,
93
- label: __('Preview phone size', 'newspack')
88
+ label: __('Preview Phone Size', 'newspack')
94
89
  })]
95
90
  })
96
91
  }), (0, _jsxRuntime.jsx)("div", {
97
92
  className: "newspack-web-preview__toolbar-right",
98
- children: (0, _jsxRuntime.jsx)(_.Button, {
93
+ children: (0, _jsxRuntime.jsx)(_components.Button, {
99
94
  onClick: () => {
100
95
  onClose();
101
96
  this.setState({
@@ -103,9 +98,8 @@ class WebPreview extends _element.Component {
103
98
  loaded: false
104
99
  });
105
100
  },
106
- isSmall: true,
107
101
  icon: _icons.closeSmall,
108
- label: __('Close preview', 'newspack')
102
+ label: __('Close Preview', 'newspack')
109
103
  })
110
104
  })]
111
105
  }), (0, _jsxRuntime.jsxs)("div", {
@@ -137,26 +131,23 @@ class WebPreview extends _element.Component {
137
131
  });
138
132
  this.iframeRef = (0, _element.createRef)();
139
133
  }
134
+
140
135
  /**
141
136
  * If a div with id PORTAL_PARENT_ID exists, assign it to class field.
142
137
  * If not, create it and append to the body.
143
138
  */
144
-
145
-
146
139
  componentDidMount() {
147
140
  const existingDOMElement = document.getElementById(PORTAL_PARENT_ID);
148
141
  this.modalDOMElement = existingDOMElement || document.createElement('div');
149
-
150
142
  if (!existingDOMElement) {
151
143
  this.modalDOMElement.id = PORTAL_PARENT_ID;
152
144
  document.body.appendChild(this.modalDOMElement);
153
145
  }
154
146
  }
147
+
155
148
  /**
156
149
  * Add or remove applicable body classes
157
150
  */
158
-
159
-
160
151
  componentDidUpdate() {
161
152
  if (this.state.isPreviewVisible === true) {
162
153
  document.body.classList.add('newspack-web-preview--open');
@@ -164,24 +155,13 @@ class WebPreview extends _element.Component {
164
155
  document.body.classList.remove('newspack-web-preview--open');
165
156
  }
166
157
  }
167
- /**
168
- * Create JSX for the modal
169
- */
170
-
171
-
172
158
  /**
173
159
  * Render.
174
160
  */
175
161
  render() {
176
162
  const {
177
163
  label,
178
- isPrimary,
179
- isSecondary,
180
- isTertiary,
181
- isQuaternary,
182
- isLink,
183
- isSmall,
184
-
164
+ variant,
185
165
  /**
186
166
  * Inversion of control - let the caller render
187
167
  * the button that will trigger the modal
@@ -191,24 +171,17 @@ class WebPreview extends _element.Component {
191
171
  return (0, _jsxRuntime.jsxs)(_element.Fragment, {
192
172
  children: [renderButton ? renderButton({
193
173
  showPreview: this.showPreview
194
- }) : (0, _jsxRuntime.jsx)(_.Button, {
195
- isPrimary: isPrimary,
196
- isSecondary: isSecondary,
197
- isTertiary: isTertiary,
198
- isQuaternary: isQuaternary,
199
- isLink: isLink,
200
- isSmall: isSmall,
174
+ }) : (0, _jsxRuntime.jsx)(_components.Button, {
175
+ variant: variant,
201
176
  onClick: this.showPreview,
202
177
  tabIndex: "0",
203
178
  children: label
204
179
  }), this.getWebPreviewModal()]
205
180
  });
206
181
  }
207
-
208
182
  }
209
-
210
183
  WebPreview.defaultProps = {
211
- url: '//newspack.pub',
184
+ url: '//newspack.com',
212
185
  label: __('Preview', 'newspack'),
213
186
  onLoad: () => {}
214
187
  };
@@ -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