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,118 +2,22 @@
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
- color: $gray-700;
10
- font-size: 14px;
11
- line-height: 24px;
12
- margin: 32px 0;
13
8
  width: 100%;
14
9
 
15
- label {
16
- color: $gray-900;
17
- font-size: inherit;
18
- font-weight: bold;
19
- line-height: inherit;
20
- margin: 0;
10
+ .components-form-token-field__input-container {
11
+ padding-bottom: 1px;
12
+ padding-top: 1px;
21
13
  }
22
14
 
23
- .newspack-form-token-field__input-container {
24
- background: white;
25
- border: 1px solid $gray-300;
26
- border-radius: 3px;
27
- box-shadow: none;
28
- box-sizing: border-box;
29
- color: inherit;
30
- font-size: 16px;
31
- line-height: inherit;
32
- margin: 0;
33
- min-height: 48px;
34
- padding: 9px 8px;
35
- transition: border-color 125ms ease-in-out, box-shadow 125ms ease-in-out;
36
- width: 100%;
15
+ // Help
37
16
 
38
- @media screen and ( min-width: 768px ) {
39
- font-size: inherit;
40
- }
41
-
42
- &.is-active {
43
- border-color: $primary-500;
44
- box-shadow: inset 0 0 0 2px $primary-500;
45
- }
46
-
47
- &:disabled,
48
- &.is-disabled {
49
- background: $gray-100;
50
- color: $gray-600;
51
- cursor: not-allowed;
52
- }
53
-
54
- input[type='text'] {
55
- border: 0;
56
- line-height: inherit;
57
- margin: 2px 0;
58
- padding: 0;
59
-
60
- &:focus {
61
- box-shadow: none;
62
- }
63
- }
64
-
65
- .components-form-token-field__token-text {
66
- font-size: inherit;
67
- }
68
-
69
- .components-form-token-field__remove-token {
70
- height: 24px;
71
- }
72
- }
73
-
74
- .components-form-token-field__suggestions-list {
75
- border-top-color: $gray-300;
76
- margin: 12px -8px -11px;
77
- padding: 8px 0 0;
78
-
79
- .components-form-token-field__suggestion {
80
- font-size: inherit;
81
- margin-bottom: 8px;
82
-
83
- &.is-selected {
84
- background: $primary-500;
85
- }
86
- }
87
- }
88
-
89
- // Help Text
90
-
91
- .components-form-token-field__help {
92
- margin: 0;
93
- }
94
-
95
- // Multiple Form Token Field
96
-
97
- & + & {
98
- margin-bottom: 32px;
99
- margin-top: -16px;
100
- }
101
-
102
- // Multiple Controls
103
-
104
- + .newspack-select-control,
105
- + .newspack-textarea-control,
106
- + .newspack-text-control {
107
- margin-bottom: 32px;
108
- margin-top: -16px;
109
- }
110
-
111
- // Reset
112
-
113
- .components-base-control__field,
114
- .components-base-control__label {
115
- display: block;
116
- margin: 0;
17
+ &__help {
18
+ color: wp-colors.$gray-700;
19
+ font-size: 12px;
20
+ margin: 8px 0 0 !important;
117
21
  }
118
22
 
119
23
  // Hidden Elements
@@ -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,27 +14,25 @@ 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, {
31
26
  isError: true,
32
- noticeText: text.replace('_error_', '')
27
+ noticeText: text.replace('_error_', ''),
28
+ rawHTML: true
33
29
  }, i);
34
30
  }
35
-
36
31
  return (0, _jsxRuntime.jsx)(_.Notice, {
37
32
  isSuccess: true,
38
33
  noticeText: text
39
34
  }, i);
40
35
  });
41
36
  };
42
-
43
37
  var _default = GlobalNotices;
44
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;
@@ -118,6 +118,19 @@
118
118
  margin-top: 0 !important;
119
119
  }
120
120
 
121
+ .components-base-control {
122
+ &__field,
123
+ &__help {
124
+ margin-bottom: 0;
125
+ }
126
+ }
127
+
128
+ .components-form-token-field {
129
+ &__input-container {
130
+ margin-bottom: 0;
131
+ }
132
+ }
133
+
121
134
  // Cards
122
135
  > .newspack-card {
123
136
  > *:first-child {
@@ -131,10 +144,10 @@
131
144
 
132
145
  // Table-like
133
146
  &__thead {
134
- background: $gray-100;
135
- border-bottom: 1px solid $gray-300;
136
- border-top: 1px solid $gray-300;
137
- color: $gray-900;
147
+ background: rgba( black, 0.025 );
148
+ border-bottom: 1px solid wp-colors.$gray-300;
149
+ border-top: 1px solid wp-colors.$gray-300;
150
+ color: wp-colors.$gray-900;
138
151
 
139
152
  > *:not( .screen-reader-text ) {
140
153
  padding: 8px;
@@ -142,7 +155,7 @@
142
155
  }
143
156
 
144
157
  &__tbody {
145
- border-bottom: 1px solid $gray-300;
158
+ border-bottom: 1px solid wp-colors.$gray-300;
146
159
  padding: 8px 0;
147
160
  }
148
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
  */
@@ -102,13 +95,13 @@ class Handoff extends _element.Component {
102
95
  children,
103
96
  compact,
104
97
  useModal,
105
- // eslint-disable-next-line no-unused-vars
98
+ // eslint-disable-next-line no-unused-vars,@typescript-eslint/no-unused-vars
106
99
  modalTitle: _modalTitle,
107
- // eslint-disable-next-line no-unused-vars
100
+ // eslint-disable-next-line no-unused-vars,@typescript-eslint/no-unused-vars
108
101
  modalBody: _modalBody,
109
- // eslint-disable-next-line no-unused-vars
102
+ // eslint-disable-next-line no-unused-vars,@typescript-eslint/no-unused-vars
110
103
  onReady,
111
- // eslint-disable-next-line no-unused-vars
104
+ // eslint-disable-next-line no-unused-vars,@typescript-eslint/no-unused-vars
112
105
  editLink,
113
106
  ...otherProps
114
107
  } = this.props;
@@ -141,7 +134,7 @@ class Handoff extends _element.Component {
141
134
  children: children ? children : primaryButton
142
135
  }), Name && 'active' !== Status && (0, _jsxRuntime.jsx)(_.Button, {
143
136
  className: classes,
144
- isSecondary: true,
137
+ variant: "secondary",
145
138
  disabled: true,
146
139
  ...otherProps,
147
140
  children: Name + __(' not installed', 'newspack')
@@ -166,13 +159,13 @@ class Handoff extends _element.Component {
166
159
  noBorder: true,
167
160
  className: "justify-end",
168
161
  children: [(0, _jsxRuntime.jsx)(_.Button, {
169
- isSecondary: true,
162
+ variant: "secondary",
170
163
  onClick: () => this.setState({
171
164
  showModal: false
172
165
  }),
173
166
  children: dismissModalButton
174
167
  }), (0, _jsxRuntime.jsx)(_.Button, {
175
- isPrimary: true,
168
+ variant: "primary",
176
169
  onClick: () => this.goToPlugin(Slug),
177
170
  children: primaryModalButton
178
171
  })]
@@ -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;
@@ -1,16 +1,12 @@
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 _router = _interopRequireDefault(require("../proxied-imports/router"));
13
-
14
10
  // https://gist.github.com/sibelius/60a4e11da1f826b8d60dc3975a1ac805
15
11
 
16
12
  /**
@@ -20,45 +16,37 @@ var _router = _interopRequireDefault(require("../proxied-imports/router"));
20
16
  /**
21
17
  * Internal dependencies.
22
18
  */
19
+
23
20
  const {
24
21
  useHistory
25
22
  } = _router.default;
26
-
27
23
  var _default = (when, message) => {
28
24
  const history = useHistory();
29
25
  const self = (0, _element.useRef)(null);
30
-
31
26
  const onWindowOrTabClose = event => {
32
27
  if (!when) {
33
28
  return;
34
29
  }
35
-
36
30
  if (typeof event === 'undefined') {
37
31
  event = window.event;
38
32
  }
39
-
40
33
  if (event) {
41
34
  event.returnValue = message;
42
35
  }
43
-
44
36
  return message;
45
37
  };
46
-
47
38
  (0, _element.useEffect)(() => {
48
39
  if (when) {
49
40
  self.current = history.block(message);
50
41
  window.addEventListener('beforeunload', onWindowOrTabClose);
51
42
  }
52
-
53
43
  return () => {
54
44
  if (self.current) {
55
45
  self.current();
56
46
  }
57
-
58
47
  window.removeEventListener('beforeunload', onWindowOrTabClose);
59
48
  };
60
49
  }, [message, when]);
61
50
  return self.current;
62
51
  };
63
-
64
52
  exports.default = _default;