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.
- package/CHANGELOG.md +11 -0
- package/DEVELOPMENT.md +868 -0
- package/colors/colors.module.scss +52 -2
- package/copy-styles.js +3 -2
- package/dist/cjs/accordion/index.js +17 -12
- package/dist/cjs/action-card/index.js +176 -139
- package/dist/cjs/autocomplete-tokenfield/index.js +254 -234
- package/dist/cjs/autocomplete-with-latest-posts/index.js +172 -110
- package/dist/cjs/autocomplete-with-suggestions/index.js +229 -126
- package/dist/cjs/badge/index.js +7 -7
- package/dist/cjs/box-contrast/index.js +19 -15
- package/dist/cjs/button/index.js +41 -26
- package/dist/cjs/button-props/button-props.js +5 -5
- package/dist/cjs/button-props/index.js +2 -2
- package/dist/cjs/card/core-card.js +110 -52
- package/dist/cjs/card/index.js +74 -67
- package/dist/cjs/card/style-core.scss +93 -25
- package/dist/cjs/card/style.scss +2 -2
- package/dist/cjs/card-feature/index.js +141 -0
- package/dist/cjs/card-feature/style.scss +75 -0
- package/dist/cjs/card-form/index.js +144 -0
- package/dist/cjs/card-form/style.scss +20 -0
- package/dist/cjs/card-settings-group/index.js +36 -16
- package/dist/cjs/card-sortable-list/index.js +176 -140
- package/dist/cjs/category-autocomplete/index.js +175 -155
- package/dist/cjs/color-picker/index.js +41 -23
- package/dist/cjs/color-picker/index.test.js +82 -0
- package/dist/cjs/color-picker/style.scss +11 -13
- package/dist/cjs/confirm-dialog/index.js +86 -22
- package/dist/cjs/consts.js +1 -1
- package/dist/cjs/custom-select-control/index.js +39 -28
- package/dist/cjs/dataviews/index.js +38 -0
- package/dist/cjs/dataviews/style.scss +9 -0
- package/dist/cjs/divider/index.js +26 -21
- package/dist/cjs/footer/index.js +36 -30
- package/dist/cjs/form-token-field/index.js +51 -40
- package/dist/cjs/global-notices/index.js +5 -5
- package/dist/cjs/grid/index.js +25 -19
- package/dist/cjs/grid/style.scss +6 -1
- package/dist/cjs/handoff/index.js +204 -156
- package/dist/cjs/handoff-message/index.js +12 -7
- package/dist/cjs/hooks/index.js +10 -8
- package/dist/cjs/hooks/use-confirm-dialog.js +79 -0
- package/dist/cjs/hooks/use-unsaved-changes-dialog.js +144 -0
- package/dist/cjs/hooks/useObjectState.js +21 -12
- package/dist/cjs/hooks/useObjectState.test.js +55 -33
- package/dist/cjs/hooks/useOnClickOutside.js +6 -6
- package/dist/cjs/hooks/usePrompt.js +10 -13
- package/dist/cjs/image-upload/index.js +114 -123
- package/dist/cjs/image-upload/index.test.js +11 -13
- package/dist/cjs/image-upload/style.scss +12 -40
- package/dist/cjs/index.js +136 -104
- package/dist/cjs/info-button/index.js +43 -32
- package/dist/cjs/integration-icons/active-campaign.js +22 -0
- package/dist/cjs/integration-icons/constant-contact.js +28 -0
- package/dist/cjs/integration-icons/fundraise-up.js +25 -0
- package/dist/cjs/integration-icons/index.js +48 -0
- package/dist/cjs/integration-icons/mailchimp.js +19 -0
- package/dist/cjs/integration-icons/salesforce.js +17 -0
- package/dist/cjs/integration-icons/wisepops.js +20 -0
- package/dist/cjs/modal/index.js +22 -19
- package/dist/cjs/modal/style.scss +4 -0
- package/dist/cjs/newspack-icon/index.js +45 -38
- package/dist/cjs/notice/index.js +64 -55
- package/dist/cjs/plugin-installer/index.js +259 -253
- package/dist/cjs/plugin-settings/SettingsSection.js +66 -60
- package/dist/cjs/plugin-settings/index.js +217 -200
- package/dist/cjs/plugin-toggle/index.js +192 -199
- package/dist/cjs/popover/index.js +41 -28
- package/dist/cjs/position-control/index.js +24 -23
- package/dist/cjs/progress-bar/index.js +71 -59
- package/dist/cjs/progress-bar/index.test.js +62 -68
- package/dist/cjs/proxied-imports/router.js +3 -3
- package/dist/cjs/radio-control/index.js +40 -27
- package/dist/cjs/section-header/index.js +103 -58
- package/dist/cjs/section-header/style.scss +31 -11
- package/dist/cjs/select-control/ButtonGroupControl.js +26 -21
- package/dist/cjs/select-control/GroupedSelectControl.js +41 -35
- package/dist/cjs/select-control/index.js +52 -40
- package/dist/cjs/settings/MinMaxSetting.js +30 -20
- package/dist/cjs/settings/SettingsCard.js +20 -17
- package/dist/cjs/settings/SettingsSection.js +22 -21
- package/dist/cjs/settings/index.js +5 -5
- package/dist/cjs/sortable-newsletter-list-control/index.js +78 -57
- package/dist/cjs/steps-list/index.js +44 -34
- package/dist/cjs/steps-list-item/index.js +47 -39
- package/dist/cjs/style-card/index.js +70 -63
- package/dist/cjs/tabbed-navigation/index.js +38 -36
- package/dist/cjs/text-control/index.js +27 -25
- package/dist/cjs/utils/color.js +4 -4
- package/dist/cjs/utils/editor-toolbar-back-button.js +61 -0
- package/dist/cjs/utils/index.js +31 -19
- package/dist/cjs/utils/style.scss +8 -0
- package/dist/cjs/waiting/index.js +48 -37
- package/dist/cjs/web-preview/index.js +217 -211
- package/dist/cjs/with-wizard/index.js +362 -364
- package/dist/cjs/with-wizard/style.scss +4 -54
- package/dist/cjs/with-wizard-screen/index.js +54 -58
- package/dist/cjs/with-wizard-screen/style.scss +41 -3
- package/dist/cjs/wizard/components/WizardError.js +20 -18
- package/dist/cjs/wizard/components/WizardSnackbar.js +26 -23
- package/dist/cjs/wizard/index.js +176 -114
- package/dist/cjs/wizard/store/index.js +171 -123
- package/dist/cjs/wizard/store/utils.js +13 -8
- package/dist/esm/accordion/index.js +14 -9
- package/dist/esm/action-card/index.js +168 -123
- package/dist/esm/autocomplete-tokenfield/index.js +248 -222
- package/dist/esm/autocomplete-with-latest-posts/index.js +169 -103
- package/dist/esm/autocomplete-with-suggestions/index.js +226 -119
- package/dist/esm/badge/index.js +5 -5
- package/dist/esm/box-contrast/index.js +15 -11
- package/dist/esm/button/index.js +39 -21
- package/dist/esm/button-props/button-props.js +1 -1
- package/dist/esm/card/core-card.js +109 -47
- package/dist/esm/card/index.js +69 -54
- package/dist/esm/card/style-core.scss +93 -25
- package/dist/esm/card/style.scss +2 -2
- package/dist/esm/card-feature/index.js +131 -0
- package/dist/esm/card-feature/style.scss +75 -0
- package/dist/esm/card-form/index.js +134 -0
- package/dist/esm/card-form/style.scss +20 -0
- package/dist/esm/card-settings-group/index.js +33 -14
- package/dist/esm/card-sortable-list/index.js +170 -126
- package/dist/esm/category-autocomplete/index.js +168 -140
- package/dist/esm/color-picker/index.js +39 -21
- package/dist/esm/color-picker/index.test.js +78 -0
- package/dist/esm/color-picker/style.scss +11 -13
- package/dist/esm/confirm-dialog/index.js +85 -18
- package/dist/esm/consts.js +1 -1
- package/dist/esm/custom-select-control/index.js +34 -15
- package/dist/esm/dataviews/index.js +34 -0
- package/dist/esm/dataviews/style.scss +9 -0
- package/dist/esm/divider/index.js +24 -16
- package/dist/esm/footer/index.js +34 -28
- package/dist/esm/form-token-field/index.js +46 -27
- package/dist/esm/global-notices/index.js +3 -3
- package/dist/esm/grid/index.js +23 -14
- package/dist/esm/grid/style.scss +6 -1
- package/dist/esm/handoff/index.js +199 -143
- package/dist/esm/handoff-message/index.js +10 -6
- package/dist/esm/hooks/index.js +8 -6
- package/dist/esm/hooks/use-confirm-dialog.js +73 -0
- package/dist/esm/hooks/use-unsaved-changes-dialog.js +136 -0
- package/dist/esm/hooks/useObjectState.js +19 -9
- package/dist/esm/hooks/useObjectState.test.js +54 -32
- package/dist/esm/hooks/useOnClickOutside.js +4 -4
- package/dist/esm/hooks/usePrompt.js +9 -11
- package/dist/esm/image-upload/index.js +110 -111
- package/dist/esm/image-upload/index.test.js +11 -13
- package/dist/esm/image-upload/style.scss +12 -40
- package/dist/esm/index.js +7 -1
- package/dist/esm/info-button/index.js +38 -19
- package/dist/esm/integration-icons/active-campaign.js +16 -0
- package/dist/esm/integration-icons/constant-contact.js +22 -0
- package/dist/esm/integration-icons/fundraise-up.js +19 -0
- package/dist/esm/integration-icons/index.js +6 -0
- package/dist/esm/integration-icons/mailchimp.js +13 -0
- package/dist/esm/integration-icons/salesforce.js +11 -0
- package/dist/esm/integration-icons/wisepops.js +14 -0
- package/dist/esm/modal/index.js +20 -13
- package/dist/esm/modal/style.scss +4 -0
- package/dist/esm/newspack-icon/index.js +40 -25
- package/dist/esm/notice/index.js +59 -42
- package/dist/esm/plugin-installer/index.js +255 -243
- package/dist/esm/plugin-settings/SettingsSection.js +61 -50
- package/dist/esm/plugin-settings/index.js +212 -189
- package/dist/esm/plugin-toggle/index.js +187 -190
- package/dist/esm/popover/index.js +35 -16
- package/dist/esm/position-control/index.js +22 -18
- package/dist/esm/progress-bar/index.js +66 -49
- package/dist/esm/progress-bar/index.test.js +61 -67
- package/dist/esm/radio-control/index.js +34 -15
- package/dist/esm/section-header/index.js +102 -57
- package/dist/esm/section-header/style.scss +31 -11
- package/dist/esm/select-control/ButtonGroupControl.js +23 -18
- package/dist/esm/select-control/GroupedSelectControl.js +38 -30
- package/dist/esm/select-control/index.js +47 -27
- package/dist/esm/settings/MinMaxSetting.js +27 -16
- package/dist/esm/settings/SettingsCard.js +18 -13
- package/dist/esm/settings/SettingsSection.js +20 -19
- package/dist/esm/settings/index.js +3 -3
- package/dist/esm/sortable-newsletter-list-control/index.js +74 -53
- package/dist/esm/steps-list/index.js +39 -21
- package/dist/esm/steps-list-item/index.js +42 -26
- package/dist/esm/style-card/index.js +65 -50
- package/dist/esm/tabbed-navigation/index.js +35 -33
- package/dist/esm/text-control/index.js +25 -19
- package/dist/esm/utils/color.js +4 -4
- package/dist/esm/utils/editor-toolbar-back-button.js +53 -0
- package/dist/esm/utils/index.js +29 -16
- package/dist/esm/utils/style.scss +8 -0
- package/dist/esm/waiting/index.js +43 -24
- package/dist/esm/web-preview/index.js +213 -201
- package/dist/esm/with-wizard/index.js +360 -358
- package/dist/esm/with-wizard/style.scss +4 -54
- package/dist/esm/with-wizard-screen/index.js +48 -46
- package/dist/esm/with-wizard-screen/style.scss +41 -3
- package/dist/esm/wizard/components/WizardError.js +18 -16
- package/dist/esm/wizard/components/WizardSnackbar.js +23 -17
- package/dist/esm/wizard/index.js +171 -103
- package/dist/esm/wizard/store/index.js +169 -116
- package/dist/esm/wizard/store/utils.js +13 -6
- package/package.json +30 -16
- package/release.config.js +1 -0
- package/shared/hooks/use-coauthors.js +195 -27
- package/shared/hooks/use-coauthors.test.js +232 -6
- package/shared/scss/_mixins.scss +13 -5
- package/src/accordion/index.js +8 -7
- package/src/action-card/index.js +15 -1
- package/src/badge/index.tsx +3 -1
- package/src/card/core-card.js +95 -18
- package/src/card/index.js +1 -0
- package/src/card/style-core.scss +93 -25
- package/src/card/style.scss +2 -2
- package/src/card-feature/README.md +188 -0
- package/src/card-feature/index.tsx +186 -0
- package/src/card-feature/style.scss +75 -0
- package/src/card-form/README.md +113 -0
- package/src/card-form/index.tsx +128 -0
- package/src/card-form/style.scss +20 -0
- package/src/card-settings-group/index.tsx +28 -3
- package/src/card-sortable-list/index.tsx +27 -4
- package/src/color-picker/index.js +15 -8
- package/src/color-picker/index.test.js +52 -0
- package/src/color-picker/style.scss +11 -13
- package/src/confirm-dialog/README.md +128 -0
- package/src/confirm-dialog/index.tsx +74 -6
- package/src/dataviews/index.tsx +34 -0
- package/src/dataviews/style.scss +9 -0
- package/src/grid/style.scss +6 -1
- package/src/handoff/README.md +93 -0
- package/src/handoff/index.js +46 -8
- package/src/hooks/index.ts +2 -1
- package/src/hooks/use-confirm-dialog.tsx +80 -0
- package/src/hooks/use-unsaved-changes-dialog.tsx +140 -0
- package/src/image-upload/index.js +10 -15
- package/src/image-upload/style.scss +12 -40
- package/src/index.js +7 -1
- package/src/integration-icons/active-campaign.js +14 -0
- package/src/integration-icons/constant-contact.js +22 -0
- package/src/integration-icons/fundraise-up.js +18 -0
- package/src/integration-icons/index.js +6 -0
- package/src/integration-icons/mailchimp.js +10 -0
- package/src/integration-icons/salesforce.js +10 -0
- package/src/integration-icons/wisepops.js +14 -0
- package/src/modal/style.scss +4 -0
- package/src/plugin-installer/index.js +30 -19
- package/src/section-header/index.js +56 -24
- package/src/section-header/style.scss +31 -11
- package/src/select-control/index.js +4 -0
- package/src/utils/editor-toolbar-back-button.tsx +48 -0
- package/src/utils/index.js +6 -0
- package/src/utils/style.scss +8 -0
- package/src/with-wizard/style.scss +4 -54
- package/src/with-wizard-screen/style.scss +41 -3
- package/src/wizard/index.js +90 -53
- package/src/wizard/store/index.js +2 -2
- package/dist/cjs/button-card/index.js +0 -72
- package/dist/cjs/button-card/style.scss +0 -180
- package/dist/esm/button-card/index.js +0 -64
- package/dist/esm/button-card/style.scss +0 -180
- package/src/button-card/index.js +0 -52
- package/src/button-card/style.scss +0 -180
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
|
+
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; }
|
|
6
|
+
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) { _defineProperty(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; }
|
|
7
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
8
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
1
9
|
/**
|
|
2
10
|
* WordPress dependencies
|
|
3
11
|
*/
|
|
@@ -14,44 +22,61 @@ import { addQueryArgs } from '@wordpress/url';
|
|
|
14
22
|
import { AutocompleteTokenField } from '../';
|
|
15
23
|
import './style.scss';
|
|
16
24
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
|
-
|
|
18
|
-
fetchSavedPosts =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
25
|
+
var AutocompleteWithSuggestions = function AutocompleteWithSuggestions(_ref) {
|
|
26
|
+
var _ref$fetchSavedPosts = _ref.fetchSavedPosts,
|
|
27
|
+
fetchSavedPosts = _ref$fetchSavedPosts === void 0 ? false : _ref$fetchSavedPosts,
|
|
28
|
+
_ref$fetchSuggestions = _ref.fetchSuggestions,
|
|
29
|
+
fetchSuggestions = _ref$fetchSuggestions === void 0 ? false : _ref$fetchSuggestions,
|
|
30
|
+
_ref$help = _ref.help,
|
|
31
|
+
help = _ref$help === void 0 ? __('Begin typing search term, click autocomplete result to select.', 'newspack-plugin') : _ref$help,
|
|
32
|
+
_ref$hideHelp = _ref.hideHelp,
|
|
33
|
+
hideHelp = _ref$hideHelp === void 0 ? false : _ref$hideHelp,
|
|
34
|
+
_ref$label = _ref.label,
|
|
35
|
+
label = _ref$label === void 0 ? __('Search', 'newspack-plugin') : _ref$label,
|
|
36
|
+
_ref$maxItemsToSugges = _ref.maxItemsToSuggest,
|
|
37
|
+
maxItemsToSuggest = _ref$maxItemsToSugges === void 0 ? 0 : _ref$maxItemsToSugges,
|
|
38
|
+
_ref$multiSelect = _ref.multiSelect,
|
|
39
|
+
multiSelect = _ref$multiSelect === void 0 ? false : _ref$multiSelect,
|
|
40
|
+
_ref$onChange = _ref.onChange,
|
|
41
|
+
onChange = _ref$onChange === void 0 ? false : _ref$onChange,
|
|
42
|
+
_ref$onPostTypeChange = _ref.onPostTypeChange,
|
|
43
|
+
onPostTypeChange = _ref$onPostTypeChange === void 0 ? false : _ref$onPostTypeChange,
|
|
44
|
+
_ref$postTypes = _ref.postTypes,
|
|
45
|
+
postTypes = _ref$postTypes === void 0 ? [{
|
|
46
|
+
slug: 'post',
|
|
47
|
+
label: 'Post'
|
|
48
|
+
}] : _ref$postTypes,
|
|
49
|
+
_ref$postTypeLabel = _ref.postTypeLabel,
|
|
50
|
+
postTypeLabel = _ref$postTypeLabel === void 0 ? __('item', 'newspack-plugin') : _ref$postTypeLabel,
|
|
51
|
+
_ref$postTypeLabelPlu = _ref.postTypeLabelPlural,
|
|
52
|
+
postTypeLabelPlural = _ref$postTypeLabelPlu === void 0 ? __('items', 'newspack-plugin') : _ref$postTypeLabelPlu,
|
|
53
|
+
_ref$selectedItems = _ref.selectedItems,
|
|
54
|
+
selectedItems = _ref$selectedItems === void 0 ? [] : _ref$selectedItems,
|
|
55
|
+
_ref$selectedPost = _ref.selectedPost,
|
|
56
|
+
selectedPost = _ref$selectedPost === void 0 ? 0 : _ref$selectedPost,
|
|
57
|
+
_ref$suggestionsToFet = _ref.suggestionsToFetch,
|
|
58
|
+
suggestionsToFetch = _ref$suggestionsToFet === void 0 ? 10 : _ref$suggestionsToFet;
|
|
59
|
+
var _useState = useState(true),
|
|
60
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
61
|
+
isLoading = _useState2[0],
|
|
62
|
+
setIsLoading = _useState2[1];
|
|
63
|
+
var _useState3 = useState(false),
|
|
64
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
65
|
+
isLoadingMore = _useState4[0],
|
|
66
|
+
setIsLoadingMore = _useState4[1];
|
|
67
|
+
var _useState5 = useState([]),
|
|
68
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
69
|
+
suggestions = _useState6[0],
|
|
70
|
+
setSuggestions = _useState6[1];
|
|
71
|
+
var _useState7 = useState(0),
|
|
72
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
73
|
+
maxSuggestions = _useState8[0],
|
|
74
|
+
setMaxSuggestions = _useState8[1];
|
|
75
|
+
var _useState9 = useState(postTypes[0].slug),
|
|
76
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
77
|
+
postTypeToSearch = _useState0[0],
|
|
78
|
+
setPostTypeToSearch = _useState0[1];
|
|
79
|
+
var classNames = ['newspack-autocomplete-with-suggestions'];
|
|
55
80
|
if (hideHelp) {
|
|
56
81
|
classNames.push('hide-help');
|
|
57
82
|
}
|
|
@@ -59,96 +84,143 @@ const AutocompleteWithSuggestions = ({
|
|
|
59
84
|
/**
|
|
60
85
|
* Fetch recent posts to show as suggestions.
|
|
61
86
|
*/
|
|
62
|
-
useEffect(()
|
|
87
|
+
useEffect(function () {
|
|
63
88
|
if (onPostTypeChange) {
|
|
64
89
|
onPostTypeChange(postTypeToSearch);
|
|
65
90
|
}
|
|
66
91
|
setIsLoading(true);
|
|
67
|
-
handleFetchSuggestions(null, 0, postTypeToSearch).then(_suggestions
|
|
92
|
+
handleFetchSuggestions(null, 0, postTypeToSearch).then(function (_suggestions) {
|
|
68
93
|
if (0 < _suggestions.length) {
|
|
69
94
|
setSuggestions(_suggestions);
|
|
70
95
|
}
|
|
71
|
-
})
|
|
96
|
+
})["finally"](function () {
|
|
97
|
+
return setIsLoading(false);
|
|
98
|
+
});
|
|
72
99
|
}, [postTypeToSearch]);
|
|
73
100
|
|
|
74
101
|
/**
|
|
75
102
|
* Fetch more suggestions.
|
|
76
103
|
*/
|
|
77
|
-
useEffect(()
|
|
104
|
+
useEffect(function () {
|
|
78
105
|
if (isLoadingMore) {
|
|
79
|
-
handleFetchSuggestions(null, suggestions.length, postTypeToSearch).then(_suggestions
|
|
106
|
+
handleFetchSuggestions(null, suggestions.length, postTypeToSearch).then(function (_suggestions) {
|
|
80
107
|
if (0 < _suggestions.length) {
|
|
81
108
|
setSuggestions(suggestions.concat(_suggestions));
|
|
82
109
|
}
|
|
83
|
-
})
|
|
110
|
+
})["finally"](function () {
|
|
111
|
+
return setIsLoadingMore(false);
|
|
112
|
+
});
|
|
84
113
|
}
|
|
85
114
|
}, [isLoadingMore]);
|
|
86
115
|
|
|
87
116
|
/**
|
|
88
117
|
* If passed a `fetchSavedPosts` prop, use that, otherwise, build it based on the selected post type.
|
|
89
118
|
*/
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
119
|
+
var handleFetchSaved = fetchSavedPosts ? fetchSavedPosts : /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
120
|
+
var postIds,
|
|
121
|
+
searchSlug,
|
|
122
|
+
postTypeSlug,
|
|
123
|
+
endpoint,
|
|
124
|
+
posts,
|
|
125
|
+
_args = arguments;
|
|
126
|
+
return _regenerator().w(function (_context) {
|
|
127
|
+
while (1) switch (_context.n) {
|
|
128
|
+
case 0:
|
|
129
|
+
postIds = _args.length > 0 && _args[0] !== undefined ? _args[0] : [];
|
|
130
|
+
searchSlug = _args.length > 1 && _args[1] !== undefined ? _args[1] : null;
|
|
131
|
+
postTypeSlug = searchSlug || postTypeToSearch;
|
|
132
|
+
endpoint = 'post' === postTypeSlug || 'page' === postTypeSlug ? postTypeSlug + 's' // Default post type endpoints are plural.
|
|
133
|
+
: postTypeSlug; // Custom post type endpoints are singular.
|
|
134
|
+
_context.n = 1;
|
|
135
|
+
return apiFetch({
|
|
136
|
+
path: addQueryArgs('/wp/v2/' + endpoint, {
|
|
137
|
+
per_page: 100,
|
|
138
|
+
include: postIds.join(','),
|
|
139
|
+
_fields: 'id,title'
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
case 1:
|
|
143
|
+
posts = _context.v;
|
|
144
|
+
return _context.a(2, posts.map(function (post) {
|
|
145
|
+
return {
|
|
146
|
+
value: parseInt(post.id),
|
|
147
|
+
label: decodeEntities(post.title) || __('(no title)', 'newspack-plugin')
|
|
148
|
+
};
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
}, _callee);
|
|
152
|
+
}));
|
|
106
153
|
|
|
107
154
|
/**
|
|
108
155
|
* If passed a `fetchSuggestions` prop, use that, otherwise, build it based on the selected post type.
|
|
109
156
|
*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
157
|
+
var handleFetchSuggestions = fetchSuggestions ? fetchSuggestions : /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
158
|
+
var search,
|
|
159
|
+
offset,
|
|
160
|
+
searchSlug,
|
|
161
|
+
postTypeSlug,
|
|
162
|
+
endpoint,
|
|
163
|
+
response,
|
|
164
|
+
total,
|
|
165
|
+
posts,
|
|
166
|
+
_args2 = arguments;
|
|
167
|
+
return _regenerator().w(function (_context2) {
|
|
168
|
+
while (1) switch (_context2.n) {
|
|
169
|
+
case 0:
|
|
170
|
+
search = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : null;
|
|
171
|
+
offset = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 0;
|
|
172
|
+
searchSlug = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : null;
|
|
173
|
+
postTypeSlug = searchSlug || postTypeToSearch;
|
|
174
|
+
endpoint = 'post' === postTypeSlug || 'page' === postTypeSlug ? postTypeSlug + 's' // Default post type endpoints are plural.
|
|
175
|
+
: postTypeSlug; // Custom post type endpoints are singular.
|
|
176
|
+
_context2.n = 1;
|
|
177
|
+
return apiFetch({
|
|
178
|
+
parse: false,
|
|
179
|
+
path: addQueryArgs('/wp/v2/' + endpoint, {
|
|
180
|
+
search: search,
|
|
181
|
+
offset: offset,
|
|
182
|
+
per_page: suggestionsToFetch,
|
|
183
|
+
_fields: 'id,title'
|
|
184
|
+
})
|
|
185
|
+
});
|
|
186
|
+
case 1:
|
|
187
|
+
response = _context2.v;
|
|
188
|
+
total = parseInt(response.headers.get('x-wp-total') || 0);
|
|
189
|
+
_context2.n = 2;
|
|
190
|
+
return response.json();
|
|
191
|
+
case 2:
|
|
192
|
+
posts = _context2.v;
|
|
193
|
+
setMaxSuggestions(total);
|
|
126
194
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
195
|
+
// Format suggestions for FormTokenField display.
|
|
196
|
+
return _context2.a(2, posts.reduce(function (acc, post) {
|
|
197
|
+
acc.push({
|
|
198
|
+
value: parseInt(post.id),
|
|
199
|
+
label: decodeEntities(post === null || post === void 0 ? void 0 : post.title.rendered) || __('(no title)', 'newspack-plugin')
|
|
200
|
+
});
|
|
201
|
+
return acc;
|
|
202
|
+
}, []));
|
|
203
|
+
}
|
|
204
|
+
}, _callee2);
|
|
205
|
+
}));
|
|
136
206
|
|
|
137
207
|
/**
|
|
138
208
|
* Intercept onChange callback so we can decide whether to allow multiple selections.
|
|
139
209
|
*/
|
|
140
|
-
|
|
210
|
+
var handleOnChange = function handleOnChange(_selections) {
|
|
141
211
|
// If only allowing one selection, just return the one selected item.
|
|
142
212
|
if (!multiSelect) {
|
|
143
213
|
return onChange(_selections);
|
|
144
214
|
}
|
|
145
215
|
|
|
146
216
|
// Handle legacy `selectedPost` prop.
|
|
147
|
-
|
|
217
|
+
var selections = selectedPost ? [].concat(_toConsumableArray(selectedItems), [selectedPost]) : _toConsumableArray(selectedItems);
|
|
148
218
|
|
|
149
219
|
// Loop through new selections to determine whether to add or remove them.
|
|
150
|
-
_selections.forEach(_selection
|
|
151
|
-
|
|
220
|
+
_selections.forEach(function (_selection) {
|
|
221
|
+
var existingSelection = selections.findIndex(function (selection) {
|
|
222
|
+
return parseInt(selection.value) === parseInt(_selection.value);
|
|
223
|
+
});
|
|
152
224
|
if (-1 < existingSelection) {
|
|
153
225
|
// If the selection is already selected, remove it.
|
|
154
226
|
selections.splice(existingSelection, 1);
|
|
@@ -159,19 +231,20 @@ const AutocompleteWithSuggestions = ({
|
|
|
159
231
|
});
|
|
160
232
|
|
|
161
233
|
// Include currently selected post type in selection results.
|
|
162
|
-
onChange(selections.map(selection
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
234
|
+
onChange(selections.map(function (selection) {
|
|
235
|
+
return _objectSpread(_objectSpread({}, selection), {}, {
|
|
236
|
+
postType: postTypeToSearch
|
|
237
|
+
});
|
|
238
|
+
}));
|
|
166
239
|
};
|
|
167
240
|
|
|
168
241
|
/**
|
|
169
242
|
* Render selected item(s) for this component. Clicking on a selection deselects it.
|
|
170
243
|
*/
|
|
171
|
-
|
|
244
|
+
var renderSelections = function renderSelections() {
|
|
172
245
|
// Handle legacy `selectedPost` prop.
|
|
173
|
-
|
|
174
|
-
|
|
246
|
+
var selections = selectedPost ? [].concat(_toConsumableArray(selectedItems), [selectedPost]) : selectedItems;
|
|
247
|
+
var selectedMessage = multiSelect ? sprintf(
|
|
175
248
|
// Translators: %1: the length of selections. %2: the selection leabel.
|
|
176
249
|
__('%1$s %2$s selected', 'newspack-plugin'), selections.length, selections.length > 1 ? postTypeLabelPlural : postTypeLabel) : sprintf(
|
|
177
250
|
// Translators: %s: The label for the selection.
|
|
@@ -181,34 +254,46 @@ const AutocompleteWithSuggestions = ({
|
|
|
181
254
|
children: [/*#__PURE__*/_jsxs("p", {
|
|
182
255
|
className: "newspack-autocomplete-with-suggestions__label",
|
|
183
256
|
children: [selectedMessage, 1 < selections.length && _x(' – ', 'separator character', 'newspack-plugin'), 1 < selections.length && /*#__PURE__*/_jsx(Button, {
|
|
184
|
-
onClick: ()
|
|
257
|
+
onClick: function onClick() {
|
|
258
|
+
return onChange([]);
|
|
259
|
+
},
|
|
185
260
|
isLink: true,
|
|
186
261
|
isDestructive: true,
|
|
187
262
|
children: __('Clear all', 'newspack-plugin')
|
|
188
263
|
})]
|
|
189
|
-
}), selections.map(
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
264
|
+
}), selections.map(function (selection) {
|
|
265
|
+
return /*#__PURE__*/_jsx(Button, {
|
|
266
|
+
className: "newspack-autocomplete-with-suggestions__selected-item-button",
|
|
267
|
+
isTertiary: true,
|
|
268
|
+
onClick: function onClick() {
|
|
269
|
+
return onChange(selections.filter(function (_selection) {
|
|
270
|
+
return _selection.value !== selection.value;
|
|
271
|
+
}));
|
|
272
|
+
},
|
|
273
|
+
children: selection.label
|
|
274
|
+
}, selection.value);
|
|
275
|
+
})]
|
|
195
276
|
});
|
|
196
277
|
};
|
|
197
278
|
|
|
198
279
|
/**
|
|
199
280
|
* Render post type select dropdown.
|
|
200
281
|
*/
|
|
201
|
-
|
|
282
|
+
var renderPostTypeSelect = function renderPostTypeSelect() {
|
|
202
283
|
return /*#__PURE__*/_jsx(SelectControl, {
|
|
203
284
|
label: sprintf(
|
|
204
285
|
// Translators: %s: The name of the type.
|
|
205
286
|
__('%s type', 'newspack-plugin'), postTypeLabel.charAt(0).toUpperCase() + postTypeLabel.slice(1)),
|
|
206
287
|
value: postTypeToSearch,
|
|
207
|
-
options: postTypes.map(postTypeOption
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
288
|
+
options: postTypes.map(function (postTypeOption) {
|
|
289
|
+
return {
|
|
290
|
+
label: postTypeOption.label,
|
|
291
|
+
value: postTypeOption.slug
|
|
292
|
+
};
|
|
293
|
+
}),
|
|
294
|
+
onChange: function onChange(_postType) {
|
|
295
|
+
return setPostTypeToSearch(_postType);
|
|
296
|
+
}
|
|
212
297
|
});
|
|
213
298
|
};
|
|
214
299
|
|
|
@@ -217,19 +302,25 @@ const AutocompleteWithSuggestions = ({
|
|
|
217
302
|
*
|
|
218
303
|
* @param {Object} suggestion Suggestion object with value and label keys.
|
|
219
304
|
*/
|
|
220
|
-
|
|
305
|
+
var renderSuggestion = function renderSuggestion(suggestion) {
|
|
221
306
|
if (multiSelect) {
|
|
222
|
-
|
|
223
|
-
|
|
307
|
+
var selections = selectedPost ? [].concat(_toConsumableArray(selectedItems), [selectedPost]) : _toConsumableArray(selectedItems);
|
|
308
|
+
var isSelected = !!selections.find(function (_selection) {
|
|
309
|
+
return parseInt(_selection.value) === parseInt(suggestion.value) && _selection.label === suggestion.label;
|
|
310
|
+
});
|
|
224
311
|
return /*#__PURE__*/_jsx(CheckboxControl, {
|
|
225
312
|
checked: isSelected,
|
|
226
|
-
onChange: ()
|
|
313
|
+
onChange: function onChange() {
|
|
314
|
+
return handleOnChange([suggestion]);
|
|
315
|
+
},
|
|
227
316
|
label: suggestion.label
|
|
228
317
|
}, suggestion.value);
|
|
229
318
|
}
|
|
230
319
|
return /*#__PURE__*/_jsx(Button, {
|
|
231
320
|
isLink: true,
|
|
232
|
-
onClick: ()
|
|
321
|
+
onClick: function onClick() {
|
|
322
|
+
return handleOnChange([suggestion]);
|
|
323
|
+
},
|
|
233
324
|
children: suggestion.label
|
|
234
325
|
}, suggestion.value);
|
|
235
326
|
};
|
|
@@ -237,11 +328,11 @@ const AutocompleteWithSuggestions = ({
|
|
|
237
328
|
/**
|
|
238
329
|
* Render a list of suggestions that can be clicked to select instead of searching by title.
|
|
239
330
|
*/
|
|
240
|
-
|
|
331
|
+
var renderSuggestions = function renderSuggestions() {
|
|
241
332
|
if (0 === suggestions.length) {
|
|
242
333
|
return null;
|
|
243
334
|
}
|
|
244
|
-
|
|
335
|
+
var className = multiSelect ? 'newspack-autocomplete-with-suggestions__search-suggestions-multiselect' : 'newspack-autocomplete-with-suggestions__search-suggestions';
|
|
245
336
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
246
337
|
children: [!hideHelp && /*#__PURE__*/_jsx("p", {
|
|
247
338
|
className: "newspack-autocomplete-with-suggestions__label",
|
|
@@ -251,7 +342,9 @@ const AutocompleteWithSuggestions = ({
|
|
|
251
342
|
children: [suggestions.map(renderSuggestion), suggestions.length < (maxItemsToSuggest || maxSuggestions) && /*#__PURE__*/_jsx(Button, {
|
|
252
343
|
disabled: isLoadingMore,
|
|
253
344
|
isSecondary: true,
|
|
254
|
-
onClick: ()
|
|
345
|
+
onClick: function onClick() {
|
|
346
|
+
return setIsLoadingMore(true);
|
|
347
|
+
},
|
|
255
348
|
children: isLoadingMore ? __('Loading…', 'newspack-plugin') : __('Load more', 'newspack-plugin')
|
|
256
349
|
})]
|
|
257
350
|
})]
|
|
@@ -262,8 +355,22 @@ const AutocompleteWithSuggestions = ({
|
|
|
262
355
|
children: [0 < selectedItems.length && renderSelections(), 1 < postTypes.length && renderPostTypeSelect(), /*#__PURE__*/_jsx(AutocompleteTokenField, {
|
|
263
356
|
tokens: [],
|
|
264
357
|
onChange: handleOnChange,
|
|
265
|
-
fetchSuggestions:
|
|
266
|
-
|
|
358
|
+
fetchSuggestions: (/*#__PURE__*/function () {
|
|
359
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(search) {
|
|
360
|
+
return _regenerator().w(function (_context3) {
|
|
361
|
+
while (1) switch (_context3.n) {
|
|
362
|
+
case 0:
|
|
363
|
+
return _context3.a(2, handleFetchSuggestions(search, 0, postTypeToSearch));
|
|
364
|
+
}
|
|
365
|
+
}, _callee3);
|
|
366
|
+
}));
|
|
367
|
+
return function (_x2) {
|
|
368
|
+
return _ref4.apply(this, arguments);
|
|
369
|
+
};
|
|
370
|
+
}()),
|
|
371
|
+
fetchSavedInfo: function fetchSavedInfo(postIds) {
|
|
372
|
+
return handleFetchSaved(postIds);
|
|
373
|
+
},
|
|
267
374
|
label: label,
|
|
268
375
|
loading: isLoading,
|
|
269
376
|
help: !hideHelp && help,
|
package/dist/esm/badge/index.js
CHANGED
|
@@ -11,11 +11,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
11
11
|
/**
|
|
12
12
|
* Badge component
|
|
13
13
|
*/
|
|
14
|
-
|
|
15
|
-
text,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
var Badge = function Badge(_ref) {
|
|
15
|
+
var text = _ref.text,
|
|
16
|
+
_ref$level = _ref.level,
|
|
17
|
+
level = _ref$level === void 0 ? 'default' : _ref$level;
|
|
18
|
+
var classes = classnames('newspack-badge', "is-".concat(level));
|
|
19
19
|
return /*#__PURE__*/_jsx("span", {
|
|
20
20
|
className: classes,
|
|
21
21
|
children: text
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["hexColor", "isInverted", "children"];
|
|
4
|
+
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; }
|
|
5
|
+
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) { _defineProperty(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; }
|
|
1
6
|
/**
|
|
2
7
|
* Box Contrast
|
|
3
8
|
*
|
|
@@ -16,29 +21,28 @@ import { getContrast } from '../utils/color';
|
|
|
16
21
|
* @return JSX.Element
|
|
17
22
|
*/
|
|
18
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
|
|
20
|
-
hexColor,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
var BoxContrast = function BoxContrast(_ref) {
|
|
25
|
+
var hexColor = _ref.hexColor,
|
|
26
|
+
_ref$isInverted = _ref.isInverted,
|
|
27
|
+
isInverted = _ref$isInverted === void 0 ? false : _ref$isInverted,
|
|
28
|
+
children = _ref.children,
|
|
29
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
30
|
+
var contrastColor;
|
|
26
31
|
if (hexColor === '#f0f0f0') {
|
|
27
32
|
contrastColor = '#1e1e1e';
|
|
28
33
|
} else {
|
|
29
34
|
contrastColor = getContrast(hexColor);
|
|
30
35
|
}
|
|
31
|
-
|
|
36
|
+
var style = isInverted ? {
|
|
32
37
|
color: hexColor,
|
|
33
38
|
backgoundColor: contrastColor
|
|
34
39
|
} : {
|
|
35
40
|
backgroundColor: hexColor,
|
|
36
41
|
color: contrastColor
|
|
37
42
|
};
|
|
38
|
-
return /*#__PURE__*/_jsx("div", {
|
|
39
|
-
...props,
|
|
43
|
+
return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({}, props), {}, {
|
|
40
44
|
style: style,
|
|
41
45
|
children: children
|
|
42
|
-
});
|
|
46
|
+
}));
|
|
43
47
|
};
|
|
44
48
|
export default BoxContrast;
|
package/dist/esm/button/index.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
+
var _excluded = ["href", "loading", "onClick"];
|
|
6
|
+
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; }
|
|
7
|
+
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) { _defineProperty(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; }
|
|
8
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
9
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
1
10
|
/**
|
|
2
11
|
* Button
|
|
3
12
|
*/
|
|
@@ -14,26 +23,36 @@ import { useState } from '@wordpress/element';
|
|
|
14
23
|
import Router from '../proxied-imports/router';
|
|
15
24
|
import './style.scss';
|
|
16
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
var useHistory = Router.useHistory;
|
|
27
|
+
var Button = function Button(_ref) {
|
|
28
|
+
var href = _ref.href,
|
|
29
|
+
_ref$loading = _ref.loading,
|
|
30
|
+
loading = _ref$loading === void 0 ? undefined : _ref$loading,
|
|
31
|
+
onClick = _ref.onClick,
|
|
32
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
var history = useHistory();
|
|
34
|
+
var _useState = useState(false),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
isAwaitingOnClick = _useState2[0],
|
|
37
|
+
setIsAwaitingOnClick = _useState2[1];
|
|
28
38
|
|
|
29
39
|
// If both onClick and href are present, await the onClick action an then redirect.
|
|
30
40
|
if (href && onClick) {
|
|
31
|
-
otherProps.onClick =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
otherProps.onClick = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
42
|
+
return _regenerator().w(function (_context) {
|
|
43
|
+
while (1) switch (_context.n) {
|
|
44
|
+
case 0:
|
|
45
|
+
setIsAwaitingOnClick(true);
|
|
46
|
+
_context.n = 1;
|
|
47
|
+
return onClick();
|
|
48
|
+
case 1:
|
|
49
|
+
setIsAwaitingOnClick(false);
|
|
50
|
+
history.push((href || '').replace('#', ''));
|
|
51
|
+
case 2:
|
|
52
|
+
return _context.a(2);
|
|
53
|
+
}
|
|
54
|
+
}, _callee);
|
|
55
|
+
}));
|
|
37
56
|
} else {
|
|
38
57
|
otherProps.href = href;
|
|
39
58
|
otherProps.onClick = onClick;
|
|
@@ -42,9 +61,8 @@ const Button = ({
|
|
|
42
61
|
otherProps.disabled = true;
|
|
43
62
|
}
|
|
44
63
|
// @ts-expect-error - @wordpress/components' Button can only have either href or onClick, not both.
|
|
45
|
-
return /*#__PURE__*/_jsx(BaseComponent, {
|
|
46
|
-
loading: loading ? true : undefined
|
|
47
|
-
|
|
48
|
-
});
|
|
64
|
+
return /*#__PURE__*/_jsx(BaseComponent, _objectSpread({
|
|
65
|
+
loading: loading ? true : undefined
|
|
66
|
+
}, otherProps));
|
|
49
67
|
};
|
|
50
68
|
export default Button;
|