newspack-components 4.3.0 → 4.4.0-alpha.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 (263) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/DEVELOPMENT.md +868 -0
  3. package/colors/colors.module.scss +52 -2
  4. package/copy-styles.js +3 -2
  5. package/dist/cjs/accordion/index.js +17 -12
  6. package/dist/cjs/action-card/index.js +176 -139
  7. package/dist/cjs/autocomplete-tokenfield/index.js +254 -234
  8. package/dist/cjs/autocomplete-with-latest-posts/index.js +172 -110
  9. package/dist/cjs/autocomplete-with-suggestions/index.js +229 -126
  10. package/dist/cjs/badge/index.js +7 -7
  11. package/dist/cjs/box-contrast/index.js +19 -15
  12. package/dist/cjs/button/index.js +41 -26
  13. package/dist/cjs/button-props/button-props.js +5 -5
  14. package/dist/cjs/button-props/index.js +2 -2
  15. package/dist/cjs/card/core-card.js +110 -52
  16. package/dist/cjs/card/index.js +74 -67
  17. package/dist/cjs/card/style-core.scss +93 -25
  18. package/dist/cjs/card/style.scss +2 -2
  19. package/dist/cjs/card-feature/index.js +141 -0
  20. package/dist/cjs/card-feature/style.scss +75 -0
  21. package/dist/cjs/card-form/index.js +144 -0
  22. package/dist/cjs/card-form/style.scss +20 -0
  23. package/dist/cjs/card-settings-group/index.js +36 -16
  24. package/dist/cjs/card-sortable-list/index.js +176 -140
  25. package/dist/cjs/category-autocomplete/index.js +175 -155
  26. package/dist/cjs/color-picker/index.js +41 -23
  27. package/dist/cjs/color-picker/index.test.js +82 -0
  28. package/dist/cjs/color-picker/style.scss +11 -13
  29. package/dist/cjs/confirm-dialog/index.js +86 -22
  30. package/dist/cjs/consts.js +1 -1
  31. package/dist/cjs/custom-select-control/index.js +39 -28
  32. package/dist/cjs/dataviews/index.js +38 -0
  33. package/dist/cjs/dataviews/style.scss +9 -0
  34. package/dist/cjs/divider/index.js +26 -21
  35. package/dist/cjs/footer/index.js +36 -30
  36. package/dist/cjs/form-token-field/index.js +51 -40
  37. package/dist/cjs/global-notices/index.js +5 -5
  38. package/dist/cjs/grid/index.js +25 -19
  39. package/dist/cjs/grid/style.scss +6 -1
  40. package/dist/cjs/handoff/index.js +204 -156
  41. package/dist/cjs/handoff-message/index.js +12 -7
  42. package/dist/cjs/hooks/index.js +10 -8
  43. package/dist/cjs/hooks/use-confirm-dialog.js +79 -0
  44. package/dist/cjs/hooks/use-unsaved-changes-dialog.js +144 -0
  45. package/dist/cjs/hooks/useObjectState.js +21 -12
  46. package/dist/cjs/hooks/useObjectState.test.js +55 -33
  47. package/dist/cjs/hooks/useOnClickOutside.js +6 -6
  48. package/dist/cjs/hooks/usePrompt.js +10 -13
  49. package/dist/cjs/image-upload/index.js +114 -123
  50. package/dist/cjs/image-upload/index.test.js +11 -13
  51. package/dist/cjs/image-upload/style.scss +12 -40
  52. package/dist/cjs/index.js +136 -104
  53. package/dist/cjs/info-button/index.js +43 -32
  54. package/dist/cjs/integration-icons/active-campaign.js +22 -0
  55. package/dist/cjs/integration-icons/constant-contact.js +28 -0
  56. package/dist/cjs/integration-icons/fundraise-up.js +25 -0
  57. package/dist/cjs/integration-icons/index.js +48 -0
  58. package/dist/cjs/integration-icons/mailchimp.js +19 -0
  59. package/dist/cjs/integration-icons/salesforce.js +17 -0
  60. package/dist/cjs/integration-icons/wisepops.js +20 -0
  61. package/dist/cjs/modal/index.js +22 -19
  62. package/dist/cjs/modal/style.scss +4 -0
  63. package/dist/cjs/newspack-icon/index.js +45 -38
  64. package/dist/cjs/notice/index.js +64 -55
  65. package/dist/cjs/plugin-installer/index.js +259 -253
  66. package/dist/cjs/plugin-settings/SettingsSection.js +66 -60
  67. package/dist/cjs/plugin-settings/index.js +217 -200
  68. package/dist/cjs/plugin-toggle/index.js +192 -199
  69. package/dist/cjs/popover/index.js +41 -28
  70. package/dist/cjs/position-control/index.js +24 -23
  71. package/dist/cjs/progress-bar/index.js +71 -59
  72. package/dist/cjs/progress-bar/index.test.js +62 -68
  73. package/dist/cjs/proxied-imports/router.js +3 -3
  74. package/dist/cjs/radio-control/index.js +40 -27
  75. package/dist/cjs/section-header/index.js +103 -58
  76. package/dist/cjs/section-header/style.scss +31 -11
  77. package/dist/cjs/select-control/ButtonGroupControl.js +26 -21
  78. package/dist/cjs/select-control/GroupedSelectControl.js +41 -35
  79. package/dist/cjs/select-control/index.js +52 -40
  80. package/dist/cjs/settings/MinMaxSetting.js +30 -20
  81. package/dist/cjs/settings/SettingsCard.js +20 -17
  82. package/dist/cjs/settings/SettingsSection.js +22 -21
  83. package/dist/cjs/settings/index.js +5 -5
  84. package/dist/cjs/sortable-newsletter-list-control/index.js +78 -57
  85. package/dist/cjs/steps-list/index.js +44 -34
  86. package/dist/cjs/steps-list-item/index.js +47 -39
  87. package/dist/cjs/style-card/index.js +70 -63
  88. package/dist/cjs/tabbed-navigation/index.js +38 -36
  89. package/dist/cjs/text-control/index.js +27 -25
  90. package/dist/cjs/utils/color.js +4 -4
  91. package/dist/cjs/utils/editor-toolbar-back-button.js +61 -0
  92. package/dist/cjs/utils/index.js +31 -19
  93. package/dist/cjs/utils/style.scss +8 -0
  94. package/dist/cjs/waiting/index.js +48 -37
  95. package/dist/cjs/web-preview/index.js +217 -211
  96. package/dist/cjs/with-wizard/index.js +362 -364
  97. package/dist/cjs/with-wizard/style.scss +4 -54
  98. package/dist/cjs/with-wizard-screen/index.js +54 -58
  99. package/dist/cjs/with-wizard-screen/style.scss +41 -3
  100. package/dist/cjs/wizard/components/WizardError.js +20 -18
  101. package/dist/cjs/wizard/components/WizardSnackbar.js +26 -23
  102. package/dist/cjs/wizard/index.js +176 -114
  103. package/dist/cjs/wizard/store/index.js +171 -123
  104. package/dist/cjs/wizard/store/utils.js +13 -8
  105. package/dist/esm/accordion/index.js +14 -9
  106. package/dist/esm/action-card/index.js +168 -123
  107. package/dist/esm/autocomplete-tokenfield/index.js +248 -222
  108. package/dist/esm/autocomplete-with-latest-posts/index.js +169 -103
  109. package/dist/esm/autocomplete-with-suggestions/index.js +226 -119
  110. package/dist/esm/badge/index.js +5 -5
  111. package/dist/esm/box-contrast/index.js +15 -11
  112. package/dist/esm/button/index.js +39 -21
  113. package/dist/esm/button-props/button-props.js +1 -1
  114. package/dist/esm/card/core-card.js +109 -47
  115. package/dist/esm/card/index.js +69 -54
  116. package/dist/esm/card/style-core.scss +93 -25
  117. package/dist/esm/card/style.scss +2 -2
  118. package/dist/esm/card-feature/index.js +131 -0
  119. package/dist/esm/card-feature/style.scss +75 -0
  120. package/dist/esm/card-form/index.js +134 -0
  121. package/dist/esm/card-form/style.scss +20 -0
  122. package/dist/esm/card-settings-group/index.js +33 -14
  123. package/dist/esm/card-sortable-list/index.js +170 -126
  124. package/dist/esm/category-autocomplete/index.js +168 -140
  125. package/dist/esm/color-picker/index.js +39 -21
  126. package/dist/esm/color-picker/index.test.js +78 -0
  127. package/dist/esm/color-picker/style.scss +11 -13
  128. package/dist/esm/confirm-dialog/index.js +85 -18
  129. package/dist/esm/consts.js +1 -1
  130. package/dist/esm/custom-select-control/index.js +34 -15
  131. package/dist/esm/dataviews/index.js +34 -0
  132. package/dist/esm/dataviews/style.scss +9 -0
  133. package/dist/esm/divider/index.js +24 -16
  134. package/dist/esm/footer/index.js +34 -28
  135. package/dist/esm/form-token-field/index.js +46 -27
  136. package/dist/esm/global-notices/index.js +3 -3
  137. package/dist/esm/grid/index.js +23 -14
  138. package/dist/esm/grid/style.scss +6 -1
  139. package/dist/esm/handoff/index.js +199 -143
  140. package/dist/esm/handoff-message/index.js +10 -6
  141. package/dist/esm/hooks/index.js +8 -6
  142. package/dist/esm/hooks/use-confirm-dialog.js +73 -0
  143. package/dist/esm/hooks/use-unsaved-changes-dialog.js +136 -0
  144. package/dist/esm/hooks/useObjectState.js +19 -9
  145. package/dist/esm/hooks/useObjectState.test.js +54 -32
  146. package/dist/esm/hooks/useOnClickOutside.js +4 -4
  147. package/dist/esm/hooks/usePrompt.js +9 -11
  148. package/dist/esm/image-upload/index.js +110 -111
  149. package/dist/esm/image-upload/index.test.js +11 -13
  150. package/dist/esm/image-upload/style.scss +12 -40
  151. package/dist/esm/index.js +7 -1
  152. package/dist/esm/info-button/index.js +38 -19
  153. package/dist/esm/integration-icons/active-campaign.js +16 -0
  154. package/dist/esm/integration-icons/constant-contact.js +22 -0
  155. package/dist/esm/integration-icons/fundraise-up.js +19 -0
  156. package/dist/esm/integration-icons/index.js +6 -0
  157. package/dist/esm/integration-icons/mailchimp.js +13 -0
  158. package/dist/esm/integration-icons/salesforce.js +11 -0
  159. package/dist/esm/integration-icons/wisepops.js +14 -0
  160. package/dist/esm/modal/index.js +20 -13
  161. package/dist/esm/modal/style.scss +4 -0
  162. package/dist/esm/newspack-icon/index.js +40 -25
  163. package/dist/esm/notice/index.js +59 -42
  164. package/dist/esm/plugin-installer/index.js +255 -243
  165. package/dist/esm/plugin-settings/SettingsSection.js +61 -50
  166. package/dist/esm/plugin-settings/index.js +212 -189
  167. package/dist/esm/plugin-toggle/index.js +187 -190
  168. package/dist/esm/popover/index.js +35 -16
  169. package/dist/esm/position-control/index.js +22 -18
  170. package/dist/esm/progress-bar/index.js +66 -49
  171. package/dist/esm/progress-bar/index.test.js +61 -67
  172. package/dist/esm/radio-control/index.js +34 -15
  173. package/dist/esm/section-header/index.js +102 -57
  174. package/dist/esm/section-header/style.scss +31 -11
  175. package/dist/esm/select-control/ButtonGroupControl.js +23 -18
  176. package/dist/esm/select-control/GroupedSelectControl.js +38 -30
  177. package/dist/esm/select-control/index.js +47 -27
  178. package/dist/esm/settings/MinMaxSetting.js +27 -16
  179. package/dist/esm/settings/SettingsCard.js +18 -13
  180. package/dist/esm/settings/SettingsSection.js +20 -19
  181. package/dist/esm/settings/index.js +3 -3
  182. package/dist/esm/sortable-newsletter-list-control/index.js +74 -53
  183. package/dist/esm/steps-list/index.js +39 -21
  184. package/dist/esm/steps-list-item/index.js +42 -26
  185. package/dist/esm/style-card/index.js +65 -50
  186. package/dist/esm/tabbed-navigation/index.js +35 -33
  187. package/dist/esm/text-control/index.js +25 -19
  188. package/dist/esm/utils/color.js +4 -4
  189. package/dist/esm/utils/editor-toolbar-back-button.js +53 -0
  190. package/dist/esm/utils/index.js +29 -16
  191. package/dist/esm/utils/style.scss +8 -0
  192. package/dist/esm/waiting/index.js +43 -24
  193. package/dist/esm/web-preview/index.js +213 -201
  194. package/dist/esm/with-wizard/index.js +360 -358
  195. package/dist/esm/with-wizard/style.scss +4 -54
  196. package/dist/esm/with-wizard-screen/index.js +48 -46
  197. package/dist/esm/with-wizard-screen/style.scss +41 -3
  198. package/dist/esm/wizard/components/WizardError.js +18 -16
  199. package/dist/esm/wizard/components/WizardSnackbar.js +23 -17
  200. package/dist/esm/wizard/index.js +171 -103
  201. package/dist/esm/wizard/store/index.js +169 -116
  202. package/dist/esm/wizard/store/utils.js +13 -6
  203. package/package.json +30 -16
  204. package/release.config.js +1 -0
  205. package/shared/hooks/use-coauthors.js +195 -27
  206. package/shared/hooks/use-coauthors.test.js +232 -6
  207. package/shared/scss/_mixins.scss +13 -5
  208. package/src/accordion/index.js +8 -7
  209. package/src/action-card/index.js +15 -1
  210. package/src/badge/index.tsx +3 -1
  211. package/src/card/core-card.js +95 -18
  212. package/src/card/index.js +1 -0
  213. package/src/card/style-core.scss +93 -25
  214. package/src/card/style.scss +2 -2
  215. package/src/card-feature/README.md +188 -0
  216. package/src/card-feature/index.tsx +186 -0
  217. package/src/card-feature/style.scss +75 -0
  218. package/src/card-form/README.md +113 -0
  219. package/src/card-form/index.tsx +128 -0
  220. package/src/card-form/style.scss +20 -0
  221. package/src/card-settings-group/index.tsx +28 -3
  222. package/src/card-sortable-list/index.tsx +27 -4
  223. package/src/color-picker/index.js +15 -8
  224. package/src/color-picker/index.test.js +52 -0
  225. package/src/color-picker/style.scss +11 -13
  226. package/src/confirm-dialog/README.md +128 -0
  227. package/src/confirm-dialog/index.tsx +74 -6
  228. package/src/dataviews/index.tsx +34 -0
  229. package/src/dataviews/style.scss +9 -0
  230. package/src/grid/style.scss +6 -1
  231. package/src/handoff/README.md +93 -0
  232. package/src/handoff/index.js +46 -8
  233. package/src/hooks/index.ts +2 -1
  234. package/src/hooks/use-confirm-dialog.tsx +80 -0
  235. package/src/hooks/use-unsaved-changes-dialog.tsx +140 -0
  236. package/src/image-upload/index.js +10 -15
  237. package/src/image-upload/style.scss +12 -40
  238. package/src/index.js +7 -1
  239. package/src/integration-icons/active-campaign.js +14 -0
  240. package/src/integration-icons/constant-contact.js +22 -0
  241. package/src/integration-icons/fundraise-up.js +18 -0
  242. package/src/integration-icons/index.js +6 -0
  243. package/src/integration-icons/mailchimp.js +10 -0
  244. package/src/integration-icons/salesforce.js +10 -0
  245. package/src/integration-icons/wisepops.js +14 -0
  246. package/src/modal/style.scss +4 -0
  247. package/src/plugin-installer/index.js +30 -19
  248. package/src/section-header/index.js +56 -24
  249. package/src/section-header/style.scss +31 -11
  250. package/src/select-control/index.js +4 -0
  251. package/src/utils/editor-toolbar-back-button.tsx +48 -0
  252. package/src/utils/index.js +6 -0
  253. package/src/utils/style.scss +8 -0
  254. package/src/with-wizard/style.scss +4 -54
  255. package/src/with-wizard-screen/style.scss +41 -3
  256. package/src/wizard/index.js +90 -53
  257. package/src/wizard/store/index.js +2 -2
  258. package/dist/cjs/button-card/index.js +0 -72
  259. package/dist/cjs/button-card/style.scss +0 -180
  260. package/dist/esm/button-card/index.js +0 -64
  261. package/dist/esm/button-card/style.scss +0 -180
  262. package/src/button-card/index.js +0 -52
  263. package/src/button-card/style.scss +0 -180
@@ -3,6 +3,7 @@
3
3
  */
4
4
 
5
5
  @use "~@wordpress/base-styles/colors" as wp-colors;
6
+ @use "~@wordpress/base-styles/variables" as wp-vars;
6
7
  @use "../../../colors/colors.module" as colors;
7
8
 
8
9
  .newspack-section-header {
@@ -14,6 +15,9 @@
14
15
  &:not(:first-child) {
15
16
  margin-top: 48px;
16
17
  }
18
+ &:has(> .newspack-section-header--no-margin) {
19
+ margin-top: 0;
20
+ }
17
21
  &.newspack-section-header--has-primary-action {
18
22
  display: flex;
19
23
  flex-direction: column;
@@ -24,18 +28,22 @@
24
28
  }
25
29
  }
26
30
  &.newspack-section-header--has-back-nav {
27
- --back-nav-button-size: 36px;
28
- margin-left: calc(var(--back-nav-button-size) + 8px);
29
31
  @media (min-width: 782px) {
30
- margin-left: 0;
32
+ .newspack-section-header__title-container,
33
+ p {
34
+ max-width: calc(50% - 16px);
35
+ }
31
36
  }
32
37
  }
33
38
  }
34
39
 
35
40
  &__back-nav {
36
- left: calc((var(--back-nav-button-size) + 8px) * -1);
37
- position: absolute;
38
- top: calc(50% - (var(--back-nav-button-size) / 2));
41
+ @media (min-width: 1280px) {
42
+ left: 0;
43
+ position: absolute;
44
+ top: 50%;
45
+ transform: translate(calc(-100% - 8px), -50%);
46
+ }
39
47
  a,
40
48
  button {
41
49
  color: inherit !important;
@@ -77,15 +85,27 @@
77
85
  }
78
86
 
79
87
  &__title-container {
80
- align-items: baseline;
88
+ align-items: center;
81
89
  display: flex;
82
90
  gap: 8px;
83
91
 
92
+ h2 {
93
+ font-size: wp-vars.$font-size-x-large;
94
+ font-weight: wp-vars.$font-weight-medium;
95
+ line-height: wp-vars.$font-line-height-x-large;
96
+ }
97
+
98
+ .newspack-section-header__menu,
99
+ .newspack-section-header__secondary-action,
84
100
  .newspack-badge {
85
- transform: translateY(-4px);
101
+ margin-top: 8px;
86
102
  }
87
103
  }
88
104
 
105
+ &__menu {
106
+ align-self: center;
107
+ }
108
+
89
109
  &__primary-action {
90
110
  @media (min-width: 782px) {
91
111
  display: flex;
@@ -142,9 +162,9 @@
142
162
  }
143
163
  }
144
164
  h1 {
145
- font-size: 1.25rem;
146
- font-weight: 500;
147
- line-height: 1.5;
165
+ font-size: wp-vars.$font-size-x-large;
166
+ font-weight: wp-vars.$font-weight-medium;
167
+ line-height: wp-vars.$font-line-height-x-large;
148
168
  }
149
169
  }
150
170
  }
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports["default"] = void 0;
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _icons = require("@wordpress/icons");
10
10
  var _components = require("@wordpress/components");
@@ -22,37 +22,42 @@ var _jsxRuntime = require("react/jsx-runtime");
22
22
  * Internal dependencies
23
23
  */
24
24
 
25
- const ButtonGroupControl = ({
26
- buttonOptions,
27
- buttonSmall,
28
- className,
29
- help,
30
- hideLabelFromVision,
31
- label,
32
- onChange,
33
- value
34
- }) => {
35
- const id = _.hooks.useUniqueId('button-group');
25
+ var ButtonGroupControl = function ButtonGroupControl(_ref) {
26
+ var buttonOptions = _ref.buttonOptions,
27
+ buttonSmall = _ref.buttonSmall,
28
+ className = _ref.className,
29
+ help = _ref.help,
30
+ hideLabelFromVision = _ref.hideLabelFromVision,
31
+ label = _ref.label,
32
+ onChange = _ref.onChange,
33
+ value = _ref.value;
34
+ var id = _.hooks.useUniqueId('button-group');
36
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl, {
37
36
  label: label,
38
37
  help: help,
39
38
  hideLabelFromVision: hideLabelFromVision,
40
39
  id: id.current,
41
- className: (0, _classnames.default)(className, 'components-select-control'),
40
+ className: (0, _classnames["default"])(className, 'components-select-control'),
42
41
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ButtonGroup, {
43
- children: buttonOptions.map(option => {
44
- const isSelected = value === option.value;
45
- let Label = () => option.label;
42
+ children: buttonOptions.map(function (option) {
43
+ var isSelected = value === option.value;
44
+ var Label = function Label() {
45
+ return option.label;
46
+ };
46
47
  if (option.icon) {
47
48
  // eslint-disable-next-line react/display-name
48
- Label = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
49
- icon: option.icon
50
- });
49
+ Label = function Label() {
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
51
+ icon: option.icon
52
+ });
53
+ };
51
54
  }
52
55
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
53
56
  variant: isSelected ? 'primary' : null,
54
57
  isPressed: isSelected,
55
- onClick: () => onChange(option.value),
58
+ onClick: function onClick() {
59
+ return onChange(option.value);
60
+ },
56
61
  isSmall: buttonSmall,
57
62
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, {})
58
63
  }, option.value);
@@ -60,4 +65,4 @@ const ButtonGroupControl = ({
60
65
  })
61
66
  });
62
67
  };
63
- var _default = exports.default = ButtonGroupControl;
68
+ var _default = exports["default"] = ButtonGroupControl;
@@ -4,7 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = GroupedSelectControl;
7
+ exports["default"] = GroupedSelectControl;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
10
  var _components = require("@wordpress/components");
9
11
  var _i18n = require("@wordpress/i18n");
10
12
  var _icons = require("@wordpress/icons");
@@ -13,66 +15,70 @@ var _find = _interopRequireDefault(require("lodash/find"));
13
15
  var _some = _interopRequireDefault(require("lodash/some"));
14
16
  var _ = require("..");
15
17
  var _jsxRuntime = require("react/jsx-runtime");
18
+ var _excluded = ["help", "label", "onChange", "optgroups", "className", "hideLabelFromVision"];
16
19
  /**
17
20
  * WordPress dependencies
18
21
  */
19
-
20
22
  /**
21
23
  * External dependencies
22
24
  */
23
-
24
25
  /**
25
26
  * Internal dependencies
26
27
  */
27
-
28
28
  /**
29
29
  * SelectControl with optgroup support
30
- */function GroupedSelectControl({
31
- help,
32
- label,
33
- onChange,
34
- optgroups = [],
35
- className,
36
- hideLabelFromVision,
37
- ...props
38
- }) {
39
- const onChangeValue = event => {
40
- const {
41
- value
42
- } = event.target;
43
- const optgroup = (0, _find.default)(optgroups, group => (0, _some.default)(group.options, ['value', value]));
30
+ */
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ function GroupedSelectControl(_ref) {
34
+ var help = _ref.help,
35
+ label = _ref.label,
36
+ onChange = _ref.onChange,
37
+ _ref$optgroups = _ref.optgroups,
38
+ optgroups = _ref$optgroups === void 0 ? [] : _ref$optgroups,
39
+ className = _ref.className,
40
+ hideLabelFromVision = _ref.hideLabelFromVision,
41
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
42
+ var onChangeValue = function onChangeValue(event) {
43
+ var value = event.target.value;
44
+ var optgroup = (0, _find["default"])(optgroups, function (group) {
45
+ return (0, _some["default"])(group.options, ['value', value]);
46
+ });
44
47
  onChange(value, optgroup);
45
48
  };
46
- const id = _.hooks.useUniqueId('group-select');
49
+ var id = _.hooks.useUniqueId('group-select');
47
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl, {
48
51
  label: label,
49
52
  hideLabelFromVision: hideLabelFromVision,
50
53
  id: id,
51
54
  help: help,
52
- className: (0, _classnames.default)(className, 'components-select-control'),
55
+ className: (0, _classnames["default"])(className, 'components-select-control'),
53
56
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
54
57
  className: "relative",
55
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("select", {
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("select", _objectSpread(_objectSpread({
56
59
  id: id,
57
60
  className: "components-select-control__input",
58
61
  onChange: onChangeValue,
59
- "aria-describedby": !!help ? `${id}__help` : undefined,
60
- ...props,
62
+ "aria-describedby": !!help ? "".concat(id, "__help") : undefined
63
+ }, props), {}, {
61
64
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
62
65
  value: "",
63
66
  children: (0, _i18n.__)('-- Select --', 'newspack-plugin')
64
- }), optgroups.map(({
65
- label: optgroupLabel,
66
- options
67
- }, optgroupIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)("optgroup", {
68
- label: optgroupLabel,
69
- children: options.map((option, optionIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
70
- value: option.value,
71
- disabled: option.disabled,
72
- children: option.label
73
- }, `${option.label}-${option.value}-${optionIndex}`))
74
- }, optgroupIndex))]
75
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
67
+ }), optgroups.map(function (_ref2, optgroupIndex) {
68
+ var optgroupLabel = _ref2.label,
69
+ options = _ref2.options;
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("optgroup", {
71
+ label: optgroupLabel,
72
+ children: options.map(function (option, optionIndex) {
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
74
+ value: option.value,
75
+ disabled: option.disabled,
76
+ children: option.label
77
+ }, "".concat(option.label, "-").concat(option.value, "-").concat(optionIndex));
78
+ })
79
+ }, optgroupIndex);
80
+ })]
81
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
76
82
  className: "components-select-control__arrow-wrapper",
77
83
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
78
84
  icon: _icons.chevronDown,
@@ -4,7 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports["default"] = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
8
15
  var _components = require("@wordpress/components");
9
16
  var _element = require("@wordpress/element");
10
17
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -12,48 +19,53 @@ require("./style.scss");
12
19
  var _GroupedSelectControl = _interopRequireDefault(require("./GroupedSelectControl"));
13
20
  var _ButtonGroupControl = _interopRequireDefault(require("./ButtonGroupControl"));
14
21
  var _jsxRuntime = require("react/jsx-runtime");
15
- /**
22
+ var _excluded = ["className", "optgroups", "buttonOptions", "buttonSmall"];
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
26
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
16
27
  * Select Control
17
- */
18
-
19
- /**
28
+ *
29
+ * @deprecated For new features, use the core `SelectControl` (and `__experimentalToggleGroupControl` for
30
+ * grouped/button-style selections) from `@wordpress/components` instead of this wrapper. This component
31
+ * is kept only for existing usages and should not be used in new code.
32
+ */ /**
20
33
  * WordPress dependencies
21
- */
22
-
23
- /**
34
+ */ /**
24
35
  * External dependencies
25
- */
26
-
27
- /**
36
+ */ /**
28
37
  * Internal dependencies
29
38
  */
30
-
31
- class SelectControl extends _element.Component {
32
- /**
33
- * Render.
34
- */
35
- render() {
36
- const {
37
- className,
38
- optgroups,
39
- buttonOptions,
40
- buttonSmall,
41
- ...otherProps
42
- } = this.props;
43
- const classes = (0, _classnames.default)('newspack-select-control', optgroups && 'newspack-grouped-select-control', buttonOptions && 'newspack-buttons-select-control', className);
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
- className: classes,
46
- children: optgroups ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupedSelectControl.default, {
47
- optgroups: optgroups,
48
- ...otherProps
49
- }) : buttonOptions ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonGroupControl.default, {
50
- buttonOptions: buttonOptions,
51
- buttonSmall: buttonSmall,
52
- ...otherProps
53
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
54
- ...otherProps
55
- })
56
- });
39
+ var SelectControl = /*#__PURE__*/function (_Component) {
40
+ function SelectControl() {
41
+ (0, _classCallCheck2["default"])(this, SelectControl);
42
+ return _callSuper(this, SelectControl, arguments);
57
43
  }
58
- }
59
- var _default = exports.default = SelectControl;
44
+ (0, _inherits2["default"])(SelectControl, _Component);
45
+ return (0, _createClass2["default"])(SelectControl, [{
46
+ key: "render",
47
+ value:
48
+ /**
49
+ * Render.
50
+ */
51
+ function render() {
52
+ var _this$props = this.props,
53
+ className = _this$props.className,
54
+ optgroups = _this$props.optgroups,
55
+ buttonOptions = _this$props.buttonOptions,
56
+ buttonSmall = _this$props.buttonSmall,
57
+ otherProps = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
58
+ var classes = (0, _classnames["default"])('newspack-select-control', optgroups && 'newspack-grouped-select-control', buttonOptions && 'newspack-buttons-select-control', className);
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
+ className: classes,
61
+ children: optgroups ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupedSelectControl["default"], _objectSpread({
62
+ optgroups: optgroups
63
+ }, otherProps)) : buttonOptions ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonGroupControl["default"], _objectSpread({
64
+ buttonOptions: buttonOptions,
65
+ buttonSmall: buttonSmall
66
+ }, otherProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, _objectSpread({}, otherProps))
67
+ });
68
+ }
69
+ }]);
70
+ }(_element.Component);
71
+ var _default = exports["default"] = SelectControl;
@@ -1,60 +1,70 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.default = void 0;
7
+ exports["default"] = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
7
10
  var _i18n = require("@wordpress/i18n");
8
11
  var _components = require("@wordpress/components");
9
12
  var _ = require("../");
10
13
  var _jsxRuntime = require("react/jsx-runtime");
14
+ var _excluded = ["min", "max", "onChangeMin", "onChangeMax", "minPlaceholder", "maxPlaceholder"];
11
15
  /**
12
16
  * WordPress dependencies.
13
17
  */
14
-
15
18
  /**
16
19
  * Internal dependencies.
17
20
  */
18
-
19
- const MinMaxSetting = ({
20
- min,
21
- max,
22
- onChangeMin,
23
- onChangeMax,
24
- minPlaceholder,
25
- maxPlaceholder,
26
- ...props
27
- }) => {
28
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
29
- ...props,
21
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
+ var MinMaxSetting = function MinMaxSetting(_ref) {
24
+ var min = _ref.min,
25
+ max = _ref.max,
26
+ onChangeMin = _ref.onChangeMin,
27
+ onChangeMax = _ref.onChangeMax,
28
+ minPlaceholder = _ref.minPlaceholder,
29
+ maxPlaceholder = _ref.maxPlaceholder,
30
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, props), {}, {
30
32
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
31
33
  className: "newspack-settings__min-max",
32
34
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
33
35
  checked: min > 0,
34
- onChange: value => onChangeMin(value ? 1 : 0),
36
+ onChange: function onChange(value) {
37
+ return onChangeMin(value ? 1 : 0);
38
+ },
35
39
  label: (0, _i18n.__)('Min', 'newspack-plugin')
36
40
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_.TextControl, {
37
41
  "data-testid": "min",
38
42
  type: "number",
39
43
  value: min,
40
44
  placeholder: minPlaceholder,
41
- onChange: value => onChangeMin(value > 0 ? value : 0)
45
+ onChange: function onChange(value) {
46
+ return onChangeMin(value > 0 ? value : 0);
47
+ }
42
48
  })]
43
49
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
44
50
  className: "newspack-settings__min-max",
45
51
  "data-testid": "max",
46
52
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
47
53
  checked: max > 0,
48
- onChange: value => onChangeMax(value ? min || 1 : 0),
54
+ onChange: function onChange(value) {
55
+ return onChangeMax(value ? min || 1 : 0);
56
+ },
49
57
  label: (0, _i18n.__)('Max', 'newspack-plugin')
50
58
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_.TextControl, {
51
59
  "data-testid": "max",
52
60
  type: "number",
53
61
  value: max,
54
62
  placeholder: maxPlaceholder,
55
- onChange: value => onChangeMax(value > 0 ? value : 0)
63
+ onChange: function onChange(value) {
64
+ return onChangeMax(value > 0 ? value : 0);
65
+ }
56
66
  })]
57
67
  })]
58
- });
68
+ }));
59
69
  };
60
- var _default = exports.default = MinMaxSetting;
70
+ var _default = exports["default"] = MinMaxSetting;
@@ -4,30 +4,33 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports["default"] = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
10
  var _classnames = _interopRequireDefault(require("classnames"));
9
11
  var _ = require("../");
10
12
  var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["children", "className", "columns", "gutter", "noBorder", "rowGap"];
11
14
  /**
12
15
  * External dependencies.
13
16
  */
14
-
15
17
  /**
16
18
  * Internal dependencies.
17
19
  */
18
-
19
- const SettingsCard = ({
20
- children,
21
- className,
22
- columns = 3,
23
- gutter = 32,
24
- noBorder,
25
- rowGap,
26
- ...props
27
- }) => {
28
- const classes = (0, _classnames.default)('newspack-settings__card', noBorder && 'newspack-settings__no-border', className);
29
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.ActionCard, {
30
- ...props,
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ var SettingsCard = function SettingsCard(_ref) {
23
+ var children = _ref.children,
24
+ className = _ref.className,
25
+ _ref$columns = _ref.columns,
26
+ columns = _ref$columns === void 0 ? 3 : _ref$columns,
27
+ _ref$gutter = _ref.gutter,
28
+ gutter = _ref$gutter === void 0 ? 32 : _ref$gutter,
29
+ noBorder = _ref.noBorder,
30
+ rowGap = _ref.rowGap,
31
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
32
+ var classes = (0, _classnames["default"])('newspack-settings__card', noBorder && 'newspack-settings__no-border', className);
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.ActionCard, _objectSpread(_objectSpread({}, props), {}, {
31
34
  className: classes,
32
35
  notificationLevel: "info",
33
36
  noBorder: noBorder,
@@ -37,6 +40,6 @@ const SettingsCard = ({
37
40
  rowGap: rowGap,
38
41
  children: children
39
42
  })
40
- });
43
+ }));
41
44
  };
42
- var _default = exports.default = SettingsCard;
45
+ var _default = exports["default"] = SettingsCard;
@@ -3,31 +3,32 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports["default"] = void 0;
7
7
  var _ = require("../");
8
8
  var _jsxRuntime = require("react/jsx-runtime");
9
9
  /**
10
10
  * Internal dependencies.
11
11
  */
12
12
 
13
- const SettingSection = ({
14
- title,
15
- description,
16
- children
17
- }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_.Grid, {
18
- columns: 1,
19
- gutter: 8,
20
- className: "newspack-settings__section",
21
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
22
- className: "newspack-settings__section__title",
23
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
24
- children: title
25
- }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.InfoButton, {
26
- text: description
13
+ var SettingSection = function SettingSection(_ref) {
14
+ var title = _ref.title,
15
+ description = _ref.description,
16
+ children = _ref.children;
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_.Grid, {
18
+ columns: 1,
19
+ gutter: 8,
20
+ className: "newspack-settings__section",
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
22
+ className: "newspack-settings__section__title",
23
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
24
+ children: title
25
+ }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_.InfoButton, {
26
+ text: description
27
+ })]
28
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
29
+ className: "newspack-settings__section__content",
30
+ children: children
27
31
  })]
28
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
29
- className: "newspack-settings__section__content",
30
- children: children
31
- })]
32
- });
33
- var _default = exports.default = SettingSection;
32
+ });
33
+ };
34
+ var _default = exports["default"] = SettingSection;
@@ -4,13 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports["default"] = void 0;
8
8
  var _SettingsCard = _interopRequireDefault(require("./SettingsCard"));
9
9
  var _SettingsSection = _interopRequireDefault(require("./SettingsSection"));
10
10
  var _MinMaxSetting = _interopRequireDefault(require("./MinMaxSetting"));
11
11
  require("./style.scss");
12
- var _default = exports.default = {
13
- SettingsCard: _SettingsCard.default,
14
- SettingsSection: _SettingsSection.default,
15
- MinMaxSetting: _MinMaxSetting.default
12
+ var _default = exports["default"] = {
13
+ SettingsCard: _SettingsCard["default"],
14
+ SettingsSection: _SettingsSection["default"],
15
+ MinMaxSetting: _MinMaxSetting["default"]
16
16
  };