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
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _components = require("@wordpress/components");
9
- var _element = require("@wordpress/element");
10
- var _router = _interopRequireDefault(require("../proxied-imports/router"));
11
- require("./style.scss");
12
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
13
- /**
14
- * Button
15
- */
16
-
17
- /**
18
- * WordPress dependencies.
19
- */
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
- const {
26
- useHistory
27
- } = _router.default;
28
- const Button = _ref => {
29
- let {
30
- href,
31
- onClick,
32
- ...otherProps
33
- } = _ref;
34
- const history = useHistory();
35
- const [isAwaitingOnClick, setIsAwaitingOnClick] = (0, _element.useState)(false);
36
-
37
- // If both onClick and href are present, await the onClick action an then redirect.
38
- if (href && onClick) {
39
- otherProps.onClick = async () => {
40
- setIsAwaitingOnClick(true);
41
- await onClick();
42
- setIsAwaitingOnClick(false);
43
- history.push(href.replace('#', ''));
44
- };
45
- } else {
46
- otherProps.href = href;
47
- otherProps.onClick = onClick;
48
- }
49
- if (isAwaitingOnClick) {
50
- otherProps.disabled = true;
51
- }
52
- return (0, _jsxRuntime.jsx)(_components.Button, {
53
- ...otherProps
54
- });
55
- };
56
- var _default = Button;
57
- exports.default = _default;
@@ -1,168 +0,0 @@
1
- /**
2
- * Card
3
- */
4
-
5
- @use '~@wordpress/base-styles/colors' as wp-colors;
6
-
7
- .newspack-card {
8
- border-radius: 2px;
9
- border: 1px solid wp-colors.$gray-300;
10
- color: wp-colors.$gray-900;
11
- margin: 32px 0;
12
- padding: 16px 48px;
13
-
14
- @media screen and ( min-width: 744px ) {
15
- padding: 32px 64px;
16
- }
17
-
18
- // Buttons Card
19
-
20
- &__buttons-card {
21
- display: flex;
22
- flex-wrap: wrap;
23
- gap: 16px;
24
- margin: 32px 0;
25
- }
26
-
27
- // Header Actions Card
28
-
29
- &__header-actions {
30
- align-items: center;
31
- display: flex;
32
- flex-wrap: wrap;
33
- gap: 8px;
34
- justify-content: space-between;
35
- margin-bottom: -16px;
36
-
37
- > * {
38
- margin-bottom: 0 !important;
39
- margin-top: 0 !important;
40
- }
41
-
42
- .newspack-select-control {
43
- .components-base-control__field {
44
- margin-bottom: 0;
45
- }
46
- }
47
- }
48
-
49
- // Is Narrow
50
-
51
- &__is-narrow {
52
- margin-left: auto;
53
- margin-right: auto;
54
-
55
- @media screen and ( min-width: 608px ) {
56
- max-width: 576px;
57
- }
58
- }
59
-
60
- // Is Small
61
-
62
- &__is-small {
63
- padding: 16px;
64
-
65
- > *:first-child {
66
- margin-top: 0 !important;
67
- }
68
-
69
- > *:last-child {
70
- margin-bottom: 0 !important;
71
- }
72
-
73
- > p {
74
- margin: 16px 0 !important;
75
- }
76
-
77
- & + & {
78
- margin-top: -16px;
79
- }
80
- }
81
-
82
- // Is Medium
83
-
84
- &__is-medium {
85
- padding: 32px;
86
-
87
- > *:first-child {
88
- margin-top: 0 !important;
89
- }
90
-
91
- > *:last-child {
92
- margin-bottom: 0 !important;
93
- }
94
- }
95
-
96
- // Is White
97
-
98
- &__is-white {
99
- background: white;
100
- border: 0;
101
- }
102
-
103
- // No Border
104
-
105
- &__no-border {
106
- border-radius: 0;
107
- border: 0;
108
- padding: 0;
109
- }
110
-
111
- // Margin
112
-
113
- &.mt64 {
114
- margin-top: 64px;
115
- }
116
-
117
- &.mt16 {
118
- margin-top: 16px;
119
- }
120
-
121
- // Typography
122
-
123
- small {
124
- font-size: 12px;
125
- line-height: 1.4;
126
- }
127
-
128
- code {
129
- background: wp-colors.$gray-100;
130
- color: wp-colors.$gray-900;
131
- padding: 0 0.5em;
132
- }
133
-
134
- // Thematic Break
135
-
136
- hr {
137
- background: wp-colors.$gray-300;
138
- border: 0;
139
- height: 1px;
140
- margin: 48px 0;
141
-
142
- @media screen and ( min-width: 744px ) {
143
- margin: 64px 0;
144
- }
145
- }
146
-
147
- // Separator
148
-
149
- .sep {
150
- background: wp-colors.$gray-300;
151
- height: 1px;
152
- margin-left: 8px;
153
- margin-right: 8px;
154
- width: 12px;
155
-
156
- &__inline {
157
- display: inline-block;
158
- line-height: 1.5;
159
- vertical-align: middle;
160
- }
161
- }
162
-
163
- // Error
164
-
165
- .newspack-error {
166
- color: wp-colors.$alert-red;
167
- }
168
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Category Autocomplete
3
- */
4
-
5
- .newspack-category-autocomplete {
6
- position: relative;
7
-
8
- .components-form-token-field__help {
9
- display: none;
10
- }
11
-
12
- // Within a Grid
13
-
14
- .newspack-grid & .newspack-form-token-field__input-container {
15
- margin: 0;
16
- }
17
-
18
- // Loading state spinner
19
- &__suggestions-spinner {
20
- position: absolute;
21
- right: 1px;
22
- top: calc( 1.4em + 8px );
23
- z-index: 2;
24
-
25
- [class*='--label-hidden'] + & {
26
- top: 0;
27
- }
28
-
29
- .components-spinner {
30
- display: block;
31
- margin: 7px;
32
- }
33
- }
34
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NEWSPACK_SUPPORT_URL = exports.NEWSPACK_SITE_URL = exports.HANDOFF_KEY = void 0;
7
- const NEWSPACK_SITE_URL = 'https://newspack.com';
8
- exports.NEWSPACK_SITE_URL = NEWSPACK_SITE_URL;
9
- const NEWSPACK_SUPPORT_URL = `${NEWSPACK_SITE_URL}/support`;
10
- exports.NEWSPACK_SUPPORT_URL = NEWSPACK_SUPPORT_URL;
11
- const HANDOFF_KEY = 'newspack_wizard_handoff_message';
12
- exports.HANDOFF_KEY = HANDOFF_KEY;
@@ -1,37 +0,0 @@
1
- /**
2
- * Form Token Field
3
- */
4
-
5
- @use '~@wordpress/base-styles/colors' as wp-colors;
6
-
7
- .newspack-form-token-field {
8
- width: 100%;
9
-
10
- .components-form-token-field__input-container {
11
- padding-bottom: 1px;
12
- padding-top: 1px;
13
- }
14
-
15
- // Help
16
-
17
- &__help {
18
- color: wp-colors.$gray-700;
19
- font-size: 12px;
20
- margin: 8px 0 0 !important;
21
- }
22
-
23
- // Hidden Elements
24
-
25
- &--label-hidden {
26
- label {
27
- display: none;
28
- }
29
- }
30
-
31
- &--help-hidden {
32
- .components-form-token-field__help,
33
- div.i {
34
- display: none;
35
- }
36
- }
37
- }
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _element = require("@wordpress/element");
9
- require("./style.scss");
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
12
- /**
13
- * Grid
14
- */
15
-
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- /**
25
- * External dependencies
26
- */
27
-
28
- class Grid extends _element.Component {
29
- /**
30
- * Render
31
- */
32
- render() {
33
- const {
34
- className,
35
- columns,
36
- gutter,
37
- noMargin,
38
- rowGap,
39
- ...otherProps
40
- } = this.props;
41
- const classes = (0, _classnames.default)('newspack-grid', noMargin && 'newspack-grid--no-margin', columns && 'newspack-grid__columns-' + columns, gutter && 'newspack-grid__gutter-' + gutter, rowGap && 'newspack-grid__row-gap-' + rowGap, className);
42
- return (0, _jsxRuntime.jsx)("div", {
43
- className: classes,
44
- ...otherProps
45
- });
46
- }
47
- }
48
- Grid.defaultProps = {
49
- columns: 2,
50
- gutter: 32,
51
- rowGap: null
52
- };
53
- var _default = Grid;
54
- exports.default = _default;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _element = require("@wordpress/element");
9
- var _usePrompt = _interopRequireDefault(require("./usePrompt"));
10
- var _useObjectState = _interopRequireDefault(require("./useObjectState"));
11
- var _useOnClickOutside = _interopRequireDefault(require("./useOnClickOutside"));
12
- /**
13
- * WordPress dependencies
14
- */
15
-
16
- const useUniqueId = prefix => {
17
- const id = (0, _element.useRef)(`${prefix}-${Math.round(Math.random() * 99999)}`);
18
- return id.current;
19
- };
20
- var _default = {
21
- usePrompt: _usePrompt.default,
22
- useObjectState: _useObjectState.default,
23
- useOnClickOutside: _useOnClickOutside.default,
24
- useUniqueId
25
- };
26
- exports.default = _default;
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _element = require("@wordpress/element");
9
- var _router = _interopRequireDefault(require("../proxied-imports/router"));
10
- // https://gist.github.com/sibelius/60a4e11da1f826b8d60dc3975a1ac805
11
-
12
- /**
13
- * External dependencies.
14
- */
15
-
16
- /**
17
- * Internal dependencies.
18
- */
19
-
20
- const {
21
- useHistory
22
- } = _router.default;
23
- var _default = (when, message) => {
24
- const history = useHistory();
25
- const self = (0, _element.useRef)(null);
26
- const onWindowOrTabClose = event => {
27
- if (!when) {
28
- return;
29
- }
30
- if (typeof event === 'undefined') {
31
- event = window.event;
32
- }
33
- if (event) {
34
- event.returnValue = message;
35
- }
36
- return message;
37
- };
38
- (0, _element.useEffect)(() => {
39
- if (when) {
40
- self.current = history.block(message);
41
- window.addEventListener('beforeunload', onWindowOrTabClose);
42
- }
43
- return () => {
44
- if (self.current) {
45
- self.current();
46
- }
47
- window.removeEventListener('beforeunload', onWindowOrTabClose);
48
- };
49
- }, [message, when]);
50
- return self.current;
51
- };
52
- exports.default = _default;
@@ -1,144 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _element = require("@wordpress/element");
10
- var _i18n = require("@wordpress/i18n");
11
- var _ = require("../");
12
- require("./style.scss");
13
- var _classnames = _interopRequireDefault(require("classnames"));
14
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
- /**
16
- * Image Upload
17
- */
18
- /**
19
- * WordPress dependencies.
20
- */
21
- /**
22
- * Internal dependencies.
23
- */
24
- const __ = _i18n.__;
25
- /**
26
- * External dependencies.
27
- */
28
- class ImageUpload extends _element.Component {
29
- /**
30
- * Constructor.
31
- */
32
- constructor() {
33
- super(...arguments);
34
- /**
35
- * Open the WP media modal.
36
- */
37
- (0, _defineProperty2.default)(this, "openModal", () => {
38
- if (this.state.frame) {
39
- this.state.frame.open();
40
- return;
41
- }
42
- this.setState({
43
- frame: wp.media({
44
- title: __('Select or upload image'),
45
- button: {
46
- text: __('Select')
47
- },
48
- library: {
49
- type: 'image'
50
- },
51
- multiple: false
52
- })
53
- }, () => {
54
- this.state.frame.on('select', this.handleImageSelect);
55
- this.state.frame.open();
56
- });
57
- });
58
- /**
59
- * Update the state when an image is selected from the media modal.
60
- */
61
- (0, _defineProperty2.default)(this, "handleImageSelect", () => {
62
- const {
63
- onChange
64
- } = this.props;
65
- const attachment = this.state.frame.state().get('selection').first().toJSON();
66
- onChange(attachment);
67
- });
68
- /**
69
- * Render.
70
- */
71
- (0, _defineProperty2.default)(this, "render", () => {
72
- const {
73
- buttonLabel,
74
- className,
75
- disabled,
76
- help,
77
- image,
78
- info,
79
- isCovering,
80
- label,
81
- onChange,
82
- style = {}
83
- } = this.props;
84
- const classes = (0, _classnames.default)('newspack-image-upload__image', {
85
- 'newspack-image-upload__image--has-image': image
86
- }, {
87
- 'newspack-image-upload__image--covering': isCovering
88
- });
89
- return (0, _jsxRuntime.jsxs)("div", {
90
- className: (0, _classnames.default)('newspack-image-upload', className),
91
- children: [(0, _jsxRuntime.jsxs)("div", {
92
- className: "newspack-image-upload__header",
93
- children: [label && (0, _jsxRuntime.jsx)("label", {
94
- className: "newspack-image-upload__label",
95
- children: label
96
- }), info && (0, _jsxRuntime.jsx)(_.InfoButton, {
97
- text: info
98
- })]
99
- }), (0, _jsxRuntime.jsx)("div", {
100
- className: classes,
101
- style: {
102
- ...style
103
- },
104
- children: image?.url ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
105
- children: [(0, _jsxRuntime.jsx)("img", {
106
- "data-testid": "image-upload",
107
- src: image.url,
108
- alt: __('Image preview', 'newspack')
109
- }), (0, _jsxRuntime.jsxs)("div", {
110
- className: "newspack-image-upload__controls",
111
- children: [(0, _jsxRuntime.jsx)(_.Button, {
112
- disabled: disabled,
113
- onClick: this.openModal,
114
- isLink: true,
115
- children: __('Replace', 'newspack')
116
- }), (0, _jsxRuntime.jsx)("span", {
117
- className: "sep"
118
- }), (0, _jsxRuntime.jsx)(_.Button, {
119
- disabled: disabled,
120
- onClick: () => onChange(null),
121
- isLink: true,
122
- isDestructive: true,
123
- children: __('Remove', 'newspack')
124
- })]
125
- })]
126
- }) : (0, _jsxRuntime.jsx)(_.Button, {
127
- disabled: disabled,
128
- onClick: this.openModal,
129
- isLink: true,
130
- children: buttonLabel ? buttonLabel : __('Upload', 'newspack')
131
- })
132
- }), help && (0, _jsxRuntime.jsx)("p", {
133
- className: "newspack-image-upload__help",
134
- children: help
135
- })]
136
- });
137
- });
138
- this.state = {
139
- frame: false
140
- };
141
- }
142
- }
143
- var _default = ImageUpload;
144
- exports.default = _default;
@@ -1,103 +0,0 @@
1
- /**
2
- * Image Upload
3
- */
4
-
5
- @use '~@wordpress/base-styles/colors' as wp-colors;
6
-
7
- .newspack-image-upload {
8
- margin: 32px 0;
9
- &__header {
10
- display: flex;
11
- }
12
- &__label {
13
- margin: 0 0 8px;
14
- }
15
- &__image {
16
- align-items: center;
17
- background-repeat: no-repeat;
18
- background-size: contain;
19
- background-position: center;
20
- border: 1px dashed wp-colors.$gray-700;
21
- border-radius: 2px;
22
- display: flex;
23
- justify-content: center;
24
- max-width: 100%;
25
- min-height: 48px;
26
- position: relative;
27
- &--covering {
28
- background-size: cover;
29
- }
30
- &:not( &--has-image ) {
31
- .newspack-button {
32
- background: white !important;
33
- border-radius: 2px !important;
34
- padding: 4px 16px !important;
35
-
36
- &:active,
37
- &:focus,
38
- &:hover {
39
- background: white !important;
40
- }
41
-
42
- &:focus {
43
- outline-offset: -3px !important;
44
- }
45
- }
46
- }
47
- &--has-image {
48
- border: none;
49
- overflow: hidden;
50
- &::before,
51
- &::after {
52
- border: 1px solid rgba( black, 0.54 );
53
- border-radius: 2px;
54
- content: '';
55
- inset: 0;
56
- position: absolute;
57
- z-index: 0;
58
- }
59
- button,
60
- &::after {
61
- opacity: 0;
62
- transition: opacity 125ms;
63
- }
64
- button {
65
- z-index: 1;
66
- position: relative;
67
- }
68
- &::after {
69
- background: rgba( white, 0.9 );
70
- border-color: wp-colors.$gray-700;
71
- }
72
- &:focus-within,
73
- &:hover {
74
- button,
75
- &::after {
76
- opacity: 1;
77
- }
78
- }
79
- img {
80
- max-height: 100%;
81
- max-width: 100%;
82
- }
83
- .sep {
84
- background: transparent;
85
- display: block;
86
- height: 8px;
87
- margin: 0;
88
- width: 100%;
89
- }
90
- }
91
- }
92
- &__image + &__help {
93
- color: wp-colors.$gray-700;
94
- font-size: 12px;
95
- margin: 1em 0 0;
96
- }
97
- &__controls {
98
- align-items: center;
99
- display: flex;
100
- flex-direction: column;
101
- position: absolute;
102
- }
103
- }