newspack-components 2.1.0 → 2.2.1

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 (268) hide show
  1. package/dist/cjs/accordion/index.js +46 -0
  2. package/dist/cjs/accordion/style.scss +27 -0
  3. package/dist/cjs/action-card/index.js +48 -25
  4. package/dist/cjs/action-card/style.scss +100 -23
  5. package/dist/cjs/autocomplete-tokenfield/index.js +13 -41
  6. package/dist/cjs/autocomplete-tokenfield/style.scss +2 -2
  7. package/dist/cjs/autocomplete-with-suggestions/index.js +30 -51
  8. package/dist/cjs/autocomplete-with-suggestions/style.scss +16 -15
  9. package/dist/cjs/button/index.js +5 -13
  10. package/dist/cjs/button-card/index.js +1 -10
  11. package/dist/cjs/button-card/style.scss +13 -13
  12. package/dist/cjs/card/index.js +1 -8
  13. package/dist/cjs/card/style.scss +25 -8
  14. package/dist/cjs/category-autocomplete/index.js +18 -38
  15. package/dist/cjs/category-autocomplete/style.scss +0 -2
  16. package/dist/cjs/color-picker/index.js +1 -15
  17. package/dist/cjs/color-picker/style.scss +0 -3
  18. package/dist/cjs/consts.js +5 -3
  19. package/dist/cjs/custom-select-control/index.js +1 -9
  20. package/dist/cjs/custom-select-control/style.scss +6 -7
  21. package/dist/cjs/date-range-picker/index.js +1 -10
  22. package/dist/cjs/date-range-picker/style.scss +12 -12
  23. package/dist/cjs/footer/index.js +5 -17
  24. package/dist/cjs/footer/style.scss +5 -5
  25. package/dist/cjs/form-token-field/index.js +1 -9
  26. package/dist/cjs/form-token-field/style.scss +2 -3
  27. package/dist/cjs/global-notices/index.js +1 -8
  28. package/dist/cjs/grid/index.js +1 -8
  29. package/dist/cjs/grid/style.scss +5 -5
  30. package/dist/cjs/handoff/index.js +8 -17
  31. package/dist/cjs/handoff-message/index.js +50 -0
  32. package/dist/cjs/hooks/index.js +1 -7
  33. package/dist/cjs/hooks/useObjectState.js +7 -13
  34. package/dist/cjs/hooks/useObjectState.test.js +0 -14
  35. package/dist/cjs/hooks/useOnClickOutside.js +3 -6
  36. package/dist/cjs/hooks/usePrompt.js +1 -13
  37. package/dist/cjs/image-upload/index.js +21 -19
  38. package/dist/cjs/image-upload/index.test.js +0 -5
  39. package/dist/cjs/image-upload/style.scss +5 -9
  40. package/dist/cjs/index.js +28 -44
  41. package/dist/cjs/info-button/index.js +3 -11
  42. package/dist/cjs/info-button/style.scss +1 -3
  43. package/dist/cjs/modal/index.js +1 -9
  44. package/dist/cjs/modal/style.scss +8 -8
  45. package/dist/cjs/newspack-icon/index.js +1 -9
  46. package/dist/cjs/newspack-icon/style.scss +4 -4
  47. package/dist/cjs/newspack-logo/index.js +1 -9
  48. package/dist/cjs/newspack-logo/style.scss +3 -3
  49. package/dist/cjs/notice/index.js +8 -15
  50. package/dist/cjs/notice/style.scss +28 -15
  51. package/dist/cjs/patrons-logo/index.js +3 -11
  52. package/dist/cjs/plugin-installer/index.js +36 -36
  53. package/dist/cjs/plugin-installer/style.scss +5 -5
  54. package/dist/cjs/plugin-settings/SettingsSection.js +9 -28
  55. package/dist/cjs/plugin-settings/index.js +39 -22
  56. package/dist/cjs/plugin-toggle/index.js +40 -33
  57. package/dist/cjs/plugin-toggle/style.scss +2 -2
  58. package/dist/cjs/popover/index.js +1 -11
  59. package/dist/cjs/popover/style.scss +19 -16
  60. package/dist/cjs/position-control/index.js +113 -0
  61. package/dist/cjs/position-control/style.scss +66 -0
  62. package/dist/cjs/progress-bar/index.js +2 -9
  63. package/dist/cjs/progress-bar/index.test.js +2 -7
  64. package/dist/cjs/progress-bar/style.scss +4 -4
  65. package/dist/cjs/proxied-imports/router.js +0 -3
  66. package/dist/cjs/radio-control/index.js +1 -11
  67. package/dist/cjs/radio-control/style.scss +9 -9
  68. package/dist/cjs/section-header/index.js +44 -29
  69. package/dist/cjs/section-header/style.scss +2 -2
  70. package/dist/cjs/select-control/ButtonGroupControl.js +4 -13
  71. package/dist/cjs/select-control/GroupedSelectControl.js +9 -15
  72. package/dist/cjs/select-control/index.js +5 -12
  73. package/dist/cjs/select-control/style.scss +2 -2
  74. package/dist/cjs/settings/MinMaxSetting.js +3 -7
  75. package/dist/cjs/settings/SettingsCard.js +3 -7
  76. package/dist/cjs/settings/SettingsSection.js +1 -4
  77. package/dist/cjs/settings/index.js +0 -6
  78. package/dist/cjs/settings/style.scss +1 -1
  79. package/dist/cjs/steps-list/index.js +52 -0
  80. package/dist/cjs/steps-list/style.scss +11 -0
  81. package/dist/cjs/steps-list-item/index.js +56 -0
  82. package/dist/cjs/steps-list-item/style.scss +47 -0
  83. package/dist/cjs/style-card/index.js +6 -13
  84. package/dist/cjs/style-card/style.scss +9 -12
  85. package/dist/cjs/style.scss +5 -6
  86. package/dist/cjs/tabbed-navigation/index.js +19 -16
  87. package/dist/cjs/tabbed-navigation/style.scss +3 -4
  88. package/dist/cjs/text-control/index.js +6 -16
  89. package/dist/cjs/utils/index.js +10 -5
  90. package/dist/cjs/waiting/index.js +1 -9
  91. package/dist/cjs/web-preview/index.js +13 -28
  92. package/dist/cjs/web-preview/style.scss +14 -14
  93. package/dist/cjs/with-wizard/index.js +51 -31
  94. package/dist/cjs/with-wizard/style.scss +35 -37
  95. package/dist/cjs/with-wizard-screen/index.js +11 -17
  96. package/dist/cjs/with-wizard-screen/style.scss +14 -17
  97. package/dist/cjs/wizard/components/WizardError.js +3 -15
  98. package/dist/cjs/wizard/index.js +10 -24
  99. package/dist/cjs/wizard/store/index.js +42 -55
  100. package/dist/cjs/wizard/store/utils.js +1 -6
  101. package/dist/esm/accordion/index.js +38 -0
  102. package/dist/esm/accordion/style.scss +27 -0
  103. package/dist/esm/action-card/index.js +50 -21
  104. package/dist/esm/action-card/style.scss +100 -23
  105. package/dist/esm/autocomplete-tokenfield/index.js +14 -37
  106. package/dist/esm/autocomplete-tokenfield/style.scss +2 -2
  107. package/dist/esm/autocomplete-with-suggestions/index.js +28 -41
  108. package/dist/esm/autocomplete-with-suggestions/style.scss +16 -15
  109. package/dist/esm/button/index.js +5 -7
  110. package/dist/esm/button-card/index.js +2 -5
  111. package/dist/esm/button-card/style.scss +13 -13
  112. package/dist/esm/card/index.js +2 -5
  113. package/dist/esm/card/style.scss +25 -8
  114. package/dist/esm/category-autocomplete/index.js +17 -30
  115. package/dist/esm/category-autocomplete/style.scss +0 -2
  116. package/dist/esm/color-picker/index.js +2 -4
  117. package/dist/esm/color-picker/style.scss +0 -3
  118. package/dist/esm/consts.js +3 -2
  119. package/dist/esm/custom-select-control/index.js +2 -5
  120. package/dist/esm/custom-select-control/style.scss +6 -7
  121. package/dist/esm/date-range-picker/index.js +1 -3
  122. package/dist/esm/date-range-picker/style.scss +12 -12
  123. package/dist/esm/footer/index.js +3 -11
  124. package/dist/esm/footer/style.scss +5 -5
  125. package/dist/esm/form-token-field/index.js +2 -5
  126. package/dist/esm/form-token-field/style.scss +2 -3
  127. package/dist/esm/global-notices/index.js +1 -6
  128. package/dist/esm/grid/index.js +2 -5
  129. package/dist/esm/grid/style.scss +5 -5
  130. package/dist/esm/handoff/index.js +3 -14
  131. package/dist/esm/handoff-message/index.js +45 -0
  132. package/dist/esm/hooks/index.js +0 -2
  133. package/dist/esm/hooks/useObjectState.js +3 -8
  134. package/dist/esm/hooks/useObjectState.test.js +0 -3
  135. package/dist/esm/hooks/useOnClickOutside.js +2 -5
  136. package/dist/esm/hooks/usePrompt.js +1 -8
  137. package/dist/esm/image-upload/index.js +17 -16
  138. package/dist/esm/image-upload/style.scss +5 -9
  139. package/dist/esm/index.js +4 -0
  140. package/dist/esm/info-button/index.js +4 -6
  141. package/dist/esm/info-button/style.scss +1 -3
  142. package/dist/esm/modal/index.js +2 -5
  143. package/dist/esm/modal/style.scss +8 -8
  144. package/dist/esm/newspack-icon/index.js +2 -5
  145. package/dist/esm/newspack-icon/style.scss +4 -4
  146. package/dist/esm/newspack-logo/index.js +2 -5
  147. package/dist/esm/newspack-logo/style.scss +3 -3
  148. package/dist/esm/notice/index.js +4 -8
  149. package/dist/esm/notice/style.scss +28 -15
  150. package/dist/esm/patrons-logo/index.js +3 -5
  151. package/dist/esm/plugin-installer/index.js +35 -39
  152. package/dist/esm/plugin-installer/style.scss +5 -5
  153. package/dist/esm/plugin-settings/SettingsSection.js +8 -21
  154. package/dist/esm/plugin-settings/index.js +38 -24
  155. package/dist/esm/plugin-toggle/index.js +39 -36
  156. package/dist/esm/plugin-toggle/style.scss +2 -2
  157. package/dist/esm/popover/index.js +3 -6
  158. package/dist/esm/popover/style.scss +19 -16
  159. package/dist/esm/position-control/index.js +109 -0
  160. package/dist/esm/position-control/style.scss +66 -0
  161. package/dist/esm/progress-bar/index.js +2 -7
  162. package/dist/esm/progress-bar/index.test.js +2 -1
  163. package/dist/esm/progress-bar/style.scss +4 -4
  164. package/dist/esm/proxied-imports/router.js +1 -0
  165. package/dist/esm/radio-control/index.js +3 -6
  166. package/dist/esm/radio-control/style.scss +9 -9
  167. package/dist/esm/section-header/index.js +44 -25
  168. package/dist/esm/section-header/style.scss +2 -2
  169. package/dist/esm/select-control/ButtonGroupControl.js +5 -7
  170. package/dist/esm/select-control/GroupedSelectControl.js +5 -6
  171. package/dist/esm/select-control/index.js +6 -6
  172. package/dist/esm/select-control/style.scss +2 -2
  173. package/dist/esm/settings/MinMaxSetting.js +1 -3
  174. package/dist/esm/settings/SettingsCard.js +3 -4
  175. package/dist/esm/settings/SettingsSection.js +0 -2
  176. package/dist/esm/settings/style.scss +1 -1
  177. package/dist/esm/steps-list/index.js +43 -0
  178. package/dist/esm/steps-list/style.scss +11 -0
  179. package/dist/esm/steps-list-item/index.js +48 -0
  180. package/dist/esm/steps-list-item/style.scss +47 -0
  181. package/dist/esm/style-card/index.js +2 -5
  182. package/dist/esm/style-card/style.scss +9 -12
  183. package/dist/esm/style.scss +5 -6
  184. package/dist/esm/tabbed-navigation/index.js +20 -10
  185. package/dist/esm/tabbed-navigation/style.scss +3 -4
  186. package/dist/esm/text-control/index.js +2 -9
  187. package/dist/esm/utils/index.js +9 -3
  188. package/dist/esm/waiting/index.js +2 -5
  189. package/dist/esm/web-preview/index.js +9 -24
  190. package/dist/esm/web-preview/style.scss +14 -14
  191. package/dist/esm/with-wizard/index.js +49 -34
  192. package/dist/esm/with-wizard/style.scss +35 -37
  193. package/dist/esm/with-wizard-screen/index.js +9 -11
  194. package/dist/esm/with-wizard-screen/style.scss +14 -17
  195. package/dist/esm/wizard/components/WizardError.js +1 -10
  196. package/dist/esm/wizard/index.js +10 -12
  197. package/dist/esm/wizard/store/index.js +40 -46
  198. package/dist/esm/wizard/store/utils.js +1 -1
  199. package/package.json +4 -4
  200. package/shared/js/button-props.js +3 -1
  201. package/shared/scss/_mixins.scss +12 -0
  202. package/src/accordion/index.js +32 -0
  203. package/src/accordion/style.scss +27 -0
  204. package/src/action-card/index.js +43 -8
  205. package/src/action-card/style.scss +100 -23
  206. package/src/autocomplete-tokenfield/index.js +1 -1
  207. package/src/autocomplete-tokenfield/style.scss +2 -2
  208. package/src/autocomplete-with-suggestions/style.scss +16 -15
  209. package/src/button-card/style.scss +13 -13
  210. package/src/card/style.scss +25 -8
  211. package/src/category-autocomplete/index.js +3 -1
  212. package/src/category-autocomplete/style.scss +0 -2
  213. package/src/color-picker/style.scss +0 -3
  214. package/src/consts.js +2 -1
  215. package/src/custom-select-control/style.scss +6 -7
  216. package/src/date-range-picker/style.scss +12 -12
  217. package/src/footer/index.js +2 -2
  218. package/src/footer/style.scss +5 -5
  219. package/src/form-token-field/index.js +2 -7
  220. package/src/form-token-field/style.scss +2 -3
  221. package/src/grid/style.scss +5 -5
  222. package/src/handoff/index.js +3 -8
  223. package/src/handoff-message/index.js +39 -0
  224. package/src/hooks/useObjectState.js +2 -1
  225. package/src/image-upload/index.js +9 -3
  226. package/src/image-upload/style.scss +5 -9
  227. package/src/index.js +4 -0
  228. package/src/info-button/style.scss +1 -3
  229. package/src/modal/style.scss +8 -8
  230. package/src/newspack-icon/style.scss +4 -4
  231. package/src/newspack-logo/style.scss +3 -3
  232. package/src/notice/index.js +2 -0
  233. package/src/notice/style.scss +28 -15
  234. package/src/plugin-installer/index.js +15 -2
  235. package/src/plugin-installer/style.scss +5 -5
  236. package/src/plugin-settings/SettingsSection.js +7 -13
  237. package/src/plugin-settings/index.js +7 -2
  238. package/src/plugin-toggle/index.js +2 -3
  239. package/src/plugin-toggle/style.scss +2 -2
  240. package/src/popover/style.scss +19 -16
  241. package/src/position-control/index.js +122 -0
  242. package/src/position-control/style.scss +66 -0
  243. package/src/progress-bar/style.scss +4 -4
  244. package/src/radio-control/style.scss +9 -9
  245. package/src/section-header/index.js +32 -15
  246. package/src/section-header/style.scss +2 -2
  247. package/src/select-control/ButtonGroupControl.js +3 -0
  248. package/src/select-control/GroupedSelectControl.js +2 -1
  249. package/src/select-control/index.js +6 -2
  250. package/src/select-control/style.scss +2 -2
  251. package/src/settings/style.scss +1 -1
  252. package/src/steps-list/index.js +39 -0
  253. package/src/steps-list/style.scss +11 -0
  254. package/src/steps-list-item/index.js +40 -0
  255. package/src/steps-list-item/style.scss +47 -0
  256. package/src/style-card/index.js +2 -11
  257. package/src/style-card/style.scss +9 -12
  258. package/src/style.scss +5 -6
  259. package/src/tabbed-navigation/index.js +12 -4
  260. package/src/tabbed-navigation/style.scss +3 -4
  261. package/src/utils/index.js +9 -0
  262. package/src/web-preview/index.js +1 -1
  263. package/src/web-preview/style.scss +14 -14
  264. package/src/with-wizard/style.scss +35 -37
  265. package/src/with-wizard-screen/index.js +4 -1
  266. package/src/with-wizard-screen/style.scss +14 -17
  267. package/src/wizard/index.js +15 -3
  268. package/src/wizard/store/index.js +8 -2
@@ -2,11 +2,11 @@
2
2
  * Radio Control
3
3
  */
4
4
 
5
- @import '../../../shared/scss/colors';
6
- @import '~@wordpress/base-styles/colors';
5
+ @use '../../../shared/scss/colors';
6
+ @use '~@wordpress/base-styles/colors' as wp-colors;
7
7
 
8
8
  .newspack-radio-control {
9
- color: $gray-700;
9
+ color: wp-colors.$gray-700;
10
10
  font-size: 14px;
11
11
  line-height: 24px;
12
12
  margin: 32px 0;
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  .components-base-control__label {
22
- color: $gray-900;
22
+ color: wp-colors.$gray-900;
23
23
  font-weight: bold;
24
24
  }
25
25
 
@@ -28,7 +28,7 @@
28
28
  .components-radio-control__option {
29
29
  align-items: center;
30
30
  display: flex;
31
- margin: 0 0 8px 0;
31
+ margin: 0 0 8px;
32
32
 
33
33
  &:first-of-type {
34
34
  margin-top: 8px;
@@ -52,8 +52,8 @@
52
52
  }
53
53
 
54
54
  &:checked {
55
- background-color: $primary-500;
56
- border-color: $primary-500;
55
+ background-color: colors.$primary-500;
56
+ border-color: colors.$primary-500;
57
57
 
58
58
  &::before {
59
59
  border: none;
@@ -61,8 +61,8 @@
61
61
  }
62
62
 
63
63
  &:focus {
64
- border-color: $primary-500;
65
- box-shadow: 0 0 0 2px white, 0 0 0 3.5px $primary-500;
64
+ border-color: colors.$primary-500;
65
+ box-shadow: 0 0 0 2px white, 0 0 0 3.5px colors.$primary-500;
66
66
  }
67
67
  }
68
68
 
@@ -1,24 +1,23 @@
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
-
8
+ var _element = require("@wordpress/element");
10
9
  var _ = require("..");
11
-
12
10
  require("./style.scss");
13
-
14
11
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
12
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
17
-
18
13
  /**
19
14
  * Section Header
20
15
  */
21
16
 
17
+ /**
18
+ * WordPress dependencies
19
+ */
20
+
22
21
  /**
23
22
  * Internal dependencies
24
23
  */
@@ -26,36 +25,52 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
26
25
  /**
27
26
  * External dependencies
28
27
  */
28
+
29
29
  const SectionHeader = _ref => {
30
30
  let {
31
- centered,
32
- className,
31
+ centered = false,
32
+ className = null,
33
33
  description,
34
- heading,
35
- isWhite,
36
- noMargin,
37
- title
34
+ heading = 2,
35
+ isWhite = false,
36
+ noMargin = false,
37
+ title,
38
+ id = null
38
39
  } = _ref;
40
+ // If id is in the URL as a scrollTo param, scroll to it on render.
41
+ const ref = (0, _element.useRef)();
42
+ (0, _element.useEffect)(() => {
43
+ const params = new Proxy(new URLSearchParams(window.location.search), {
44
+ get: (searchParams, prop) => searchParams.get(prop)
45
+ });
46
+ const scrollToId = params.scrollTo;
47
+ if (scrollToId && scrollToId === id) {
48
+ // Let parent scroll action run before running this.
49
+ window.setTimeout(() => ref.current.scrollIntoView({
50
+ behavior: 'smooth'
51
+ }), 250);
52
+ }
53
+ }, []);
39
54
  const classes = (0, _classnames.default)('newspack-section-header', centered && 'newspack-section-header--is-centered', isWhite && 'newspack-section-header--is-white', noMargin && 'newspack-section-header--no-margin', className);
40
55
  const HeadingTag = `h${heading}`;
41
- return (0, _jsxRuntime.jsxs)(_.Grid, {
42
- columns: 1,
43
- gutter: 8,
44
- className: classes,
45
- children: [typeof title === 'string' && (0, _jsxRuntime.jsx)(HeadingTag, {
46
- children: title
47
- }), typeof title === 'function' && (0, _jsxRuntime.jsx)(HeadingTag, {
48
- children: title()
49
- }), typeof description === 'string' && (0, _jsxRuntime.jsx)("p", {
50
- children: description
51
- }), typeof description === 'function' && (0, _jsxRuntime.jsx)("p", {
52
- children: description()
53
- })]
56
+ return (0, _jsxRuntime.jsx)("div", {
57
+ id: id,
58
+ ref: ref,
59
+ children: (0, _jsxRuntime.jsxs)(_.Grid, {
60
+ columns: 1,
61
+ gutter: 8,
62
+ className: classes,
63
+ children: [typeof title === 'string' && (0, _jsxRuntime.jsx)(HeadingTag, {
64
+ children: title
65
+ }), typeof title === 'function' && (0, _jsxRuntime.jsx)(HeadingTag, {
66
+ children: title()
67
+ }), typeof description === 'string' && (0, _jsxRuntime.jsx)("p", {
68
+ children: description
69
+ }), typeof description === 'function' && (0, _jsxRuntime.jsx)("p", {
70
+ children: description()
71
+ })]
72
+ })
54
73
  });
55
74
  };
56
-
57
- SectionHeader.defaultProps = {
58
- heading: 2
59
- };
60
75
  var _default = SectionHeader;
61
76
  exports.default = _default;
@@ -2,7 +2,7 @@
2
2
  * Section Header
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
6
 
7
7
  .newspack-section-header {
8
8
  margin: 64px 0 32px;
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  p {
35
- color: $gray-700;
35
+ color: wp-colors.$gray-700;
36
36
  }
37
37
 
38
38
  .newspack-wizard__content &:first-child {
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _classnames = _interopRequireDefault(require("classnames"));
11
-
12
9
  var _icons = require("@wordpress/icons");
13
-
14
10
  var _components = require("@wordpress/components");
15
-
16
11
  var _ = require("..");
17
-
18
12
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
19
-
20
13
  /**
21
14
  * External dependencies
22
15
  */
@@ -28,18 +21,18 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
28
21
  /**
29
22
  * Internal dependencies
30
23
  */
24
+
31
25
  const ButtonGroupControl = _ref => {
32
26
  let {
33
27
  buttonOptions,
28
+ buttonSmall,
34
29
  className,
35
30
  hideLabelFromVision,
36
31
  label,
37
32
  onChange,
38
33
  value
39
34
  } = _ref;
40
-
41
35
  const id = _.hooks.useUniqueId('button-group');
42
-
43
36
  return (0, _jsxRuntime.jsx)(_components.BaseControl, {
44
37
  label: label,
45
38
  hideLabelFromVision: hideLabelFromVision,
@@ -48,25 +41,23 @@ const ButtonGroupControl = _ref => {
48
41
  children: (0, _jsxRuntime.jsx)(_components.ButtonGroup, {
49
42
  children: buttonOptions.map(option => {
50
43
  const isSelected = value === option.value;
51
-
52
44
  let Label = () => option.label;
53
-
54
45
  if (option.icon) {
55
46
  // eslint-disable-next-line react/display-name
56
47
  Label = () => (0, _jsxRuntime.jsx)(_icons.Icon, {
57
48
  icon: option.icon
58
49
  });
59
50
  }
60
-
61
51
  return (0, _jsxRuntime.jsx)(_components.Button, {
62
52
  variant: isSelected ? 'primary' : null,
53
+ isPressed: isSelected,
63
54
  onClick: () => onChange(option.value),
55
+ isSmall: buttonSmall,
64
56
  children: (0, _jsxRuntime.jsx)(Label, {})
65
57
  }, option.value);
66
58
  })
67
59
  })
68
60
  });
69
61
  };
70
-
71
62
  var _default = ButtonGroupControl;
72
63
  exports.default = _default;
@@ -1,31 +1,28 @@
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 = GroupedSelectControl;
9
-
10
8
  var _components = require("@wordpress/components");
11
-
12
9
  var _i18n = require("@wordpress/i18n");
13
-
14
10
  var _icons = require("@wordpress/icons");
15
-
16
11
  var _classnames = _interopRequireDefault(require("classnames"));
17
-
18
- var _lodash = require("lodash");
19
-
12
+ var _find = _interopRequireDefault(require("lodash/find"));
13
+ var _some = _interopRequireDefault(require("lodash/some"));
20
14
  var _ = require("..");
21
-
22
15
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
23
-
24
16
  /**
25
17
  * WordPress dependencies
26
18
  */
27
19
  const __ = _i18n.__;
28
-
20
+ /**
21
+ * External dependencies
22
+ */
23
+ /**
24
+ * Internal dependencies
25
+ */
29
26
  /**
30
27
  * SelectControl with optgroup support
31
28
  */
@@ -39,17 +36,14 @@ function GroupedSelectControl(_ref) {
39
36
  hideLabelFromVision,
40
37
  ...props
41
38
  } = _ref;
42
-
43
39
  const onChangeValue = event => {
44
40
  const {
45
41
  value
46
42
  } = event.target;
47
- const optgroup = (0, _lodash.find)(optgroups, group => (0, _lodash.some)(group.options, ['value', value]));
43
+ const optgroup = (0, _find.default)(optgroups, group => (0, _some.default)(group.options, ['value', value]));
48
44
  onChange(value, optgroup);
49
45
  };
50
-
51
46
  const id = _.hooks.useUniqueId('group-select');
52
-
53
47
  return (0, _jsxRuntime.jsx)(_components.BaseControl, {
54
48
  label: label,
55
49
  hideLabelFromVision: hideLabelFromVision,
@@ -1,26 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _components = require("@wordpress/components");
11
-
12
9
  var _element = require("@wordpress/element");
13
-
14
10
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
11
  require("./style.scss");
17
-
18
12
  var _GroupedSelectControl = _interopRequireDefault(require("./GroupedSelectControl"));
19
-
20
13
  var _ButtonGroupControl = _interopRequireDefault(require("./ButtonGroupControl"));
21
-
22
14
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
23
-
24
15
  /**
25
16
  * Select Control
26
17
  */
@@ -36,6 +27,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
36
27
  /**
37
28
  * Internal dependencies
38
29
  */
30
+
39
31
  class SelectControl extends _element.Component {
40
32
  /**
41
33
  * Render.
@@ -45,6 +37,7 @@ class SelectControl extends _element.Component {
45
37
  className,
46
38
  optgroups,
47
39
  buttonOptions,
40
+ buttonSmall,
48
41
  ...otherProps
49
42
  } = this.props;
50
43
  const classes = (0, _classnames.default)('newspack-select-control', optgroups && 'newspack-grouped-select-control', buttonOptions && 'newspack-buttons-select-control', className);
@@ -55,13 +48,13 @@ class SelectControl extends _element.Component {
55
48
  ...otherProps
56
49
  }) : buttonOptions ? (0, _jsxRuntime.jsx)(_ButtonGroupControl.default, {
57
50
  buttonOptions: buttonOptions,
51
+ buttonSmall: buttonSmall,
52
+ ...otherProps
53
+ }) : (0, _jsxRuntime.jsx)(_components.SelectControl, {
58
54
  ...otherProps
59
- }) : (0, _jsxRuntime.jsx)(_components.SelectControl, { ...otherProps
60
55
  })
61
56
  });
62
57
  }
63
-
64
58
  }
65
-
66
59
  var _default = SelectControl;
67
60
  exports.default = _default;
@@ -2,7 +2,7 @@
2
2
  * Select Control
3
3
  */
4
4
 
5
- @import '~@wordpress/base-styles/colors';
5
+ @use '~@wordpress/base-styles/colors' as wp-colors;
6
6
 
7
7
  .components-select-control {
8
8
  &__input {
@@ -47,7 +47,7 @@
47
47
  &__input {
48
48
  appearance: none;
49
49
  background: transparent;
50
- border: 1px solid $gray-700;
50
+ border: 1px solid wp-colors.$gray-700;
51
51
  border-radius: 2px;
52
52
  box-shadow: none !important;
53
53
  box-sizing: border-box;
@@ -4,20 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _i18n = require("@wordpress/i18n");
9
-
10
8
  var _components = require("@wordpress/components");
11
-
12
9
  var _ = require("../");
13
-
14
10
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
-
16
11
  /**
17
12
  * WordPress dependencies.
18
13
  */
19
14
  const __ = _i18n.__;
20
-
15
+ /**
16
+ * Internal dependencies.
17
+ */
21
18
  const MinMaxSetting = _ref => {
22
19
  let {
23
20
  min,
@@ -56,6 +53,5 @@ const MinMaxSetting = _ref => {
56
53
  })]
57
54
  });
58
55
  };
59
-
60
56
  var _default = MinMaxSetting;
61
57
  exports.default = _default;
@@ -1,18 +1,13 @@
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 _classnames = _interopRequireDefault(require("classnames"));
11
-
12
9
  var _ = require("../");
13
-
14
10
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
-
16
11
  /**
17
12
  * External dependencies.
18
13
  */
@@ -20,6 +15,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
20
15
  /**
21
16
  * Internal dependencies.
22
17
  */
18
+
23
19
  const SettingsCard = _ref => {
24
20
  let {
25
21
  children,
@@ -31,7 +27,8 @@ const SettingsCard = _ref => {
31
27
  ...props
32
28
  } = _ref;
33
29
  const classes = (0, _classnames.default)('newspack-settings__card', noBorder && 'newspack-settings__no-border', className);
34
- return (0, _jsxRuntime.jsx)(_.ActionCard, { ...props,
30
+ return (0, _jsxRuntime.jsx)(_.ActionCard, {
31
+ ...props,
35
32
  className: classes,
36
33
  notificationLevel: "info",
37
34
  noBorder: noBorder,
@@ -43,7 +40,6 @@ const SettingsCard = _ref => {
43
40
  })
44
41
  });
45
42
  };
46
-
47
43
  SettingsCard.defaultProps = {
48
44
  columns: 3,
49
45
  gutter: 32
@@ -4,14 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _ = require("../");
9
-
10
8
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
11
-
12
9
  /**
13
10
  * Internal dependencies.
14
11
  */
12
+
15
13
  const SettingSection = _ref => {
16
14
  let {
17
15
  title,
@@ -35,6 +33,5 @@ const SettingSection = _ref => {
35
33
  })]
36
34
  });
37
35
  };
38
-
39
36
  var _default = SettingSection;
40
37
  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 _SettingsCard = _interopRequireDefault(require("./SettingsCard"));
11
-
12
9
  var _SettingsSection = _interopRequireDefault(require("./SettingsSection"));
13
-
14
10
  var _MinMaxSetting = _interopRequireDefault(require("./MinMaxSetting"));
15
-
16
11
  require("./style.scss");
17
-
18
12
  var _default = {
19
13
  SettingsCard: _SettingsCard.default,
20
14
  SettingsSection: _SettingsSection.default,
@@ -43,7 +43,7 @@
43
43
  align-items: center;
44
44
  justify-content: space-between;
45
45
  flex-wrap: wrap;
46
- > *:not( [class*='help'] ):not( [class*='label'] ) {
46
+ > *:not( [class*='help'], [class*='label'] ) {
47
47
  margin: 0;
48
48
  }
49
49
  }
@@ -0,0 +1,52 @@
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 _ = require("../");
10
+ require("./style.scss");
11
+ var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
13
+ /**
14
+ * Steps List
15
+ */
16
+
17
+ /**
18
+ * WordPress dependencies.
19
+ */
20
+
21
+ /**
22
+ * Internal dependencies.
23
+ */
24
+
25
+ /**
26
+ * External dependencies.
27
+ */
28
+
29
+ class StepsList extends _element.Component {
30
+ /**
31
+ * Render
32
+ */
33
+ render() {
34
+ const {
35
+ className,
36
+ stepsListItems,
37
+ narrowList,
38
+ style = {}
39
+ } = this.props;
40
+ const classes = (0, _classnames.default)('steps-list', className, narrowList && 'steps-list__narrow-list');
41
+ return (0, _jsxRuntime.jsx)("div", {
42
+ className: classes,
43
+ style: style,
44
+ children: stepsListItems.map((listItem, index) => (0, _jsxRuntime.jsx)(_.StepsListItem, {
45
+ listItemCount: index + 1,
46
+ listItemText: listItem
47
+ }, index))
48
+ });
49
+ }
50
+ }
51
+ var _default = StepsList;
52
+ exports.default = _default;
@@ -0,0 +1,11 @@
1
+ @use '../../../shared/scss/colors';
2
+ @use '~@wordpress/base-styles/colors' as wp-colors;
3
+
4
+ .steps-list {
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+
8
+ &__narrow-list {
9
+ max-width: 416px;
10
+ }
11
+ }
@@ -0,0 +1,56 @@
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
+ * Steps List Item
14
+ */
15
+
16
+ /**
17
+ * WordPress dependencies.
18
+ */
19
+
20
+ /**
21
+ * Internal dependencies.
22
+ */
23
+
24
+ /**
25
+ * External dependencies.
26
+ */
27
+
28
+ class StepsListItem extends _element.Component {
29
+ /**
30
+ * Render
31
+ */
32
+ render() {
33
+ const {
34
+ className,
35
+ listItemCount,
36
+ listItemText,
37
+ style = {}
38
+ } = this.props;
39
+ const classes = (0, _classnames.default)('steps-list-item', className);
40
+ return (0, _jsxRuntime.jsxs)("div", {
41
+ className: classes,
42
+ style: style,
43
+ children: [(0, _jsxRuntime.jsx)("div", {
44
+ className: "steps-list-item__number",
45
+ children: listItemCount
46
+ }), (0, _jsxRuntime.jsx)("div", {
47
+ className: "steps-list-item__content",
48
+ dangerouslySetInnerHTML: {
49
+ __html: listItemText
50
+ }
51
+ })]
52
+ });
53
+ }
54
+ }
55
+ var _default = StepsListItem;
56
+ exports.default = _default;
@@ -0,0 +1,47 @@
1
+ @use '../../../shared/scss/colors';
2
+ @use '~@wordpress/base-styles/colors' as wp-colors;
3
+
4
+ .steps-list-item {
5
+ align-items: center;
6
+ display: grid;
7
+ grid-template-columns: 28px auto;
8
+ gap: 24px;
9
+ position: relative;
10
+
11
+ &::before {
12
+ border: 1px solid #F0F0F0;
13
+ bottom: -16px;
14
+ content: '';
15
+ display: block;
16
+ left: 14px;
17
+ position: absolute;
18
+ top: -16px;
19
+ }
20
+
21
+ &:first-child::before {
22
+ top: 50%;
23
+ }
24
+
25
+ &:last-child::before {
26
+ bottom: 50%;
27
+ }
28
+
29
+ + .steps-list-item {
30
+ margin-top: 32px;
31
+ }
32
+
33
+ &__number {
34
+ align-items: center;
35
+ background: #fff;
36
+ border: 1px solid currentcolor;
37
+ border-radius: 100%;
38
+ color: colors.$primary-500;
39
+ display: flex;
40
+ height: 28px;
41
+ justify-content: center;
42
+ outline: 8px solid #fff;
43
+ position: relative;
44
+ width: 28px;
45
+ z-index: 2;
46
+ }
47
+ }