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
@@ -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;
@@ -4,26 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _i18n = require("@wordpress/i18n");
9
-
10
8
  var _components = require("@wordpress/components");
11
-
12
9
  var _ = require("../");
13
-
14
10
  require("./style.scss");
15
-
16
11
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
17
-
18
12
  /**
19
13
  * Footer
20
14
  */
21
-
22
15
  /**
23
16
  * WordPress dependencies.
24
17
  */
25
18
  const __ = _i18n.__;
26
-
19
+ /**
20
+ * Internal dependencies.
21
+ */
27
22
  const Footer = _ref => {
28
23
  let {
29
24
  simple
@@ -41,53 +36,47 @@ const Footer = _ref => {
41
36
  } = window.newspack_urls || {};
42
37
  const footerElements = [{
43
38
  label: pluginVersion.label,
44
- url: 'https://newspack.pub/category/release-notes/',
39
+ url: 'https://newspack.com/category/release-notes/',
45
40
  external: true
46
41
  }, {
47
42
  label: __('About', 'newspack'),
48
- url: 'https://newspack.pub/',
43
+ url: 'https://newspack.com/',
49
44
  external: true
50
45
  }, {
51
46
  label: __('Documentation', 'newspack'),
52
47
  url: support,
53
48
  external: true
54
49
  }];
55
-
56
50
  if (componentsDemo) {
57
51
  footerElements.push({
58
52
  label: __('Components Demo', 'newspack'),
59
53
  url: componentsDemo
60
54
  });
61
55
  }
62
-
63
56
  if (setupWizard) {
64
57
  footerElements.push({
65
58
  label: __('Setup Wizard', 'newspack'),
66
59
  url: setupWizard
67
60
  });
68
61
  }
69
-
70
62
  if (resetUrl) {
71
63
  footerElements.push({
72
64
  label: __('Reset Newspack', 'newspack'),
73
65
  url: resetUrl
74
66
  });
75
67
  }
76
-
77
68
  if (removeStarterContent) {
78
69
  footerElements.push({
79
70
  label: __('Remove Starter Content', 'newspack'),
80
71
  url: removeStarterContent
81
72
  });
82
73
  }
83
-
84
74
  if (supportEmail) {
85
75
  footerElements.push({
86
76
  label: __('Contact Support', 'newspack'),
87
77
  url: `mailto:${supportEmail}`
88
78
  });
89
79
  }
90
-
91
80
  return (0, _jsxRuntime.jsxs)("div", {
92
81
  className: "newspack-footer",
93
82
  children: [!simple && (0, _jsxRuntime.jsx)("div", {
@@ -116,6 +105,5 @@ const Footer = _ref => {
116
105
  })]
117
106
  });
118
107
  };
119
-
120
108
  var _default = Footer;
121
109
  exports.default = _default;
@@ -2,15 +2,15 @@
2
2
  * Footer
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
6
 
7
7
  .newspack-footer {
8
8
  align-items: stretch;
9
9
  background: white;
10
- border: 0 solid $gray-300;
10
+ border: 0 solid wp-colors.$gray-300;
11
11
  border-width: 1px 0;
12
12
  bottom: 0;
13
- color: $gray-700;
13
+ color: wp-colors.$gray-700;
14
14
  display: flex;
15
15
  flex-wrap: wrap;
16
16
  font-size: 12px;
@@ -53,14 +53,14 @@
53
53
  &:active,
54
54
  &:focus,
55
55
  &:hover {
56
- color: $gray-900;
56
+ color: wp-colors.$gray-900;
57
57
  }
58
58
  }
59
59
  }
60
60
 
61
61
  &__logo {
62
62
  align-items: center;
63
- background: $gray-900;
63
+ background: wp-colors.$gray-900;
64
64
  display: flex;
65
65
  margin: 0 0 -1px;
66
66
  padding: 16px;
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _components = require("@wordpress/components");
11
-
12
9
  var _element = require("@wordpress/element");
13
-
14
10
  require("./style.scss");
15
-
16
11
  var _classnames = _interopRequireDefault(require("classnames"));
17
-
18
12
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
19
-
20
13
  /**
21
14
  * Form Token Field
22
15
  */
@@ -32,6 +25,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
32
25
  /**
33
26
  * External dependencies.
34
27
  */
28
+
35
29
  class FormTokenField extends _element.Component {
36
30
  /**
37
31
  * Render.
@@ -59,8 +53,6 @@ class FormTokenField extends _element.Component {
59
53
  })]
60
54
  });
61
55
  }
62
-
63
56
  }
64
-
65
57
  var _default = FormTokenField;
66
58
  exports.default = _default;
@@ -2,8 +2,7 @@
2
2
  * Form Token Field
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-form-token-field {
9
8
  width: 100%;
@@ -16,7 +15,7 @@
16
15
  // Help
17
16
 
18
17
  &__help {
19
- color: $gray-700;
18
+ color: wp-colors.$gray-700;
20
19
  font-size: 12px;
21
20
  margin: 8px 0 0 !important;
22
21
  }
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _qs = require("qs");
9
-
10
8
  var _ = require("../");
11
-
12
9
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
13
-
14
10
  /**
15
11
  * External dependencies
16
12
  */
@@ -18,13 +14,12 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
18
14
  /**
19
15
  * Internal dependencies
20
16
  */
17
+
21
18
  const GlobalNotices = () => {
22
19
  const notice = (0, _qs.parse)(window.location.search)['newspack-notice'];
23
-
24
20
  if (!notice) {
25
21
  return null;
26
22
  }
27
-
28
23
  return notice.split(',').map((text, i) => {
29
24
  if (text.indexOf('_error_') === 0) {
30
25
  return (0, _jsxRuntime.jsx)(_.Notice, {
@@ -33,13 +28,11 @@ const GlobalNotices = () => {
33
28
  rawHTML: true
34
29
  }, i);
35
30
  }
36
-
37
31
  return (0, _jsxRuntime.jsx)(_.Notice, {
38
32
  isSuccess: true,
39
33
  noticeText: text
40
34
  }, i);
41
35
  });
42
36
  };
43
-
44
37
  var _default = GlobalNotices;
45
38
  exports.default = _default;
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _element = require("@wordpress/element");
11
-
12
9
  require("./style.scss");
13
-
14
10
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
11
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
17
-
18
12
  /**
19
13
  * Grid
20
14
  */
@@ -30,6 +24,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
30
24
  /**
31
25
  * External dependencies
32
26
  */
27
+
33
28
  class Grid extends _element.Component {
34
29
  /**
35
30
  * Render
@@ -49,9 +44,7 @@ class Grid extends _element.Component {
49
44
  ...otherProps
50
45
  });
51
46
  }
52
-
53
47
  }
54
-
55
48
  Grid.defaultProps = {
56
49
  columns: 2,
57
50
  gutter: 32,
@@ -2,7 +2,7 @@
2
2
  * Grid
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
6
 
7
7
  .newspack-grid {
8
8
  display: grid;
@@ -145,9 +145,9 @@
145
145
  // Table-like
146
146
  &__thead {
147
147
  background: rgba( black, 0.025 );
148
- border-bottom: 1px solid $gray-300;
149
- border-top: 1px solid $gray-300;
150
- color: $gray-900;
148
+ border-bottom: 1px solid wp-colors.$gray-300;
149
+ border-top: 1px solid wp-colors.$gray-300;
150
+ color: wp-colors.$gray-900;
151
151
 
152
152
  > *:not( .screen-reader-text ) {
153
153
  padding: 8px;
@@ -155,7 +155,7 @@
155
155
  }
156
156
 
157
157
  &__tbody {
158
- border-bottom: 1px solid $gray-300;
158
+ border-bottom: 1px solid wp-colors.$gray-300;
159
159
  padding: 8px 0;
160
160
  }
161
161
 
@@ -1,37 +1,31 @@
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 _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
13
-
14
10
  var _element = require("@wordpress/element");
15
-
16
11
  var _i18n = require("@wordpress/i18n");
17
-
18
12
  var _ = require("../");
19
-
20
- var _lodash = require("lodash");
21
-
13
+ var _assign = _interopRequireDefault(require("lodash/assign"));
22
14
  var _classnames = _interopRequireDefault(require("classnames"));
23
-
24
15
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
25
-
26
16
  /**
27
17
  * Handoff
28
18
  */
29
-
30
19
  /**
31
20
  * WordPress dependencies.
32
21
  */
22
+ /**
23
+ * Internal dependencies.
24
+ */
33
25
  const __ = _i18n.__;
34
-
26
+ /**
27
+ * External dependencies.
28
+ */
35
29
  class Handoff extends _element.Component {
36
30
  constructor() {
37
31
  super(...arguments);
@@ -68,7 +62,7 @@ class Handoff extends _element.Component {
68
62
  primaryModalButton: __('Manage', 'newspack'),
69
63
  dismissModalButton: __('Dismiss', 'newspack')
70
64
  };
71
- return (0, _lodash.assign)(defaults, this.props);
65
+ return (0, _assign.default)(defaults, this.props);
72
66
  });
73
67
  (0, _defineProperty2.default)(this, "goToPlugin", plugin => {
74
68
  const {
@@ -92,7 +86,6 @@ class Handoff extends _element.Component {
92
86
  showModal: false
93
87
  };
94
88
  }
95
-
96
89
  /**
97
90
  * Render.
98
91
  */
@@ -180,9 +173,7 @@ class Handoff extends _element.Component {
180
173
  })]
181
174
  });
182
175
  }
183
-
184
176
  }
185
-
186
177
  Handoff.defaultProps = {
187
178
  onReady: () => {}
188
179
  };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = HandoffMessage;
7
+ var _element = require("@wordpress/element");
8
+ var _consts = require("../consts");
9
+ var _ = require("../");
10
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
11
+ /**
12
+ * WordPress dependencies.
13
+ */
14
+
15
+ /**
16
+ * Internal dependencies.
17
+ */
18
+
19
+ /**
20
+ * Handoff Message Component.
21
+ */function HandoffMessage() {
22
+ const [handoffMessage, setHandoffMessage] = (0, _element.useState)(false);
23
+ (0, _element.useEffect)(() => {
24
+ // Slight delay to allow for localStorage to be updated by RAS component.
25
+ setTimeout(() => {
26
+ const handoff = JSON.parse(localStorage.getItem(_consts.HANDOFF_KEY));
27
+ if (handoff?.message) {
28
+ setHandoffMessage(handoff.message);
29
+ } else {
30
+ setHandoffMessage(false);
31
+ }
32
+
33
+ // Clean up the notification if navigating away from the relevant page.
34
+ if (handoff?.url && -1 === window.location.href.indexOf(handoff.url)) {
35
+ window.localStorage.removeItem(_consts.HANDOFF_KEY);
36
+ setHandoffMessage(false);
37
+ }
38
+ }, 100);
39
+
40
+ // Clean up the notification when unmounting.
41
+ return () => window.localStorage.removeItem(_consts.HANDOFF_KEY);
42
+ }, []);
43
+ if (!handoffMessage) return null;
44
+ return (0, _jsxRuntime.jsx)(_.Notice, {
45
+ isHandoff: true,
46
+ isDismissible: false,
47
+ rawHTML: true,
48
+ noticeText: handoffMessage
49
+ });
50
+ }
@@ -1,28 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _element = require("@wordpress/element");
11
-
12
9
  var _usePrompt = _interopRequireDefault(require("./usePrompt"));
13
-
14
10
  var _useObjectState = _interopRequireDefault(require("./useObjectState"));
15
-
16
11
  var _useOnClickOutside = _interopRequireDefault(require("./useOnClickOutside"));
17
-
18
12
  /**
19
13
  * WordPress dependencies
20
14
  */
15
+
21
16
  const useUniqueId = prefix => {
22
17
  const id = (0, _element.useRef)(`${prefix}-${Math.round(Math.random() * 99999)}`);
23
18
  return id.current;
24
19
  };
25
-
26
20
  var _default = {
27
21
  usePrompt: _usePrompt.default,
28
22
  useObjectState: _useObjectState.default,
@@ -1,46 +1,40 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
-
8
8
  var _element = require("@wordpress/element");
9
-
10
- var _lodash = require("lodash");
11
-
9
+ var _isArray = _interopRequireDefault(require("lodash/isArray"));
10
+ var _mergeWith = _interopRequireDefault(require("lodash/mergeWith"));
12
11
  /**
13
12
  * WordPress dependencies
14
13
  */
14
+
15
15
  const mergeCustomizer = (objValue, srcValue) => {
16
- if ((0, _lodash.isArray)(objValue)) {
16
+ if ((0, _isArray.default)(objValue)) {
17
17
  // If it's an array, replace it (instead of concatenating).
18
18
  return srcValue;
19
19
  }
20
20
  };
21
+
21
22
  /**
22
23
  * A useState for an object.
23
24
  * Nested objects will be nested, but arrays replaced.
24
25
  */
25
-
26
-
27
26
  var _default = function _default() {
28
27
  let initial = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
28
  const [stateObject, setStateObject] = (0, _element.useState)(initial);
30
-
31
- const runUpdate = update => setStateObject(_stateObject => (0, _lodash.mergeWith)({}, _stateObject, update, mergeCustomizer));
32
-
29
+ const runUpdate = update => setStateObject(_stateObject => (0, _mergeWith.default)({}, _stateObject, update, mergeCustomizer));
33
30
  const updateStateObject = keyOrUpdate => {
34
31
  if (typeof keyOrUpdate === 'string') {
35
32
  return value => runUpdate({
36
33
  [keyOrUpdate]: value
37
34
  });
38
35
  }
39
-
40
36
  runUpdate(keyOrUpdate);
41
37
  };
42
-
43
38
  return [stateObject, updateStateObject];
44
39
  };
45
-
46
40
  exports.default = _default;
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _useObjectState = _interopRequireDefault(require("./useObjectState"));
10
-
11
7
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
12
-
13
8
  const INIT_STATE = {
14
9
  name: 'Foo',
15
10
  widgets: [1],
@@ -18,7 +13,6 @@ const INIT_STATE = {
18
13
  baz: 1
19
14
  }
20
15
  };
21
-
22
16
  const TestComponent = () => {
23
17
  const [state, updateState] = (0, _useObjectState.default)(INIT_STATE);
24
18
  return (0, _jsxRuntime.jsxs)("div", {
@@ -53,24 +47,18 @@ const TestComponent = () => {
53
47
  })]
54
48
  });
55
49
  };
56
-
57
50
  describe('useObjectState', () => {
58
51
  const getState = () => JSON.parse(_react2.screen.getByPlaceholderText('state').getAttribute('value'));
59
-
60
52
  beforeEach(() => {
61
53
  (0, _react2.render)((0, _jsxRuntime.jsx)(TestComponent, {}));
62
54
  });
63
55
  it('updates arrays', () => {
64
56
  expect(getState()).toStrictEqual(INIT_STATE);
65
-
66
57
  _react2.screen.getByText('Remove widgets').click();
67
-
68
58
  expect(getState()).toMatchObject({
69
59
  widgets: []
70
60
  });
71
-
72
61
  _react2.screen.getByText('Add widget').click();
73
-
74
62
  expect(getState()).toMatchObject({
75
63
  widgets: [1]
76
64
  });
@@ -81,14 +69,12 @@ describe('useObjectState', () => {
81
69
  value: 'Ramon'
82
70
  }
83
71
  });
84
-
85
72
  expect(getState()).toMatchObject({
86
73
  name: 'Ramon'
87
74
  });
88
75
  });
89
76
  it('updates a nested object', () => {
90
77
  _react2.screen.getByText('Nested update').click();
91
-
92
78
  expect(getState()).toMatchObject({
93
79
  attributes: {
94
80
  bar: 2,
@@ -4,14 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _element = require("@wordpress/element");
9
-
10
8
  // https://usehooks.com/useOnClickOutside/
11
9
 
12
10
  /**
13
11
  * External dependencies.
14
12
  */
13
+
15
14
  const useOnClickOutside = (ref, handler) => {
16
15
  (0, _element.useEffect)(() => {
17
16
  const listener = event => {
@@ -19,17 +18,16 @@ const useOnClickOutside = (ref, handler) => {
19
18
  if (!ref.current || ref.current.contains(event.target)) {
20
19
  return;
21
20
  }
22
-
23
21
  handler(event);
24
22
  };
25
-
26
23
  document.addEventListener('mousedown', listener);
27
24
  document.addEventListener('touchstart', listener);
28
25
  return () => {
29
26
  document.removeEventListener('mousedown', listener);
30
27
  document.removeEventListener('touchstart', listener);
31
28
  };
32
- }, // Add ref and handler to effect dependencies
29
+ },
30
+ // Add ref and handler to effect dependencies
33
31
  // It's worth noting that because passed in handler is a new ...
34
32
  // ... function on every render that will cause this effect ...
35
33
  // ... callback/cleanup to run every render. It's not a big deal ...
@@ -37,6 +35,5 @@ const useOnClickOutside = (ref, handler) => {
37
35
  // ... passing it into this hook.
38
36
  [ref, handler]);
39
37
  };
40
-
41
38
  var _default = useOnClickOutside;
42
39
  exports.default = _default;