newspack-components 2.2.1 → 3.0.0-alpha.2

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 (308) hide show
  1. package/babel.config.js +25 -0
  2. package/copy-styles.js +2 -10
  3. package/dist/{cjs/accordion → accordion}/index.js +17 -13
  4. package/dist/{cjs/accordion → accordion}/style.scss +7 -3
  5. package/dist/{cjs/action-card → action-card}/index.js +39 -43
  6. package/dist/{esm/action-card → action-card}/style.scss +9 -9
  7. package/dist/{cjs/autocomplete-tokenfield → autocomplete-tokenfield}/index.js +67 -29
  8. package/dist/{esm/autocomplete-tokenfield → autocomplete-tokenfield}/style.scss +14 -8
  9. package/dist/{cjs/autocomplete-with-suggestions → autocomplete-with-suggestions}/index.js +61 -73
  10. package/dist/{esm/autocomplete-with-suggestions → autocomplete-with-suggestions}/style.scss +9 -17
  11. package/dist/button/index.js +51 -0
  12. package/{src/button/index.js → dist/button/index.tsx} +12 -5
  13. package/dist/{cjs/button → button}/style.scss +1 -1
  14. package/dist/{cjs/button-card → button-card}/index.js +9 -10
  15. package/dist/{cjs/button-card → button-card}/style.scss +19 -13
  16. package/dist/{cjs/card → card}/index.js +4 -5
  17. package/dist/{esm/card → card}/style.scss +1 -1
  18. package/dist/{cjs/category-autocomplete → category-autocomplete}/index.js +51 -53
  19. package/dist/{esm/category-autocomplete → category-autocomplete}/style.scss +2 -2
  20. package/dist/{cjs/color-picker → color-picker}/index.js +14 -16
  21. package/dist/{cjs/color-picker → color-picker}/style.scss +3 -3
  22. package/dist/consts.js +7 -0
  23. package/dist/{cjs/custom-select-control → custom-select-control}/index.js +4 -5
  24. package/dist/{cjs/custom-select-control → custom-select-control}/style.scss +11 -10
  25. package/dist/{cjs/date-range-picker → date-range-picker}/index.js +9 -11
  26. package/dist/{cjs/date-range-picker → date-range-picker}/style.scss +6 -6
  27. package/dist/{cjs/footer → footer}/index.js +33 -36
  28. package/dist/{cjs/footer → footer}/style.scss +1 -1
  29. package/dist/{cjs/form-token-field → form-token-field}/index.js +6 -7
  30. package/dist/{esm/form-token-field → form-token-field}/style.scss +1 -1
  31. package/dist/{cjs/global-notices → global-notices}/index.js +4 -5
  32. package/dist/grid/index.js +44 -0
  33. package/dist/grid/index.tsx +34 -0
  34. package/dist/{cjs/grid → grid}/style.scss +9 -9
  35. package/dist/{cjs/handoff → handoff}/index.js +73 -71
  36. package/dist/{cjs/handoff-message → handoff-message}/index.js +5 -3
  37. package/dist/hooks/index.js +29 -0
  38. package/{src/hooks/index.js → dist/hooks/index.ts} +1 -1
  39. package/dist/{cjs/hooks → hooks}/useObjectState.js +2 -3
  40. package/dist/{cjs/hooks → hooks}/useObjectState.test.js +9 -9
  41. package/dist/{cjs/hooks → hooks}/useOnClickOutside.js +1 -2
  42. package/dist/hooks/usePrompt.js +47 -0
  43. package/{src/hooks/usePrompt.js → dist/hooks/usePrompt.ts} +4 -8
  44. package/dist/image-upload/index.js +148 -0
  45. package/dist/{cjs/image-upload → image-upload}/index.test.js +13 -6
  46. package/dist/{esm/image-upload → image-upload}/style.scss +5 -5
  47. package/dist/{cjs/index.js → index.js} +1 -1
  48. package/dist/{cjs/info-button → info-button}/index.js +6 -7
  49. package/dist/{cjs/modal → modal}/index.js +4 -5
  50. package/dist/{esm/modal → modal}/style.scss +5 -5
  51. package/dist/{cjs/newspack-icon → newspack-icon}/index.js +5 -6
  52. package/dist/{cjs/newspack-icon → newspack-icon}/style.scss +1 -1
  53. package/dist/{cjs/newspack-logo → newspack-logo}/index.js +5 -6
  54. package/dist/{cjs/newspack-logo → newspack-logo}/style.scss +1 -1
  55. package/dist/{cjs/notice → notice}/index.js +12 -10
  56. package/dist/{cjs/notice → notice}/style.scss +11 -11
  57. package/dist/patrons-logo/index.js +77 -0
  58. package/dist/plugin-installer/index.js +297 -0
  59. package/dist/{cjs/plugin-installer → plugin-installer}/style.scss +1 -1
  60. package/dist/{cjs/plugin-settings → plugin-settings}/SettingsSection.js +13 -13
  61. package/dist/plugin-settings/index.js +228 -0
  62. package/dist/{cjs/plugin-settings → plugin-settings}/style.scss +1 -1
  63. package/dist/plugin-toggle/README.md +53 -0
  64. package/dist/plugin-toggle/index.js +222 -0
  65. package/dist/{esm/plugin-toggle → plugin-toggle}/style.scss +1 -1
  66. package/dist/{cjs/popover → popover}/index.js +4 -5
  67. package/dist/{cjs/popover → popover}/style.scss +7 -7
  68. package/dist/{cjs/position-control → position-control}/index.js +33 -32
  69. package/dist/{cjs/position-control → position-control}/style.scss +8 -8
  70. package/dist/{cjs/progress-bar → progress-bar}/index.js +9 -10
  71. package/dist/{cjs/progress-bar → progress-bar}/index.test.js +16 -16
  72. package/dist/{cjs/progress-bar → progress-bar}/style.scss +2 -2
  73. package/dist/proxied-imports/router.js +15 -0
  74. package/dist/{cjs/radio-control → radio-control}/index.js +4 -5
  75. package/dist/{cjs/radio-control → radio-control}/style.scss +3 -3
  76. package/dist/{cjs/section-header → section-header}/index.js +20 -21
  77. package/dist/{esm/section-header → section-header}/style.scss +5 -1
  78. package/dist/{cjs/select-control → select-control}/ButtonGroupControl.js +17 -19
  79. package/dist/{cjs/select-control → select-control}/GroupedSelectControl.js +32 -35
  80. package/dist/{cjs/select-control → select-control}/index.js +7 -8
  81. package/dist/{cjs/select-control → select-control}/style.scss +4 -4
  82. package/dist/settings/MinMaxSetting.js +60 -0
  83. package/dist/{cjs/settings → settings}/SettingsCard.js +14 -16
  84. package/dist/settings/SettingsSection.js +33 -0
  85. package/dist/{cjs/settings → settings}/index.js +3 -4
  86. package/dist/{cjs/settings → settings}/style.scss +15 -2
  87. package/dist/sortable-newsletter-list-control/index.js +135 -0
  88. package/dist/sortable-newsletter-list-control/style.scss +45 -0
  89. package/dist/{cjs/steps-list → steps-list}/index.js +5 -6
  90. package/dist/{esm/steps-list → steps-list}/style.scss +2 -2
  91. package/dist/{cjs/steps-list-item → steps-list-item}/index.js +6 -7
  92. package/dist/{cjs/steps-list-item → steps-list-item}/style.scss +5 -5
  93. package/dist/{cjs/style-card → style-card}/index.js +21 -19
  94. package/dist/{esm/style-card → style-card}/style.scss +4 -4
  95. package/dist/{esm/style.scss → style.scss} +14 -2
  96. package/dist/{cjs/tabbed-navigation → tabbed-navigation}/index.js +16 -19
  97. package/dist/{cjs/tabbed-navigation → tabbed-navigation}/style.scss +4 -4
  98. package/dist/text-control/index.js +76 -0
  99. package/dist/text-control/index.tsx +71 -0
  100. package/dist/utils/index.js +36 -0
  101. package/dist/{cjs/waiting → waiting}/index.js +4 -5
  102. package/dist/web-preview/index.js +191 -0
  103. package/dist/{cjs/web-preview → web-preview}/style.scss +5 -5
  104. package/dist/with-wizard/index.js +328 -0
  105. package/dist/{esm/with-wizard → with-wizard}/style.scss +44 -22
  106. package/dist/{cjs/with-wizard-screen → with-wizard-screen}/index.js +40 -43
  107. package/dist/{esm/with-wizard-screen → with-wizard-screen}/style.scss +7 -7
  108. package/dist/{cjs/wizard → wizard}/components/WizardError.js +16 -17
  109. package/dist/{cjs/wizard → wizard}/index.js +44 -46
  110. package/dist/{cjs/wizard → wizard}/store/index.js +37 -38
  111. package/dist/{cjs/wizard → wizard}/store/utils.js +1 -4
  112. package/package.json +16 -14
  113. package/shared/scss/_mixins.scss +2 -2
  114. package/src/accordion/index.js +4 -1
  115. package/src/accordion/style.scss +7 -3
  116. package/src/action-card/style.scss +9 -9
  117. package/src/autocomplete-tokenfield/index.js +48 -15
  118. package/src/autocomplete-tokenfield/style.scss +14 -8
  119. package/src/autocomplete-with-suggestions/index.js +59 -62
  120. package/src/autocomplete-with-suggestions/style.scss +9 -17
  121. package/src/button/index.tsx +48 -0
  122. package/src/button/style.scss +1 -1
  123. package/src/button-card/style.scss +19 -13
  124. package/src/card/style.scss +1 -1
  125. package/src/category-autocomplete/style.scss +2 -2
  126. package/src/color-picker/style.scss +3 -3
  127. package/src/consts.js +0 -2
  128. package/src/custom-select-control/style.scss +11 -10
  129. package/src/date-range-picker/style.scss +6 -6
  130. package/src/footer/index.js +7 -7
  131. package/src/footer/style.scss +1 -1
  132. package/src/form-token-field/style.scss +1 -1
  133. package/src/grid/index.tsx +34 -0
  134. package/src/grid/style.scss +9 -9
  135. package/src/handoff/index.js +7 -6
  136. package/src/handoff-message/index.js +3 -1
  137. package/src/hooks/index.ts +15 -0
  138. package/src/hooks/usePrompt.ts +46 -0
  139. package/src/image-upload/index.js +5 -5
  140. package/src/image-upload/index.test.js +6 -1
  141. package/src/image-upload/style.scss +5 -5
  142. package/src/modal/style.scss +5 -5
  143. package/src/newspack-icon/style.scss +1 -1
  144. package/src/newspack-logo/style.scss +1 -1
  145. package/src/notice/index.js +1 -1
  146. package/src/notice/style.scss +11 -11
  147. package/src/patrons-logo/index.js +4 -1
  148. package/src/plugin-installer/index.js +7 -7
  149. package/src/plugin-installer/style.scss +1 -1
  150. package/src/plugin-settings/index.js +1 -1
  151. package/src/plugin-settings/style.scss +1 -1
  152. package/src/plugin-toggle/index.js +13 -12
  153. package/src/plugin-toggle/style.scss +1 -1
  154. package/src/popover/style.scss +7 -7
  155. package/src/position-control/index.js +63 -64
  156. package/src/position-control/style.scss +8 -8
  157. package/src/progress-bar/style.scss +2 -2
  158. package/src/radio-control/style.scss +3 -3
  159. package/src/section-header/index.js +3 -3
  160. package/src/section-header/style.scss +5 -1
  161. package/src/select-control/GroupedSelectControl.js +1 -1
  162. package/src/select-control/style.scss +4 -4
  163. package/src/settings/MinMaxSetting.js +8 -6
  164. package/src/settings/style.scss +15 -2
  165. package/src/sortable-newsletter-list-control/index.js +137 -0
  166. package/src/sortable-newsletter-list-control/style.scss +45 -0
  167. package/src/steps-list/style.scss +2 -2
  168. package/src/steps-list-item/style.scss +5 -5
  169. package/src/style-card/index.js +11 -5
  170. package/src/style-card/style.scss +4 -4
  171. package/src/style.scss +14 -2
  172. package/src/tabbed-navigation/style.scss +4 -4
  173. package/src/text-control/index.tsx +65 -0
  174. package/src/web-preview/index.js +6 -6
  175. package/src/web-preview/style.scss +5 -5
  176. package/src/with-wizard/index.js +4 -4
  177. package/src/with-wizard/style.scss +44 -22
  178. package/src/with-wizard-screen/index.js +1 -1
  179. package/src/with-wizard-screen/style.scss +7 -7
  180. package/src/wizard/components/WizardError.js +1 -1
  181. package/src/wizard/index.js +3 -3
  182. package/src/wizard/store/index.js +9 -2
  183. package/dist/cjs/action-card/style.scss +0 -483
  184. package/dist/cjs/autocomplete-tokenfield/style.scss +0 -43
  185. package/dist/cjs/autocomplete-with-suggestions/style.scss +0 -171
  186. package/dist/cjs/button/index.js +0 -57
  187. package/dist/cjs/card/style.scss +0 -168
  188. package/dist/cjs/category-autocomplete/style.scss +0 -34
  189. package/dist/cjs/consts.js +0 -12
  190. package/dist/cjs/form-token-field/style.scss +0 -37
  191. package/dist/cjs/grid/index.js +0 -54
  192. package/dist/cjs/hooks/index.js +0 -26
  193. package/dist/cjs/hooks/usePrompt.js +0 -52
  194. package/dist/cjs/image-upload/index.js +0 -144
  195. package/dist/cjs/image-upload/style.scss +0 -103
  196. package/dist/cjs/modal/style.scss +0 -56
  197. package/dist/cjs/patrons-logo/index.js +0 -82
  198. package/dist/cjs/plugin-installer/index.js +0 -299
  199. package/dist/cjs/plugin-settings/index.js +0 -222
  200. package/dist/cjs/plugin-toggle/index.js +0 -222
  201. package/dist/cjs/plugin-toggle/style.scss +0 -20
  202. package/dist/cjs/proxied-imports/router.js +0 -15
  203. package/dist/cjs/section-header/style.scss +0 -41
  204. package/dist/cjs/settings/MinMaxSetting.js +0 -57
  205. package/dist/cjs/settings/SettingsSection.js +0 -37
  206. package/dist/cjs/steps-list/style.scss +0 -11
  207. package/dist/cjs/style-card/style.scss +0 -94
  208. package/dist/cjs/style.scss +0 -43
  209. package/dist/cjs/text-control/index.js +0 -71
  210. package/dist/cjs/utils/index.js +0 -40
  211. package/dist/cjs/web-preview/index.js +0 -189
  212. package/dist/cjs/with-wizard/index.js +0 -318
  213. package/dist/cjs/with-wizard/style.scss +0 -260
  214. package/dist/cjs/with-wizard-screen/style.scss +0 -160
  215. package/dist/esm/accordion/index.js +0 -38
  216. package/dist/esm/accordion/style.scss +0 -27
  217. package/dist/esm/action-card/index.js +0 -222
  218. package/dist/esm/autocomplete-tokenfield/index.js +0 -223
  219. package/dist/esm/autocomplete-with-suggestions/index.js +0 -289
  220. package/dist/esm/button/index.js +0 -48
  221. package/dist/esm/button/style.scss +0 -11
  222. package/dist/esm/button-card/index.js +0 -65
  223. package/dist/esm/button-card/style.scss +0 -174
  224. package/dist/esm/card/index.js +0 -43
  225. package/dist/esm/category-autocomplete/index.js +0 -185
  226. package/dist/esm/color-picker/index.js +0 -61
  227. package/dist/esm/color-picker/style.scss +0 -37
  228. package/dist/esm/consts.js +0 -3
  229. package/dist/esm/custom-select-control/index.js +0 -37
  230. package/dist/esm/custom-select-control/style.scss +0 -92
  231. package/dist/esm/date-range-picker/index.js +0 -32
  232. package/dist/esm/date-range-picker/style.scss +0 -148
  233. package/dist/esm/footer/index.js +0 -105
  234. package/dist/esm/footer/style.scss +0 -82
  235. package/dist/esm/form-token-field/index.js +0 -50
  236. package/dist/esm/global-notices/index.js +0 -30
  237. package/dist/esm/grid/index.js +0 -45
  238. package/dist/esm/grid/style.scss +0 -166
  239. package/dist/esm/handoff/index.js +0 -177
  240. package/dist/esm/handoff-message/index.js +0 -45
  241. package/dist/esm/hooks/index.js +0 -17
  242. package/dist/esm/hooks/useObjectState.js +0 -31
  243. package/dist/esm/hooks/useObjectState.test.js +0 -83
  244. package/dist/esm/hooks/useOnClickOutside.js +0 -31
  245. package/dist/esm/hooks/usePrompt.js +0 -43
  246. package/dist/esm/image-upload/index.js +0 -141
  247. package/dist/esm/image-upload/index.test.js +0 -28
  248. package/dist/esm/index.js +0 -47
  249. package/dist/esm/info-button/index.js +0 -42
  250. package/dist/esm/info-button/style.scss +0 -18
  251. package/dist/esm/modal/index.js +0 -39
  252. package/dist/esm/newspack-icon/index.js +0 -50
  253. package/dist/esm/newspack-icon/style.scss +0 -26
  254. package/dist/esm/newspack-logo/index.js +0 -46
  255. package/dist/esm/newspack-logo/style.scss +0 -30
  256. package/dist/esm/notice/index.js +0 -67
  257. package/dist/esm/notice/style.scss +0 -111
  258. package/dist/esm/patrons-logo/index.js +0 -76
  259. package/dist/esm/plugin-installer/index.js +0 -295
  260. package/dist/esm/plugin-installer/style.scss +0 -72
  261. package/dist/esm/plugin-settings/SettingsSection.js +0 -136
  262. package/dist/esm/plugin-settings/index.js +0 -217
  263. package/dist/esm/plugin-settings/style.scss +0 -7
  264. package/dist/esm/plugin-toggle/index.js +0 -217
  265. package/dist/esm/popover/index.js +0 -41
  266. package/dist/esm/popover/style.scss +0 -161
  267. package/dist/esm/position-control/index.js +0 -109
  268. package/dist/esm/position-control/style.scss +0 -66
  269. package/dist/esm/progress-bar/index.js +0 -69
  270. package/dist/esm/progress-bar/index.test.js +0 -110
  271. package/dist/esm/progress-bar/style.scss +0 -42
  272. package/dist/esm/proxied-imports/router.js +0 -8
  273. package/dist/esm/radio-control/index.js +0 -37
  274. package/dist/esm/radio-control/style.scss +0 -92
  275. package/dist/esm/section-header/index.js +0 -68
  276. package/dist/esm/select-control/ButtonGroupControl.js +0 -54
  277. package/dist/esm/select-control/GroupedSelectControl.js +0 -84
  278. package/dist/esm/select-control/index.js +0 -51
  279. package/dist/esm/select-control/style.scss +0 -108
  280. package/dist/esm/settings/MinMaxSetting.js +0 -53
  281. package/dist/esm/settings/SettingsCard.js +0 -39
  282. package/dist/esm/settings/SettingsSection.js +0 -30
  283. package/dist/esm/settings/index.js +0 -9
  284. package/dist/esm/settings/style.scss +0 -106
  285. package/dist/esm/steps-list/index.js +0 -43
  286. package/dist/esm/steps-list-item/index.js +0 -48
  287. package/dist/esm/steps-list-item/style.scss +0 -47
  288. package/dist/esm/style-card/index.js +0 -76
  289. package/dist/esm/tabbed-navigation/index.js +0 -56
  290. package/dist/esm/tabbed-navigation/style.scss +0 -86
  291. package/dist/esm/text-control/index.js +0 -66
  292. package/dist/esm/text-control/style.scss +0 -32
  293. package/dist/esm/utils/index.js +0 -32
  294. package/dist/esm/waiting/index.js +0 -44
  295. package/dist/esm/waiting/style.scss +0 -27
  296. package/dist/esm/web-preview/index.js +0 -184
  297. package/dist/esm/web-preview/style.scss +0 -155
  298. package/dist/esm/with-wizard/index.js +0 -313
  299. package/dist/esm/with-wizard-screen/index.js +0 -116
  300. package/dist/esm/wizard/components/WizardError.js +0 -69
  301. package/dist/esm/wizard/index.js +0 -126
  302. package/dist/esm/wizard/store/index.js +0 -155
  303. package/dist/esm/wizard/store/utils.js +0 -17
  304. package/src/grid/index.js +0 -44
  305. package/src/text-control/index.js +0 -56
  306. /package/dist/{cjs/info-button → info-button}/style.scss +0 -0
  307. /package/dist/{cjs/text-control → text-control}/style.scss +0 -0
  308. /package/dist/{cjs/waiting → waiting}/style.scss +0 -0
@@ -0,0 +1,25 @@
1
+ module.exports = api => {
2
+ api.cache( true );
3
+ return {
4
+ extends: 'newspack-scripts/config/babel.config.js',
5
+ presets: [
6
+ [
7
+ '@babel/preset-env',
8
+ {
9
+ corejs: 3.6,
10
+ useBuiltIns: 'entry',
11
+ // Exclude transforms that make all code slower, see https://github.com/facebook/create-react-app/pull/5278
12
+ exclude: [ 'transform-typeof-symbol' ],
13
+ },
14
+ ],
15
+ [
16
+ '@babel/preset-react',
17
+ {
18
+ runtime: 'automatic',
19
+ importSource: process.env.IMPORT_SOURCE,
20
+ },
21
+ ],
22
+ [ '@babel/preset-typescript', { allowDeclareFields: true } ],
23
+ ],
24
+ };
25
+ };
package/copy-styles.js CHANGED
@@ -9,8 +9,7 @@ const rcopy = require( 'recursive-copy' );
9
9
  const dir = process.cwd();
10
10
 
11
11
  const inputDir = path.join( dir, 'src' );
12
- const outputDirEsm = path.join( dir, 'dist', 'esm' );
13
- const outputDirCommon = path.join( dir, 'dist', 'cjs' );
12
+ const outputDir = path.join( dir, 'dist' );
14
13
 
15
14
  console.log( 'Copying styles %s', dir );
16
15
 
@@ -21,14 +20,7 @@ const copyOptions = {
21
20
  debug: true,
22
21
  };
23
22
 
24
- rcopy( inputDir, outputDirEsm, copyOptions )
25
- .then( results => {
26
- console.log( 'copied %d files', results.length );
27
- } )
28
- .catch( err => {
29
- console.error( err );
30
- } );
31
- rcopy( inputDir, outputDirCommon, copyOptions )
23
+ rcopy( inputDir, outputDir, copyOptions )
32
24
  .then( results => {
33
25
  console.log( 'copied %d files', results.length );
34
26
  } )
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -9,7 +9,10 @@ var _element = require("@wordpress/element");
9
9
  var _icons = require("@wordpress/icons");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  require("./style.scss");
12
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
14
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
15
+
13
16
  /**
14
17
  * WordPress dependencies
15
18
  */
@@ -22,25 +25,26 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
22
25
  * Internal dependencies
23
26
  */
24
27
 
25
- const Accordion = _ref => {
26
- let {
27
- children,
28
- title
29
- } = _ref;
28
+ const Accordion = ({
29
+ children,
30
+ title
31
+ }) => {
30
32
  const [isOpen, setIsOpen] = (0, _element.useState)(false);
31
- return (0, _jsxRuntime.jsxs)("details", {
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("details", {
32
34
  className: (0, _classnames.default)('newspack-accordion', {
33
35
  'newspack-accordion--is-open': isOpen
34
36
  }),
35
- children: [(0, _jsxRuntime.jsxs)("summary", {
37
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("summary", {
36
38
  onClick: () => setIsOpen(!isOpen),
37
- children: [title, (0, _jsxRuntime.jsx)(_icons.Icon, {
39
+ children: [title, /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
38
40
  className: "newspack-accordion__icon",
39
41
  icon: _icons.chevronRight,
40
42
  size: 24
41
43
  })]
42
- }), children]
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
+ className: "newspack-accordion__content",
46
+ children: children
47
+ })]
43
48
  });
44
49
  };
45
- var _default = Accordion;
46
- exports.default = _default;
50
+ var _default = exports.default = Accordion;
@@ -1,17 +1,17 @@
1
- @use '~@wordpress/base-styles/colors' as wp-colors;
1
+ @use "~@wordpress/base-styles/colors" as wp-colors;
2
2
 
3
3
  .newspack-accordion {
4
4
  border: 1px solid wp-colors.$gray-300;
5
5
 
6
6
  &__icon {
7
7
  transition: transform 200ms ease-out;
8
- transform: rotate( 90deg );
8
+ transform: rotate(90deg);
9
9
  }
10
10
 
11
11
  &--is-open {
12
12
  .newspack-accordion {
13
13
  &__icon {
14
- transform: rotate( -90deg );
14
+ transform: rotate(-90deg);
15
15
  }
16
16
  }
17
17
  }
@@ -24,4 +24,8 @@
24
24
  font-size: 14px;
25
25
  font-weight: bold;
26
26
  }
27
+
28
+ &__content {
29
+ padding: 16px 32px;
30
+ }
27
31
  }
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _element = require("@wordpress/element");
10
9
  var _components = require("@wordpress/components");
11
10
  var _icons = require("@wordpress/icons");
12
11
  var _ = require("../");
13
12
  require("./style.scss");
14
13
  var _classnames = _interopRequireDefault(require("classnames"));
15
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
14
+ var _jsxRuntime = require("react/jsx-runtime");
16
15
  /**
17
16
  * Action Card
18
17
  */
@@ -30,12 +29,10 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
30
29
  */
31
30
 
32
31
  class ActionCard extends _element.Component {
33
- constructor() {
34
- super(...arguments);
35
- (0, _defineProperty2.default)(this, "state", {
36
- expanded: false
37
- });
38
- }
32
+ state = {
33
+ expanded: false
34
+ };
35
+
39
36
  /**
40
37
  * When the collapse prop is updated to true, collapse the card if already expanded.
41
38
  */
@@ -103,120 +100,120 @@ class ActionCard extends _element.Component {
103
100
  const hasInternalLink = href && href.indexOf('http') !== 0;
104
101
  const isDisplayingSecondaryAction = secondaryActionText && onSecondaryActionClick;
105
102
  const badges = !Array.isArray(badge) && badge ? [badge] : badge;
106
- return (0, _jsxRuntime.jsxs)(_.Card, {
103
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_.Card, {
107
104
  className: classes,
108
105
  onClick: simple && onClick,
109
- children: [(0, _jsxRuntime.jsxs)("div", {
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
110
107
  className: "newspack-action-card__region newspack-action-card__region-top",
111
- children: [toggleOnChange && (0, _jsxRuntime.jsx)(_components.ToggleControl, {
108
+ children: [toggleOnChange && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
112
109
  checked: toggleChecked,
113
110
  onChange: toggleOnChange,
114
111
  disabled: disabled
115
- }), image && !toggleOnChange && (0, _jsxRuntime.jsx)("div", {
112
+ }), image && !toggleOnChange && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
116
113
  className: "newspack-action-card__region newspack-action-card__region-left",
117
- children: (0, _jsxRuntime.jsx)("a", {
114
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
118
115
  href: imageLink,
119
- children: (0, _jsxRuntime.jsx)("div", {
116
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
120
117
  className: "newspack-action-card__image",
121
118
  style: backgroundImageStyles(image)
122
119
  })
123
120
  })
124
- }), checkbox && !toggleOnChange && (0, _jsxRuntime.jsx)("div", {
121
+ }), checkbox && !toggleOnChange && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
125
122
  className: "newspack-action-card__region newspack-action-card__region-left",
126
- children: (0, _jsxRuntime.jsx)("span", {
123
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
127
124
  className: (0, _classnames.default)('newspack-checkbox-icon', 'is-primary', 'checked' === checkbox && 'newspack-checkbox-icon--checked', isPending && 'newspack-checkbox-icon--pending'),
128
- children: 'checked' === checkbox && (0, _jsxRuntime.jsx)(_icons.Icon, {
125
+ children: 'checked' === checkbox && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
129
126
  icon: _icons.check
130
127
  })
131
128
  })
132
- }), (0, _jsxRuntime.jsx)("div", {
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
133
130
  className: "newspack-action-card__region newspack-action-card__region-center",
134
- children: (0, _jsxRuntime.jsxs)(_.Grid, {
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_.Grid, {
135
132
  columns: 1,
136
133
  gutter: 8,
137
134
  noMargin: true,
138
- children: [(0, _jsxRuntime.jsxs)("h2", {
139
- children: [(0, _jsxRuntime.jsxs)("span", {
135
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("h2", {
136
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
140
137
  className: "newspack-action-card__title",
141
138
  ...titleProps,
142
- children: [titleLink && (0, _jsxRuntime.jsx)("a", {
139
+ children: [titleLink && /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
143
140
  href: titleLink,
144
141
  children: title
145
- }), !titleLink && expandable && (0, _jsxRuntime.jsx)(_.Button, {
142
+ }), !titleLink && expandable && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Button, {
146
143
  isLink: true,
147
144
  onClick: () => this.setState({
148
145
  expanded: !expanded
149
146
  }),
150
147
  children: title
151
148
  }), !titleLink && !expandable && title]
152
- }), badges?.length && badges.map((badgeText, i) => (0, _jsxRuntime.jsx)("span", {
149
+ }), badges?.length && badges.map((badgeText, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
153
150
  className: "newspack-action-card__badge",
154
151
  children: badgeText
155
152
  }, `badge-${i}`))]
156
- }), description && (0, _jsxRuntime.jsxs)("p", {
153
+ }), description && /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
157
154
  children: [typeof description === 'string' && description, typeof description === 'function' && description()]
158
155
  })]
159
156
  })
160
- }), !expandable && (actionText || isDisplayingSecondaryAction || actionContent) && (0, _jsxRuntime.jsxs)("div", {
157
+ }), !expandable && (actionText || isDisplayingSecondaryAction || actionContent) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
161
158
  className: "newspack-action-card__region newspack-action-card__region-right",
162
- children: [actionContent && actionContent, actionText && (handoff ? (0, _jsxRuntime.jsx)(_.Handoff, {
159
+ children: [actionContent && actionContent, actionText && (handoff ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Handoff, {
163
160
  plugin: handoff,
164
161
  editLink: editLink,
165
162
  compact: true,
166
163
  isLink: true,
167
164
  children: actionText
168
- }) : onClick || hasInternalLink ? (0, _jsxRuntime.jsx)(_.Button, {
165
+ }) : onClick || hasInternalLink ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Button, {
169
166
  disabled: disabled,
170
167
  isLink: true,
171
168
  href: href,
172
169
  onClick: onClick,
173
170
  className: "newspack-action-card__primary_button",
174
171
  children: actionText
175
- }) : href ? (0, _jsxRuntime.jsx)(_components.ExternalLink, {
172
+ }) : href ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ExternalLink, {
176
173
  href: href,
177
174
  className: "newspack-action-card__primary_button",
178
175
  children: actionText
179
- }) : (0, _jsxRuntime.jsxs)("div", {
176
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
180
177
  className: "newspack-action-card__container",
181
- children: [actionText, isWaiting && (0, _jsxRuntime.jsx)(_.Waiting, {
178
+ children: [actionText, isWaiting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Waiting, {
182
179
  isRight: true
183
180
  })]
184
- })), isDisplayingSecondaryAction && (0, _jsxRuntime.jsx)(_.Button, {
181
+ })), isDisplayingSecondaryAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Button, {
185
182
  isLink: true,
186
183
  onClick: onSecondaryActionClick,
187
184
  className: "newspack-action-card__secondary_button",
188
185
  isDestructive: secondaryDestructive,
189
186
  children: secondaryActionText
190
187
  })]
191
- }), expandable && (0, _jsxRuntime.jsx)(_.Button, {
188
+ }), expandable && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Button, {
192
189
  onClick: () => this.setState({
193
190
  expanded: !expanded
194
191
  }),
195
- children: (0, _jsxRuntime.jsx)(_icons.Icon, {
192
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
196
193
  icon: expanded ? _icons.chevronUp : _icons.chevronDown,
197
194
  height: 24,
198
195
  width: 24
199
196
  })
200
197
  })]
201
- }), notification && (0, _jsxRuntime.jsxs)("div", {
198
+ }), notification && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
202
199
  className: "newspack-action-card__notification newspack-action-card__region-children",
203
- children: ['error' === notificationLevel && (0, _jsxRuntime.jsx)(_.Notice, {
200
+ children: ['error' === notificationLevel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Notice, {
204
201
  noticeText: notification,
205
202
  isError: true,
206
203
  rawHTML: notificationHTML
207
- }), 'info' === notificationLevel && (0, _jsxRuntime.jsx)(_.Notice, {
204
+ }), 'info' === notificationLevel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Notice, {
208
205
  noticeText: notification,
209
206
  rawHTML: notificationHTML
210
- }), 'success' === notificationLevel && (0, _jsxRuntime.jsx)(_.Notice, {
207
+ }), 'success' === notificationLevel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Notice, {
211
208
  noticeText: notification,
212
209
  isSuccess: true,
213
210
  rawHTML: notificationHTML
214
- }), 'warning' === notificationLevel && (0, _jsxRuntime.jsx)(_.Notice, {
211
+ }), 'warning' === notificationLevel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Notice, {
215
212
  noticeText: notification,
216
213
  isWarning: true,
217
214
  rawHTML: notificationHTML
218
215
  })]
219
- }), children && (expandable && expanded || !expandable) && (0, _jsxRuntime.jsx)("div", {
216
+ }), children && (expandable && expanded || !expandable) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
220
217
  className: "newspack-action-card__region-children",
221
218
  children: children
222
219
  })]
@@ -226,5 +223,4 @@ class ActionCard extends _element.Component {
226
223
  ActionCard.defaultProps = {
227
224
  toggleChecked: false
228
225
  };
229
- var _default = ActionCard;
230
- exports.default = _default;
226
+ var _default = exports.default = ActionCard;
@@ -2,8 +2,8 @@
2
2
  * Action Card
3
3
  */
4
4
 
5
- @use 'sass:color';
6
- @use '~@wordpress/base-styles/colors' as wp-colors;
5
+ @use "sass:color";
6
+ @use "~@wordpress/base-styles/colors" as wp-colors;
7
7
 
8
8
  .newspack-card.newspack-action-card {
9
9
  padding: 0;
@@ -15,7 +15,7 @@
15
15
  transition: box-shadow 125ms ease-in-out;
16
16
 
17
17
  &:hover {
18
- box-shadow: 0 4px 8px rgba( black, 0.08 );
18
+ box-shadow: 0 4px 8px rgba(black, 0.08);
19
19
  }
20
20
  }
21
21
 
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  &.newspack-card__is-primary {
37
- box-shadow: inset 4px 0 0 var( --wp-admin-theme-color );
37
+ box-shadow: inset 4px 0 0 var(--wp-admin-theme-color);
38
38
  }
39
39
 
40
40
  &.newspack-card__is-secondary {
@@ -181,12 +181,12 @@
181
181
  }
182
182
 
183
183
  .newspack-action-card__region-top {
184
- background-color: rgba( black, 0.025 );
184
+ background-color: rgba(black, 0.025);
185
185
  }
186
186
 
187
187
  .newspack-action-card__region-center {
188
188
  p {
189
- color: color.adjust( wp-colors.$gray-700, $lightness: -0.75% );
189
+ color: color.adjust(wp-colors.$gray-700, $lightness: -0.75%);
190
190
  }
191
191
  }
192
192
  }
@@ -209,7 +209,7 @@
209
209
  border-left-width: 1px;
210
210
  border-bottom-width: 1px;
211
211
  border-radius: 0 0 0 2px;
212
- content: '';
212
+ content: "";
213
213
  display: block;
214
214
  position: absolute;
215
215
  inset: -17px 100% 50% -28px;
@@ -219,7 +219,7 @@
219
219
  // Typography
220
220
 
221
221
  h2,
222
- p:not( [class*='components-base-control'] ) {
222
+ p:not([class*="components-base-control"]) {
223
223
  margin: 0;
224
224
  max-width: 100%;
225
225
  width: 100%;
@@ -242,7 +242,7 @@
242
242
  &:active,
243
243
  &:focus,
244
244
  &:hover {
245
- color: var( --wp-admin-theme-color );
245
+ color: var(--wp-admin-theme-color);
246
246
  }
247
247
  }
248
248
  }
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
10
9
  var _element = require("@wordpress/element");
11
10
  var _components = require("@wordpress/components");
12
11
  require("./style.scss");
13
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
12
+ var _jsxRuntime = require("react/jsx-runtime");
14
13
  /**
15
14
  * External dependencies
16
15
  */
@@ -28,16 +27,6 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
28
27
  */class AutocompleteTokenField extends _element.Component {
29
28
  constructor(props) {
30
29
  super(props);
31
- /**
32
- * If the component has tokens passed in props, it should fetch info after it mounts.
33
- */
34
- (0, _defineProperty2.default)(this, "isFetchingInfoOnLoad", () => {
35
- const {
36
- tokens,
37
- fetchSavedInfo
38
- } = this.props;
39
- return Boolean(tokens.length && fetchSavedInfo);
40
- });
41
30
  this.state = {
42
31
  suggestions: [],
43
32
  validValues: {},
@@ -45,6 +34,18 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
45
34
  };
46
35
  this.debouncedUpdateSuggestions = (0, _debounce.default)(this.updateSuggestions, 500);
47
36
  }
37
+
38
+ /**
39
+ * If the component has tokens passed in props, it should fetch info after it mounts.
40
+ */
41
+ isFetchingInfoOnLoad = () => {
42
+ const {
43
+ tokens,
44
+ fetchSavedInfo
45
+ } = this.props;
46
+ return Boolean(tokens.length && fetchSavedInfo);
47
+ };
48
+
48
49
  /**
49
50
  * When the component loads, fetch information about the tokens so we can populate
50
51
  * the tokens with the correct labels.
@@ -70,6 +71,31 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
70
71
  }
71
72
  }
72
73
 
74
+ /**
75
+ * When the component updates, fetch information about the tokens so we can populate
76
+ * the tokens with the correct labels.
77
+ */
78
+ componentDidUpdate(prevProps) {
79
+ const {
80
+ tokens,
81
+ fetchSavedInfo
82
+ } = this.props;
83
+ if (tokens !== prevProps.tokens && this.isFetchingInfoOnLoad()) {
84
+ fetchSavedInfo(tokens).then(results => {
85
+ const {
86
+ validValues
87
+ } = this.state;
88
+ results.forEach(suggestion => {
89
+ validValues[suggestion.value] = suggestion.label;
90
+ });
91
+ this.setState({
92
+ validValues,
93
+ loading: false
94
+ });
95
+ });
96
+ }
97
+ }
98
+
73
99
  /**
74
100
  * Clean up any unfinished autocomplete api call requests.
75
101
  */
@@ -116,8 +142,10 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
116
142
  return labels.reduce((acc, label) => {
117
143
  Object.keys(validValues).forEach(key => {
118
144
  if (validValues[key] === label) {
145
+ // Preserve numeric or string type of values. Object.keys will convert numbers to strings.
146
+ const value = isNaN(parseInt(key)) ? key.toString() : parseInt(key);
119
147
  acc.push({
120
- value: key,
148
+ value,
121
149
  label
122
150
  });
123
151
  }
@@ -125,7 +153,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
125
153
  return acc;
126
154
  }, []);
127
155
  }
128
- return labels.map(label => Object.keys(validValues).find(key => validValues[key] === label));
156
+ return labels.map(label => Object.keys(validValues).map(key => isNaN(parseInt(key)) ? key.toString() : parseInt(key)).find(key => validValues[key] === label));
129
157
  }
130
158
 
131
159
  /**
@@ -151,14 +179,16 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
151
179
  if (this.suggestionsRequest !== request) {
152
180
  return;
153
181
  }
182
+ const {
183
+ validValues
184
+ } = this.state;
154
185
  const currentSuggestions = [...suggestions];
155
- const currentValidValues = {};
156
186
  suggestions.forEach(suggestion => {
157
- currentValidValues[suggestion.value] = suggestion.label;
187
+ validValues[suggestion.value] = suggestion.label;
158
188
  });
159
189
  this.setState({
160
190
  suggestions: currentSuggestions,
161
- validValues: currentValidValues,
191
+ validValues,
162
192
  loading: false
163
193
  });
164
194
  }).catch(() => {
@@ -203,27 +233,35 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
203
233
  const {
204
234
  help,
205
235
  label = '',
236
+ placeholder = '',
206
237
  maxLength
207
238
  } = this.props;
208
239
  const {
209
240
  suggestions,
210
241
  loading
211
242
  } = this.state;
212
- return (0, _jsxRuntime.jsxs)("div", {
243
+ const classNames = ['newspack-autocomplete-tokenfield__input-container'];
244
+ if (label) {
245
+ classNames.push('has-label');
246
+ }
247
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
213
248
  className: "newspack-autocomplete-tokenfield",
214
- children: [(0, _jsxRuntime.jsx)(_components.FormTokenField, {
215
- value: this.getTokens(),
216
- suggestions: suggestions.map(suggestion => suggestion.label),
217
- onChange: tokens => this.handleOnChange(tokens),
218
- onInputChange: input => this.debouncedUpdateSuggestions(input),
219
- label: label,
220
- maxLength: maxLength
221
- }), loading && (0, _jsxRuntime.jsx)(_components.Spinner, {}), help && (0, _jsxRuntime.jsx)("p", {
249
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
250
+ className: classNames.join(' '),
251
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormTokenField, {
252
+ value: this.getTokens(),
253
+ suggestions: suggestions.map(suggestion => suggestion.label),
254
+ onChange: tokens => this.handleOnChange(tokens),
255
+ onInputChange: input => this.debouncedUpdateSuggestions(input),
256
+ label: label,
257
+ maxLength: maxLength,
258
+ placeholder: placeholder
259
+ }), loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {})]
260
+ }), help && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
222
261
  className: "newspack-autocomplete-tokenfield__help",
223
262
  children: help
224
263
  })]
225
264
  });
226
265
  }
227
266
  }
228
- var _default = AutocompleteTokenField;
229
- exports.default = _default;
267
+ var _default = exports.default = AutocompleteTokenField;
@@ -2,16 +2,22 @@
2
2
  * Autocomplete Token Field
3
3
  */
4
4
 
5
- @use '~@wordpress/base-styles/colors' as wp-colors;
5
+ @use "~@wordpress/base-styles/colors" as wp-colors;
6
6
 
7
7
  .newspack-autocomplete-tokenfield {
8
- position: relative;
9
-
10
8
  .components-spinner {
11
- margin: 8px;
9
+ margin: 0;
12
10
  position: absolute;
13
- right: 0;
14
- top: calc( 1.4em + 8px );
11
+ right: 8px;
12
+ top: 8px;
13
+ }
14
+
15
+ &__input-container {
16
+ position: relative;
17
+
18
+ &.has-label .components-spinner {
19
+ top: 32px;
20
+ }
15
21
  }
16
22
 
17
23
  /* Workaround for hard-coded help text in FormTokenField. */
@@ -37,7 +43,7 @@
37
43
  padding-left: 0;
38
44
  }
39
45
 
40
- .components-button:focus:not( :disabled ) {
41
- box-shadow: inset 0 0 0 var( --wp-admin-border-width-focus ) var( --wp-admin-theme-color );
46
+ .components-button:focus:not(:disabled) {
47
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
42
48
  }
43
49
  }