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
@@ -2,12 +2,12 @@
2
2
  * Card
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
6
 
7
7
  .newspack-card {
8
8
  border-radius: 2px;
9
- border: 1px solid $gray-300;
10
- color: $gray-900;
9
+ border: 1px solid wp-colors.$gray-300;
10
+ color: wp-colors.$gray-900;
11
11
  margin: 32px 0;
12
12
  padding: 16px 48px;
13
13
 
@@ -30,6 +30,7 @@
30
30
  align-items: center;
31
31
  display: flex;
32
32
  flex-wrap: wrap;
33
+ gap: 8px;
33
34
  justify-content: space-between;
34
35
  margin-bottom: -16px;
35
36
 
@@ -37,6 +38,12 @@
37
38
  margin-bottom: 0 !important;
38
39
  margin-top: 0 !important;
39
40
  }
41
+
42
+ .newspack-select-control {
43
+ .components-base-control__field {
44
+ margin-bottom: 0;
45
+ }
46
+ }
40
47
  }
41
48
 
42
49
  // Is Narrow
@@ -101,6 +108,16 @@
101
108
  padding: 0;
102
109
  }
103
110
 
111
+ // Margin
112
+
113
+ &.mt64 {
114
+ margin-top: 64px;
115
+ }
116
+
117
+ &.mt16 {
118
+ margin-top: 16px;
119
+ }
120
+
104
121
  // Typography
105
122
 
106
123
  small {
@@ -109,15 +126,15 @@
109
126
  }
110
127
 
111
128
  code {
112
- background: $gray-100;
113
- color: $gray-900;
129
+ background: wp-colors.$gray-100;
130
+ color: wp-colors.$gray-900;
114
131
  padding: 0 0.5em;
115
132
  }
116
133
 
117
134
  // Thematic Break
118
135
 
119
136
  hr {
120
- background: $gray-300;
137
+ background: wp-colors.$gray-300;
121
138
  border: 0;
122
139
  height: 1px;
123
140
  margin: 48px 0;
@@ -130,7 +147,7 @@
130
147
  // Separator
131
148
 
132
149
  .sep {
133
- background: $gray-300;
150
+ background: wp-colors.$gray-300;
134
151
  height: 1px;
135
152
  margin-left: 8px;
136
153
  margin-right: 8px;
@@ -146,6 +163,6 @@
146
163
  // Error
147
164
 
148
165
  .newspack-error {
149
- color: $alert-red;
166
+ color: wp-colors.$alert-red;
150
167
  }
151
168
  }
@@ -1,5 +1,4 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  /**
4
3
  * Category Autocomplete
5
4
  */
@@ -11,52 +10,55 @@ import apiFetch from '@wordpress/api-fetch';
11
10
  import { Spinner } from '@wordpress/components';
12
11
  import { Component } from '@wordpress/element';
13
12
  import { addQueryArgs } from '@wordpress/url';
13
+
14
14
  /**
15
15
  * Internal dependencies.
16
16
  */
17
-
18
17
  import { FormTokenField } from '../';
19
18
  import './style.scss';
19
+
20
20
  /**
21
21
  * External dependencies
22
22
  */
23
-
24
- import { debounce, find, filter } from 'lodash';
23
+ import debounce from 'lodash/debounce';
24
+ import find from 'lodash/find';
25
+ import filter from 'lodash/filter';
25
26
  import classnames from 'classnames';
27
+
26
28
  /**
27
29
  * Category autocomplete field component.
28
30
  */
29
-
30
31
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
31
32
  import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
32
-
33
33
  class CategoryAutocomplete extends Component {
34
34
  /**
35
35
  * Class constructor.
36
36
  */
37
37
  constructor(props) {
38
38
  super(props);
39
-
40
39
  _defineProperty(this, "state", {
41
40
  suggestions: {},
42
41
  allCategories: {},
43
42
  isLoading: false
44
43
  });
45
-
44
+ /**
45
+ * Prepare categories data for the API endpoint, call the change handler.
46
+ *
47
+ * @param {Array} tokens An array of category tokens.
48
+ */
46
49
  _defineProperty(this, "handleOnChange", tokens => {
47
50
  const {
48
51
  onChange
49
52
  } = this.props;
50
53
  const {
51
54
  suggestions
52
- } = this.state; // Categories that are already will be objects, while new additions will be strings (the name).
55
+ } = this.state;
56
+ // Categories that are already will be objects, while new additions will be strings (the name).
53
57
  // allValues nomalizes the array so that they are all objects.
54
-
55
58
  const allValues = tokens.filter(token => 'undefined' !== typeof token) // Ensure each token is a valid value.
56
59
  .map(token => 'string' === typeof token ? suggestions[token] : token).filter(Boolean);
57
60
  onChange(allValues);
58
61
  });
59
-
60
62
  _defineProperty(this, "getAvailableSuggestions", () => {
61
63
  const {
62
64
  value
@@ -68,7 +70,6 @@ class CategoryAutocomplete extends Component {
68
70
  if (item?.id) {
69
71
  acc.push(item.id);
70
72
  }
71
-
72
73
  return acc;
73
74
  }, []);
74
75
  const availableSuggestions = filter(suggestions, _ref => {
@@ -79,10 +80,8 @@ class CategoryAutocomplete extends Component {
79
80
  });
80
81
  return availableSuggestions.map(v => v.name);
81
82
  });
82
-
83
83
  this.debouncedUpdateSuggestions = debounce(this.updateSuggestions, 100);
84
84
  }
85
-
86
85
  componentDidMount() {
87
86
  this.setState({
88
87
  isLoading: true
@@ -98,21 +97,19 @@ class CategoryAutocomplete extends Component {
98
97
  isLoading: false
99
98
  }));
100
99
  }
100
+
101
101
  /**
102
102
  * Clean up debounced suggestions method.
103
103
  */
104
-
105
-
106
104
  componentWillUnmount() {
107
105
  this.debouncedUpdateSuggestions.cancel();
108
106
  }
107
+
109
108
  /**
110
109
  * Refresh the autocomplete UI based on text that was typed.
111
110
  *
112
111
  * @param {string} search The typed text to search for.
113
112
  */
114
-
115
-
116
113
  updateSuggestions(search) {
117
114
  this.setState({
118
115
  isLoading: true
@@ -127,7 +124,8 @@ class CategoryAutocomplete extends Component {
127
124
  })
128
125
  }).then(categories => {
129
126
  this.setState({
130
- suggestions: categories.reduce((accumulator, category) => ({ ...accumulator,
127
+ suggestions: categories.reduce((accumulator, category) => ({
128
+ ...accumulator,
131
129
  [category.name]: category
132
130
  }), {})
133
131
  });
@@ -135,13 +133,6 @@ class CategoryAutocomplete extends Component {
135
133
  isLoading: false
136
134
  }));
137
135
  }
138
- /**
139
- * Prepare categories data for the API endpoint, call the change handler.
140
- *
141
- * @param {Array} tokens An array of category tokens.
142
- */
143
-
144
-
145
136
  /**
146
137
  * Render the component.
147
138
  */
@@ -166,14 +157,12 @@ class CategoryAutocomplete extends Component {
166
157
  onInputChange: input => this.debouncedUpdateSuggestions(input),
167
158
  value: value.reduce((acc, item) => {
168
159
  const categoryOrItem = typeof item === 'number' ? find(allCategories, ['id', item]) : item;
169
-
170
160
  if (categoryOrItem) {
171
161
  acc.push({
172
162
  id: categoryOrItem.term_id || categoryOrItem.id,
173
163
  value: categoryOrItem.value || categoryOrItem.name
174
164
  });
175
165
  }
176
-
177
166
  return acc;
178
167
  }, []),
179
168
  suggestions: this.getAvailableSuggestions(),
@@ -189,9 +178,7 @@ class CategoryAutocomplete extends Component {
189
178
  }) : null]
190
179
  });
191
180
  }
192
-
193
181
  }
194
-
195
182
  CategoryAutocomplete.defaultProps = {
196
183
  taxonomy: 'categories'
197
184
  };
@@ -2,8 +2,6 @@
2
2
  * Category Autocomplete
3
3
  */
4
4
 
5
- @import '../../../shared/scss/colors';
6
-
7
5
  .newspack-category-autocomplete {
8
6
  position: relative;
9
7
 
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Checkbox Control
3
+ */
4
+
5
+ /**
6
+ * WordPress dependencies
7
+ */
8
+ import { Component } from '@wordpress/element';
9
+ import { CheckboxControl as BaseComponent } from '@wordpress/components';
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+
14
+ import { InfoButton } from '../';
15
+ import './style.scss';
16
+ /**
17
+ * External dependencies
18
+ */
19
+
20
+ import classnames from 'classnames';
21
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
22
+ import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
23
+
24
+ class CheckboxControl extends Component {
25
+ /**
26
+ * Render.
27
+ */
28
+ render() {
29
+ const {
30
+ className,
31
+ checked,
32
+ tooltip,
33
+ ...otherProps
34
+ } = this.props;
35
+ const classes = classnames('newspack-checkbox-control', className);
36
+ return _jsxs("div", {
37
+ className: classes,
38
+ children: [_jsx(BaseComponent, {
39
+ checked: Boolean(checked),
40
+ ...otherProps
41
+ }), tooltip && _jsx(InfoButton, {
42
+ text: tooltip
43
+ })]
44
+ });
45
+ }
46
+
47
+ }
48
+
49
+ export default CheckboxControl;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Checkbox styles.
3
+ */
4
+
5
+ @import '../../../shared/scss/colors';
6
+ @import '~@wordpress/base-styles/colors';
7
+
8
+ .newspack-checkbox-control {
9
+ color: $gray-700;
10
+ display: flex;
11
+ font-size: 14px;
12
+ line-height: 24px;
13
+ margin: 32px 0;
14
+
15
+ label {
16
+ color: inherit;
17
+ font-size: inherit;
18
+ line-height: inherit;
19
+ margin: 0;
20
+ }
21
+
22
+ .components-checkbox-control__input-container {
23
+ display: block;
24
+ margin: 0;
25
+ margin-right: 8px;
26
+
27
+ @media screen and ( min-width: 600px ) {
28
+ margin-bottom: 2px;
29
+ margin-top: 2px;
30
+ }
31
+ }
32
+
33
+ .components-checkbox-control__input[type='checkbox'] {
34
+ margin: 0;
35
+
36
+ &:checked {
37
+ background-color: $primary-500;
38
+ border-color: $primary-500;
39
+ }
40
+
41
+ &:focus {
42
+ border-color: $primary-500;
43
+ box-shadow: 0 0 0 2px white, 0 0 0 3.5px $primary-500;
44
+ }
45
+ }
46
+
47
+ .components-base-control__help {
48
+ color: inherit;
49
+ font-size: inherit;
50
+ font-style: italic;
51
+ line-height: inherit;
52
+ margin: 0;
53
+ margin-left: 28px;
54
+ }
55
+
56
+ // Multiple Checkbox Controls
57
+
58
+ & + & {
59
+ margin-top: -16px;
60
+ }
61
+
62
+ // Reset
63
+
64
+ .components-base-control {
65
+ font-size: inherit;
66
+ line-height: inherit;
67
+ }
68
+
69
+ .components-base-control__field {
70
+ display: flex;
71
+ margin: 0;
72
+ }
73
+
74
+ .components-base-control__label {
75
+ display: block;
76
+ margin: 0;
77
+ }
78
+ }
@@ -3,17 +3,17 @@
3
3
  */
4
4
  import { ColorPicker as ColorPickerComponent } from '@wordpress/components';
5
5
  import { useState, useRef } from '@wordpress/element';
6
+
6
7
  /**
7
8
  * External dependencies.
8
9
  */
9
-
10
10
  import classnames from 'classnames';
11
11
  import { colord, extend } from 'colord';
12
12
  import a11yPlugin from 'colord/plugins/a11y';
13
+
13
14
  /**
14
15
  * Internal dependencies.
15
16
  */
16
-
17
17
  import hooks from '../hooks';
18
18
  import utils from '../utils';
19
19
  import './style.scss';
@@ -23,7 +23,6 @@ extend([a11yPlugin]);
23
23
  const {
24
24
  InteractiveDiv
25
25
  } = utils;
26
-
27
26
  const ColorPicker = _ref => {
28
27
  let {
29
28
  label,
@@ -59,5 +58,4 @@ const ColorPicker = _ref => {
59
58
  })]
60
59
  });
61
60
  };
62
-
63
61
  export default ColorPicker;
@@ -2,9 +2,6 @@
2
2
  * Color Picker
3
3
  */
4
4
 
5
- @import '../../../shared/scss/colors';
6
- @import '~@wordpress/base-styles/colors';
7
-
8
5
  .newspack-color-picker {
9
6
  position: relative;
10
7
 
@@ -1,2 +1,3 @@
1
- export const NEWSPACK_SITE_URL = 'https://newspack.pub';
2
- export const NEWSPACK_SUPPORT_URL = `${NEWSPACK_SITE_URL}/support`;
1
+ export const NEWSPACK_SITE_URL = 'https://newspack.com';
2
+ export const NEWSPACK_SUPPORT_URL = `${NEWSPACK_SITE_URL}/support`;
3
+ export const HANDOFF_KEY = 'newspack_wizard_handoff_message';
@@ -7,18 +7,17 @@
7
7
  */
8
8
  import { CustomSelectControl as BaseComponent } from '@wordpress/components';
9
9
  import { Component } from '@wordpress/element';
10
+
10
11
  /**
11
12
  * External dependencies
12
13
  */
13
-
14
14
  import classnames from 'classnames';
15
+
15
16
  /**
16
17
  * Internal dependencies
17
18
  */
18
-
19
19
  import './style.scss';
20
20
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
21
-
22
21
  class CustomSelectControl extends Component {
23
22
  /**
24
23
  * Render.
@@ -34,7 +33,5 @@ class CustomSelectControl extends Component {
34
33
  ...otherProps
35
34
  });
36
35
  }
37
-
38
36
  }
39
-
40
37
  export default CustomSelectControl;
@@ -2,8 +2,7 @@
2
2
  * Custom Select Control
3
3
  */
4
4
 
5
- @import '../../../shared/scss/colors';
6
- @import '~@wordpress/base-styles/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
7
6
 
8
7
  .newspack-custom-select-control {
9
8
  label {
@@ -12,9 +11,9 @@
12
11
  }
13
12
 
14
13
  .components-custom-select-control__button {
15
- border-color: $gray-700;
14
+ border-color: wp-colors.$gray-700;
16
15
  border-radius: 2px;
17
- color: $gray-900;
16
+ color: wp-colors.$gray-900;
18
17
  font-size: inherit;
19
18
  min-height: 30px;
20
19
  min-width: 100%;
@@ -24,7 +23,7 @@
24
23
  &:focus,
25
24
  &:hover,
26
25
  &[aria-expanded='true'] {
27
- color: $gray-900;
26
+ color: wp-colors.$gray-900;
28
27
  }
29
28
 
30
29
  &:focus {
@@ -43,7 +42,7 @@
43
42
  }
44
43
 
45
44
  .components-custom-select-control__menu {
46
- border-color: $gray-700;
45
+ border-color: wp-colors.$gray-700;
47
46
  border-radius: 2px;
48
47
  box-shadow: 0 4px 8px rgba( black, 0.08 );
49
48
  margin: 8px 0 0;
@@ -64,7 +63,7 @@
64
63
  }
65
64
 
66
65
  &.is-header {
67
- background: $gray-100;
66
+ background: wp-colors.$gray-100;
68
67
  cursor: default;
69
68
  font-weight: bold;
70
69
  margin-left: 0;
@@ -5,14 +5,13 @@ import { default as ReactDateRangePicker } from 'react-daterange-picker';
5
5
  import origMoment from 'moment';
6
6
  import { extendMoment } from 'moment-range';
7
7
  import 'react-daterange-picker/dist/css/react-calendar.css';
8
+
8
9
  /**
9
10
  * Internal dependencies.
10
11
  */
11
-
12
12
  import './style.scss';
13
13
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
14
14
  const moment = extendMoment(origMoment);
15
-
16
15
  const DateRangePicker = _ref => {
17
16
  let {
18
17
  start,
@@ -30,5 +29,4 @@ const DateRangePicker = _ref => {
30
29
  }
31
30
  });
32
31
  };
33
-
34
32
  export default DateRangePicker;
@@ -1,5 +1,5 @@
1
- @import '../../../shared/scss/colors';
2
- @import '~@wordpress/base-styles/colors';
1
+ @use '../../../shared/scss/colors';
2
+ @use '~@wordpress/base-styles/colors' as wp-colors;
3
3
 
4
4
  .DateRangePicker {
5
5
  margin: 32px 0;
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  &__MonthHeader {
50
- color: $gray-900;
50
+ color: wp-colors.$gray-900;
51
51
  font-size: 17px;
52
52
  height: auto;
53
53
  line-height: 24px;
@@ -62,8 +62,8 @@
62
62
  }
63
63
 
64
64
  &__WeekdayHeading {
65
- border-bottom-color: $gray-300;
66
- color: $gray-900;
65
+ border-bottom-color: wp-colors.$gray-300;
66
+ color: wp-colors.$gray-900;
67
67
 
68
68
  abbr[title] {
69
69
  color: inherit;
@@ -76,20 +76,20 @@
76
76
  }
77
77
 
78
78
  &__Date {
79
- border-color: $gray-300;
79
+ border-color: wp-colors.$gray-300;
80
80
  border-bottom-width: 1px;
81
81
 
82
82
  &--weekend {
83
- background-color: $gray-100;
83
+ background-color: wp-colors.$gray-100;
84
84
  }
85
85
 
86
86
  &--otherMonth {
87
- color: $gray-200;
87
+ color: wp-colors.$gray-200;
88
88
  opacity: 1;
89
89
  }
90
90
 
91
91
  &--is-disabled {
92
- color: $gray-100;
92
+ color: wp-colors.$gray-100;
93
93
  cursor: not-allowed;
94
94
  }
95
95
 
@@ -100,7 +100,7 @@
100
100
 
101
101
  &__CalendarSelection,
102
102
  &__CalendarHighlight {
103
- border-color: $primary-500;
103
+ border-color: colors.$primary-500;
104
104
  bottom: 4px;
105
105
  top: 4px;
106
106
 
@@ -129,11 +129,11 @@
129
129
  }
130
130
 
131
131
  &__CalendarSelection {
132
- background-color: $primary-500;
132
+ background-color: colors.$primary-500;
133
133
  }
134
134
 
135
135
  &__CalendarHighlight {
136
- background: $primary-500;
136
+ background: colors.$primary-500;
137
137
  border: none;
138
138
  bottom: 0;
139
139
  top: 0;
@@ -8,15 +8,14 @@
8
8
  import { __ as alias__ } from '@wordpress/i18n';
9
9
  const __ = alias__;
10
10
  import { ExternalLink } from '@wordpress/components';
11
+
11
12
  /**
12
13
  * Internal dependencies.
13
14
  */
14
-
15
15
  import { PatronsLogo } from '../';
16
16
  import './style.scss';
17
17
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
18
18
  import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
19
-
20
19
  const Footer = _ref => {
21
20
  let {
22
21
  simple
@@ -34,53 +33,47 @@ const Footer = _ref => {
34
33
  } = window.newspack_urls || {};
35
34
  const footerElements = [{
36
35
  label: pluginVersion.label,
37
- url: 'https://newspack.pub/category/release-notes/',
36
+ url: 'https://newspack.com/category/release-notes/',
38
37
  external: true
39
38
  }, {
40
39
  label: __('About', 'newspack'),
41
- url: 'https://newspack.pub/',
40
+ url: 'https://newspack.com/',
42
41
  external: true
43
42
  }, {
44
43
  label: __('Documentation', 'newspack'),
45
44
  url: support,
46
45
  external: true
47
46
  }];
48
-
49
47
  if (componentsDemo) {
50
48
  footerElements.push({
51
49
  label: __('Components Demo', 'newspack'),
52
50
  url: componentsDemo
53
51
  });
54
52
  }
55
-
56
53
  if (setupWizard) {
57
54
  footerElements.push({
58
55
  label: __('Setup Wizard', 'newspack'),
59
56
  url: setupWizard
60
57
  });
61
58
  }
62
-
63
59
  if (resetUrl) {
64
60
  footerElements.push({
65
61
  label: __('Reset Newspack', 'newspack'),
66
62
  url: resetUrl
67
63
  });
68
64
  }
69
-
70
65
  if (removeStarterContent) {
71
66
  footerElements.push({
72
67
  label: __('Remove Starter Content', 'newspack'),
73
68
  url: removeStarterContent
74
69
  });
75
70
  }
76
-
77
71
  if (supportEmail) {
78
72
  footerElements.push({
79
73
  label: __('Contact Support', 'newspack'),
80
74
  url: `mailto:${supportEmail}`
81
75
  });
82
76
  }
83
-
84
77
  return _jsxs("div", {
85
78
  className: "newspack-footer",
86
79
  children: [!simple && _jsx("div", {
@@ -109,5 +102,4 @@ const Footer = _ref => {
109
102
  })]
110
103
  });
111
104
  };
112
-
113
105
  export default Footer;