newspack-components 2.1.0 → 2.2.0
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/dist/cjs/accordion/index.js +46 -0
- package/dist/cjs/accordion/style.scss +27 -0
- package/dist/cjs/action-card/index.js +48 -25
- package/dist/cjs/action-card/style.scss +100 -23
- package/dist/cjs/autocomplete-tokenfield/index.js +13 -41
- package/dist/cjs/autocomplete-tokenfield/style.scss +2 -2
- package/dist/cjs/autocomplete-with-suggestions/index.js +30 -51
- package/dist/cjs/autocomplete-with-suggestions/style.scss +16 -15
- package/dist/cjs/button/index.js +5 -13
- package/dist/cjs/button-card/index.js +1 -10
- package/dist/cjs/button-card/style.scss +13 -13
- package/dist/cjs/button-group/index.js +57 -0
- package/dist/cjs/button-group/style.scss +73 -0
- package/dist/cjs/card/index.js +1 -8
- package/dist/cjs/card/style.scss +25 -8
- package/dist/cjs/category-autocomplete/index.js +18 -38
- package/dist/cjs/category-autocomplete/style.scss +0 -2
- package/dist/cjs/checkbox-control/index.js +63 -0
- package/dist/cjs/checkbox-control/style.scss +78 -0
- package/dist/cjs/color-picker/index.js +1 -15
- package/dist/cjs/color-picker/style.scss +0 -3
- package/dist/cjs/consts.js +5 -3
- package/dist/cjs/custom-select-control/index.js +1 -9
- package/dist/cjs/custom-select-control/style.scss +6 -7
- package/dist/cjs/date-range-picker/index.js +1 -10
- package/dist/cjs/date-range-picker/style.scss +12 -12
- package/dist/cjs/footer/index.js +5 -17
- package/dist/cjs/footer/style.scss +5 -5
- package/dist/cjs/form-token-field/index.js +1 -9
- package/dist/cjs/form-token-field/style.scss +2 -3
- package/dist/cjs/global-notices/index.js +1 -8
- package/dist/cjs/grid/index.js +1 -8
- package/dist/cjs/grid/style.scss +5 -5
- package/dist/cjs/handoff/index.js +8 -17
- package/dist/cjs/handoff-message/index.js +50 -0
- package/dist/cjs/hooks/index.js +1 -7
- package/dist/cjs/hooks/useObjectState.js +7 -13
- package/dist/cjs/hooks/useObjectState.test.js +0 -14
- package/dist/cjs/hooks/useOnClickOutside.js +3 -6
- package/dist/cjs/hooks/usePrompt.js +1 -13
- package/dist/cjs/image-upload/index.js +21 -19
- package/dist/cjs/image-upload/index.test.js +0 -5
- package/dist/cjs/image-upload/style.scss +5 -9
- package/dist/cjs/index.js +28 -44
- package/dist/cjs/info-button/index.js +3 -11
- package/dist/cjs/info-button/style.scss +1 -3
- package/dist/cjs/modal/index.js +1 -9
- package/dist/cjs/modal/style.scss +8 -8
- package/dist/cjs/newspack-icon/index.js +1 -9
- package/dist/cjs/newspack-icon/style.scss +4 -4
- package/dist/cjs/newspack-logo/index.js +1 -9
- package/dist/cjs/newspack-logo/style.scss +3 -3
- package/dist/cjs/notice/index.js +8 -15
- package/dist/cjs/notice/style.scss +28 -15
- package/dist/cjs/patrons-logo/index.js +3 -11
- package/dist/cjs/plugin-installer/index.js +36 -36
- package/dist/cjs/plugin-installer/style.scss +5 -5
- package/dist/cjs/plugin-settings/SettingsSection.js +9 -28
- package/dist/cjs/plugin-settings/index.js +39 -22
- package/dist/cjs/plugin-toggle/index.js +40 -33
- package/dist/cjs/plugin-toggle/style.scss +2 -2
- package/dist/cjs/popover/index.js +1 -11
- package/dist/cjs/popover/style.scss +19 -16
- package/dist/cjs/position-control/index.js +113 -0
- package/dist/cjs/position-control/style.scss +66 -0
- package/dist/cjs/preview-box/index.js +36 -0
- package/dist/cjs/preview-box/style.scss +18 -0
- package/dist/cjs/progress-bar/index.js +2 -9
- package/dist/cjs/progress-bar/index.test.js +2 -7
- package/dist/cjs/progress-bar/style.scss +4 -4
- package/dist/cjs/proxied-imports/router.js +0 -3
- package/dist/cjs/radio-control/index.js +1 -11
- package/dist/cjs/radio-control/style.scss +9 -9
- package/dist/cjs/section-header/index.js +44 -29
- package/dist/cjs/section-header/style.scss +2 -2
- package/dist/cjs/select-control/ButtonGroupControl.js +4 -13
- package/dist/cjs/select-control/GroupedSelectControl.js +9 -15
- package/dist/cjs/select-control/index.js +5 -12
- package/dist/cjs/select-control/style.scss +2 -2
- package/dist/cjs/settings/MinMaxSetting.js +3 -7
- package/dist/cjs/settings/SettingsCard.js +3 -7
- package/dist/cjs/settings/SettingsSection.js +1 -4
- package/dist/cjs/settings/index.js +0 -6
- package/dist/cjs/settings/style.scss +1 -1
- package/dist/cjs/steps-list/index.js +52 -0
- package/dist/cjs/steps-list/style.scss +11 -0
- package/dist/cjs/steps-list-item/index.js +56 -0
- package/dist/cjs/steps-list-item/style.scss +47 -0
- package/dist/cjs/style-card/index.js +6 -13
- package/dist/cjs/style-card/style.scss +9 -12
- package/dist/cjs/style.scss +5 -6
- package/dist/cjs/tabbed-navigation/index.js +19 -16
- package/dist/cjs/tabbed-navigation/style.scss +3 -4
- package/dist/cjs/text-control/index.js +6 -16
- package/dist/cjs/textarea-control/index.js +54 -0
- package/dist/cjs/textarea-control/style.scss +76 -0
- package/dist/cjs/toggle-control/index.js +58 -0
- package/dist/cjs/toggle-control/style.scss +74 -0
- package/dist/cjs/toggle-group/index.js +71 -0
- package/dist/cjs/toggle-group/style.scss +28 -0
- package/dist/cjs/utils/index.js +10 -5
- package/dist/cjs/waiting/index.js +1 -9
- package/dist/cjs/web-preview/index.js +13 -28
- package/dist/cjs/web-preview/style.scss +14 -14
- package/dist/cjs/with-wizard/index.js +51 -31
- package/dist/cjs/with-wizard/style.scss +35 -37
- package/dist/cjs/with-wizard-screen/index.js +11 -17
- package/dist/cjs/with-wizard-screen/style.scss +14 -17
- package/dist/cjs/wizard/components/WizardError.js +3 -15
- package/dist/cjs/wizard/index.js +10 -24
- package/dist/cjs/wizard/store/index.js +42 -55
- package/dist/cjs/wizard/store/utils.js +1 -6
- package/dist/cjs/wizard/style.scss +148 -0
- package/dist/esm/accordion/index.js +38 -0
- package/dist/esm/accordion/style.scss +27 -0
- package/dist/esm/action-card/index.js +50 -21
- package/dist/esm/action-card/style.scss +100 -23
- package/dist/esm/autocomplete-tokenfield/index.js +14 -37
- package/dist/esm/autocomplete-tokenfield/style.scss +2 -2
- package/dist/esm/autocomplete-with-suggestions/index.js +28 -41
- package/dist/esm/autocomplete-with-suggestions/style.scss +16 -15
- package/dist/esm/button/index.js +5 -7
- package/dist/esm/button-card/index.js +2 -5
- package/dist/esm/button-card/style.scss +13 -13
- package/dist/esm/button-group/index.js +43 -0
- package/dist/esm/button-group/style.scss +73 -0
- package/dist/esm/card/index.js +2 -5
- package/dist/esm/card/style.scss +25 -8
- package/dist/esm/category-autocomplete/index.js +17 -30
- package/dist/esm/category-autocomplete/style.scss +0 -2
- package/dist/esm/checkbox-control/index.js +49 -0
- package/dist/esm/checkbox-control/style.scss +78 -0
- package/dist/esm/color-picker/index.js +2 -4
- package/dist/esm/color-picker/style.scss +0 -3
- package/dist/esm/consts.js +3 -2
- package/dist/esm/custom-select-control/index.js +2 -5
- package/dist/esm/custom-select-control/style.scss +6 -7
- package/dist/esm/date-range-picker/index.js +1 -3
- package/dist/esm/date-range-picker/style.scss +12 -12
- package/dist/esm/footer/index.js +3 -11
- package/dist/esm/footer/style.scss +5 -5
- package/dist/esm/form-token-field/index.js +2 -5
- package/dist/esm/form-token-field/style.scss +2 -3
- package/dist/esm/global-notices/index.js +1 -6
- package/dist/esm/grid/index.js +2 -5
- package/dist/esm/grid/style.scss +5 -5
- package/dist/esm/handoff/index.js +3 -14
- package/dist/esm/handoff-message/index.js +45 -0
- package/dist/esm/hooks/index.js +0 -2
- package/dist/esm/hooks/useObjectState.js +3 -8
- package/dist/esm/hooks/useObjectState.test.js +0 -3
- package/dist/esm/hooks/useOnClickOutside.js +2 -5
- package/dist/esm/hooks/usePrompt.js +1 -8
- package/dist/esm/image-upload/index.js +17 -16
- package/dist/esm/image-upload/style.scss +5 -9
- package/dist/esm/index.js +4 -0
- package/dist/esm/info-button/index.js +4 -6
- package/dist/esm/info-button/style.scss +1 -3
- package/dist/esm/modal/index.js +2 -5
- package/dist/esm/modal/style.scss +8 -8
- package/dist/esm/newspack-icon/index.js +2 -5
- package/dist/esm/newspack-icon/style.scss +4 -4
- package/dist/esm/newspack-logo/index.js +2 -5
- package/dist/esm/newspack-logo/style.scss +3 -3
- package/dist/esm/notice/index.js +4 -8
- package/dist/esm/notice/style.scss +28 -15
- package/dist/esm/patrons-logo/index.js +3 -5
- package/dist/esm/plugin-installer/index.js +35 -39
- package/dist/esm/plugin-installer/style.scss +5 -5
- package/dist/esm/plugin-settings/SettingsSection.js +8 -21
- package/dist/esm/plugin-settings/index.js +38 -24
- package/dist/esm/plugin-toggle/index.js +39 -36
- package/dist/esm/plugin-toggle/style.scss +2 -2
- package/dist/esm/popover/index.js +3 -6
- package/dist/esm/popover/style.scss +19 -16
- package/dist/esm/position-control/index.js +109 -0
- package/dist/esm/position-control/style.scss +66 -0
- package/dist/esm/preview-box/index.js +30 -0
- package/dist/esm/preview-box/style.scss +18 -0
- package/dist/esm/progress-bar/index.js +2 -7
- package/dist/esm/progress-bar/index.test.js +2 -1
- package/dist/esm/progress-bar/style.scss +4 -4
- package/dist/esm/proxied-imports/router.js +1 -0
- package/dist/esm/radio-control/index.js +3 -6
- package/dist/esm/radio-control/style.scss +9 -9
- package/dist/esm/section-header/index.js +44 -25
- package/dist/esm/section-header/style.scss +2 -2
- package/dist/esm/select-control/ButtonGroupControl.js +5 -7
- package/dist/esm/select-control/GroupedSelectControl.js +5 -6
- package/dist/esm/select-control/index.js +6 -6
- package/dist/esm/select-control/style.scss +2 -2
- package/dist/esm/settings/MinMaxSetting.js +1 -3
- package/dist/esm/settings/SettingsCard.js +3 -4
- package/dist/esm/settings/SettingsSection.js +0 -2
- package/dist/esm/settings/style.scss +1 -1
- package/dist/esm/steps-list/index.js +43 -0
- package/dist/esm/steps-list/style.scss +11 -0
- package/dist/esm/steps-list-item/index.js +48 -0
- package/dist/esm/steps-list-item/style.scss +47 -0
- package/dist/esm/style-card/index.js +2 -5
- package/dist/esm/style-card/style.scss +9 -12
- package/dist/esm/style.scss +5 -6
- package/dist/esm/tabbed-navigation/index.js +20 -10
- package/dist/esm/tabbed-navigation/style.scss +3 -4
- package/dist/esm/text-control/index.js +2 -9
- package/dist/esm/textarea-control/index.js +40 -0
- package/dist/esm/textarea-control/style.scss +76 -0
- package/dist/esm/toggle-control/index.js +44 -0
- package/dist/esm/toggle-control/style.scss +74 -0
- package/dist/esm/toggle-group/index.js +58 -0
- package/dist/esm/toggle-group/style.scss +28 -0
- package/dist/esm/utils/index.js +9 -3
- package/dist/esm/waiting/index.js +2 -5
- package/dist/esm/web-preview/index.js +9 -24
- package/dist/esm/web-preview/style.scss +14 -14
- package/dist/esm/with-wizard/index.js +49 -34
- package/dist/esm/with-wizard/style.scss +35 -37
- package/dist/esm/with-wizard-screen/index.js +9 -11
- package/dist/esm/with-wizard-screen/style.scss +14 -17
- package/dist/esm/wizard/components/WizardError.js +1 -10
- package/dist/esm/wizard/index.js +10 -12
- package/dist/esm/wizard/store/index.js +40 -46
- package/dist/esm/wizard/store/utils.js +1 -1
- package/dist/esm/wizard/style.scss +148 -0
- package/package.json +4 -4
- package/shared/scss/_colors.scss +0 -15
- package/src/accordion/index.js +32 -0
- package/src/accordion/style.scss +27 -0
- package/src/action-card/index.js +43 -8
- package/src/action-card/style.scss +100 -23
- package/src/autocomplete-tokenfield/index.js +1 -1
- package/src/autocomplete-tokenfield/style.scss +2 -2
- package/src/autocomplete-with-suggestions/style.scss +16 -15
- package/src/button-card/style.scss +13 -13
- package/src/card/style.scss +25 -8
- package/src/category-autocomplete/index.js +3 -1
- package/src/category-autocomplete/style.scss +0 -2
- package/src/color-picker/style.scss +0 -3
- package/src/consts.js +2 -1
- package/src/custom-select-control/style.scss +6 -7
- package/src/date-range-picker/style.scss +12 -12
- package/src/footer/index.js +2 -2
- package/src/footer/style.scss +5 -5
- package/src/form-token-field/index.js +2 -7
- package/src/form-token-field/style.scss +2 -3
- package/src/grid/style.scss +5 -5
- package/src/handoff/index.js +3 -8
- package/src/handoff-message/index.js +39 -0
- package/src/hooks/useObjectState.js +2 -1
- package/src/image-upload/index.js +9 -3
- package/src/image-upload/style.scss +5 -9
- package/src/index.js +4 -0
- package/src/info-button/style.scss +1 -3
- package/src/modal/style.scss +8 -8
- package/src/newspack-icon/style.scss +4 -4
- package/src/newspack-logo/style.scss +3 -3
- package/src/notice/index.js +2 -0
- package/src/notice/style.scss +28 -15
- package/src/plugin-installer/index.js +15 -2
- package/src/plugin-installer/style.scss +5 -5
- package/src/plugin-settings/SettingsSection.js +7 -13
- package/src/plugin-settings/index.js +7 -2
- package/src/plugin-toggle/index.js +2 -3
- package/src/plugin-toggle/style.scss +2 -2
- package/src/popover/style.scss +19 -16
- package/src/position-control/index.js +122 -0
- package/src/position-control/style.scss +66 -0
- package/src/progress-bar/style.scss +4 -4
- package/src/radio-control/style.scss +9 -9
- package/src/section-header/index.js +32 -15
- package/src/section-header/style.scss +2 -2
- package/src/select-control/ButtonGroupControl.js +3 -0
- package/src/select-control/GroupedSelectControl.js +2 -1
- package/src/select-control/index.js +6 -2
- package/src/select-control/style.scss +2 -2
- package/src/settings/style.scss +1 -1
- package/src/steps-list/index.js +39 -0
- package/src/steps-list/style.scss +11 -0
- package/src/steps-list-item/index.js +40 -0
- package/src/steps-list-item/style.scss +47 -0
- package/src/style-card/index.js +2 -11
- package/src/style-card/style.scss +9 -12
- package/src/style.scss +5 -6
- package/src/tabbed-navigation/index.js +12 -4
- package/src/tabbed-navigation/style.scss +3 -4
- package/src/utils/index.js +9 -0
- package/src/web-preview/index.js +1 -1
- package/src/web-preview/style.scss +14 -14
- package/src/with-wizard/style.scss +35 -37
- package/src/with-wizard-screen/index.js +4 -1
- package/src/with-wizard-screen/style.scss +14 -17
- package/src/wizard/index.js +15 -3
- package/src/wizard/store/index.js +8 -2
|
@@ -1,37 +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 = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
-
|
|
14
10
|
var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
|
|
15
|
-
|
|
16
11
|
var _element = require("@wordpress/element");
|
|
17
|
-
|
|
18
12
|
var _i18n = require("@wordpress/i18n");
|
|
19
|
-
|
|
20
13
|
var _ = require("../");
|
|
21
|
-
|
|
22
14
|
var _SettingsSection = _interopRequireDefault(require("./SettingsSection"));
|
|
23
|
-
|
|
24
15
|
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
25
|
-
|
|
26
16
|
/**
|
|
27
17
|
* External dependencies
|
|
28
18
|
*/
|
|
29
|
-
|
|
30
19
|
/**
|
|
31
20
|
* WordPress dependencies.
|
|
32
21
|
*/
|
|
22
|
+
/**
|
|
23
|
+
* Internal dependencies.
|
|
24
|
+
*/
|
|
33
25
|
const __ = _i18n.__;
|
|
34
|
-
|
|
35
26
|
class PluginSettings extends _element.Component {
|
|
36
27
|
constructor() {
|
|
37
28
|
super(...arguments);
|
|
@@ -51,7 +42,6 @@ class PluginSettings extends _element.Component {
|
|
|
51
42
|
settings,
|
|
52
43
|
error: null
|
|
53
44
|
});
|
|
54
|
-
|
|
55
45
|
if ('function' === typeof afterFetch) {
|
|
56
46
|
afterFetch(settings);
|
|
57
47
|
}
|
|
@@ -79,7 +69,8 @@ class PluginSettings extends _element.Component {
|
|
|
79
69
|
}
|
|
80
70
|
});
|
|
81
71
|
this.setState({
|
|
82
|
-
settings: {
|
|
72
|
+
settings: {
|
|
73
|
+
...this.state.settings,
|
|
83
74
|
[sectionKey]: sectionSettings
|
|
84
75
|
}
|
|
85
76
|
});
|
|
@@ -102,10 +93,12 @@ class PluginSettings extends _element.Component {
|
|
|
102
93
|
}
|
|
103
94
|
}).then(settings => {
|
|
104
95
|
this.setState({
|
|
105
|
-
settings
|
|
96
|
+
settings: {
|
|
97
|
+
...this.state.settings,
|
|
98
|
+
[sectionKey]: settings[sectionKey]
|
|
99
|
+
},
|
|
106
100
|
error: null
|
|
107
101
|
});
|
|
108
|
-
|
|
109
102
|
if ('function' === typeof afterUpdate) {
|
|
110
103
|
afterUpdate(settings);
|
|
111
104
|
}
|
|
@@ -119,27 +112,55 @@ class PluginSettings extends _element.Component {
|
|
|
119
112
|
});
|
|
120
113
|
});
|
|
121
114
|
});
|
|
115
|
+
/**
|
|
116
|
+
* Get the section setting containing section information.
|
|
117
|
+
*
|
|
118
|
+
* @param {string} sectionKey The section name.
|
|
119
|
+
* @return {Object} The section setting.
|
|
120
|
+
*/
|
|
122
121
|
(0, _defineProperty2.default)(this, "getSectionInfo", sectionKey => {
|
|
123
122
|
return this.state.settings[sectionKey]?.find(setting => !setting.key || setting.key === 'active');
|
|
124
123
|
});
|
|
124
|
+
/**
|
|
125
|
+
* Get the section title.
|
|
126
|
+
*
|
|
127
|
+
* @param {string} sectionKey The section name.
|
|
128
|
+
* @return {string} The section title.
|
|
129
|
+
*/
|
|
125
130
|
(0, _defineProperty2.default)(this, "getSectionTitle", sectionKey => {
|
|
126
131
|
return this.getSectionInfo(sectionKey)?.description;
|
|
127
132
|
});
|
|
133
|
+
/**
|
|
134
|
+
* Get the section description.
|
|
135
|
+
*
|
|
136
|
+
* @param {string} sectionKey The section name.
|
|
137
|
+
* @return {string} The section description.
|
|
138
|
+
*/
|
|
128
139
|
(0, _defineProperty2.default)(this, "getSectionDescription", sectionKey => {
|
|
129
140
|
return this.getSectionInfo(sectionKey)?.help;
|
|
130
141
|
});
|
|
142
|
+
/**
|
|
143
|
+
* Get whether a section is active.
|
|
144
|
+
*
|
|
145
|
+
* @param {string} sectionKey The section name.
|
|
146
|
+
* @return {?boolean} Whether the section is active or not. Null if the section is not found or does not support activation.
|
|
147
|
+
*/
|
|
131
148
|
(0, _defineProperty2.default)(this, "isSectionActive", sectionKey => {
|
|
132
149
|
const {
|
|
133
150
|
settings
|
|
134
151
|
} = this.state;
|
|
135
152
|
const activation = settings[sectionKey]?.find(setting => setting.key === 'active');
|
|
136
|
-
|
|
137
153
|
if (!activation) {
|
|
138
154
|
return null;
|
|
139
155
|
}
|
|
140
|
-
|
|
141
156
|
return activation.value;
|
|
142
157
|
});
|
|
158
|
+
/**
|
|
159
|
+
* Get list of section field settings.
|
|
160
|
+
*
|
|
161
|
+
* @param {string} sectionKey The section name.
|
|
162
|
+
* @return {?Array} List of section fields.
|
|
163
|
+
*/
|
|
143
164
|
(0, _defineProperty2.default)(this, "getSectionFields", sectionKey => {
|
|
144
165
|
return this.state.settings[sectionKey]?.filter(setting => setting.key && setting.key !== 'active');
|
|
145
166
|
});
|
|
@@ -149,11 +170,9 @@ class PluginSettings extends _element.Component {
|
|
|
149
170
|
error: null
|
|
150
171
|
};
|
|
151
172
|
}
|
|
152
|
-
|
|
153
173
|
componentDidMount() {
|
|
154
174
|
this.fetchSettings();
|
|
155
175
|
}
|
|
156
|
-
|
|
157
176
|
/**
|
|
158
177
|
* Render.
|
|
159
178
|
*/
|
|
@@ -194,9 +213,7 @@ class PluginSettings extends _element.Component {
|
|
|
194
213
|
})]
|
|
195
214
|
});
|
|
196
215
|
}
|
|
197
|
-
|
|
198
216
|
}
|
|
199
|
-
|
|
200
217
|
PluginSettings.defaultProps = {
|
|
201
218
|
title: __('General Settings', 'newspack')
|
|
202
219
|
};
|
|
@@ -1,31 +1,24 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
|
|
13
|
-
|
|
14
10
|
var _element = require("@wordpress/element");
|
|
15
|
-
|
|
16
11
|
var _i18n = require("@wordpress/i18n");
|
|
17
|
-
|
|
18
12
|
var _ = require("../");
|
|
19
|
-
|
|
20
13
|
require("./style.scss");
|
|
21
|
-
|
|
22
14
|
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
23
|
-
|
|
24
15
|
/**
|
|
25
16
|
* WordPress dependencies.
|
|
26
17
|
*/
|
|
18
|
+
/**
|
|
19
|
+
* Internal dependencies.
|
|
20
|
+
*/
|
|
27
21
|
const __ = _i18n.__;
|
|
28
|
-
|
|
29
22
|
/**
|
|
30
23
|
* Plugin toggle group component.
|
|
31
24
|
*/
|
|
@@ -38,6 +31,9 @@ class PluginToggle extends _element.Component {
|
|
|
38
31
|
(0, _defineProperty2.default)(this, "componentDidMount", () => {
|
|
39
32
|
this.retrievePluginInfo();
|
|
40
33
|
});
|
|
34
|
+
/**
|
|
35
|
+
* Retrieve complete data about Newspack plugins.
|
|
36
|
+
*/
|
|
41
37
|
(0, _defineProperty2.default)(this, "retrievePluginInfo", () => {
|
|
42
38
|
return new Promise(() => {
|
|
43
39
|
(0, _apiFetch.default)({
|
|
@@ -47,6 +43,9 @@ class PluginToggle extends _element.Component {
|
|
|
47
43
|
}));
|
|
48
44
|
});
|
|
49
45
|
});
|
|
46
|
+
/**
|
|
47
|
+
* Install/activate or remove a plugin.
|
|
48
|
+
*/
|
|
50
49
|
(0, _defineProperty2.default)(this, "managePlugin", (plugin, value) => {
|
|
51
50
|
const {
|
|
52
51
|
plugins
|
|
@@ -60,8 +59,10 @@ class PluginToggle extends _element.Component {
|
|
|
60
59
|
method: 'post'
|
|
61
60
|
};
|
|
62
61
|
this.setState({
|
|
63
|
-
pluginInfo: {
|
|
64
|
-
|
|
62
|
+
pluginInfo: {
|
|
63
|
+
...pluginInfo,
|
|
64
|
+
[plugin]: {
|
|
65
|
+
...pluginInfo[plugin],
|
|
65
66
|
inFlight: action
|
|
66
67
|
}
|
|
67
68
|
}
|
|
@@ -75,15 +76,18 @@ class PluginToggle extends _element.Component {
|
|
|
75
76
|
pluginInfo: currentPluginInfo
|
|
76
77
|
} = _ref;
|
|
77
78
|
return {
|
|
78
|
-
pluginInfo: {
|
|
79
|
+
pluginInfo: {
|
|
80
|
+
...currentPluginInfo,
|
|
79
81
|
[plugin]: response
|
|
80
82
|
}
|
|
81
83
|
};
|
|
82
84
|
}, () => shouldRefreshAfterUpdate && location.reload());
|
|
83
85
|
}).catch(e => {
|
|
84
86
|
this.setState({
|
|
85
|
-
pluginInfo: {
|
|
86
|
-
|
|
87
|
+
pluginInfo: {
|
|
88
|
+
...pluginInfo,
|
|
89
|
+
[plugin]: {
|
|
90
|
+
...pluginInfo[plugin],
|
|
87
91
|
error: e.message || __('There was an error managing this plugin.', 'newspack')
|
|
88
92
|
}
|
|
89
93
|
}
|
|
@@ -91,23 +95,31 @@ class PluginToggle extends _element.Component {
|
|
|
91
95
|
});
|
|
92
96
|
});
|
|
93
97
|
});
|
|
94
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Prepare plugins data for render. Change all keys to camelCase, merge API-fetched data with prop.
|
|
100
|
+
*/
|
|
101
|
+
(0, _defineProperty2.default)(this, "prepareDataForRender", (pluginsFromProps, pluginsFromAPI) => Object.keys(pluginsFromProps).map(pluginSlug => pluginsFromAPI[pluginSlug] ? Object.keys(pluginsFromAPI[pluginSlug]).reduce((accumulator, key) => ({
|
|
102
|
+
...accumulator,
|
|
95
103
|
[key.charAt(0).toLowerCase() + key.slice(1)]: pluginsFromAPI[pluginSlug][key]
|
|
96
104
|
}), {}) : {}).map(plugin => Object.assign(plugin, pluginsFromProps[plugin.slug])));
|
|
105
|
+
/**
|
|
106
|
+
* Generate a classname for the ActionCard based on plugin state. Applies 'in-flight' class if an API is underway and 'loading' if the plugin data is not yet available.
|
|
107
|
+
*/
|
|
97
108
|
(0, _defineProperty2.default)(this, "classNameForPlugin", plugin => {
|
|
98
109
|
const {
|
|
99
110
|
status,
|
|
100
111
|
inFlight
|
|
101
112
|
} = plugin;
|
|
102
|
-
|
|
103
113
|
if (inFlight) {
|
|
104
114
|
return 'in-flight';
|
|
105
115
|
}
|
|
106
|
-
|
|
107
116
|
if (!status) {
|
|
108
117
|
return 'loading';
|
|
109
118
|
}
|
|
110
119
|
});
|
|
120
|
+
/**
|
|
121
|
+
* Generate the ActionCard action text for a plugin.
|
|
122
|
+
*/
|
|
111
123
|
(0, _defineProperty2.default)(this, "actionTextForPlugin", plugin => {
|
|
112
124
|
const {
|
|
113
125
|
actionText,
|
|
@@ -115,8 +127,8 @@ class PluginToggle extends _element.Component {
|
|
|
115
127
|
href,
|
|
116
128
|
inFlight,
|
|
117
129
|
name
|
|
118
|
-
} = plugin;
|
|
119
|
-
|
|
130
|
+
} = plugin;
|
|
131
|
+
// Show spinner when plugin data is unavailable, or when an API call is in flight.
|
|
120
132
|
if ('configure' === inFlight) {
|
|
121
133
|
return (0, _jsxRuntime.jsxs)(_element.Fragment, {
|
|
122
134
|
children: [__('Installing…', 'newspack'), " ", (0, _jsxRuntime.jsx)(_.Waiting, {
|
|
@@ -124,7 +136,6 @@ class PluginToggle extends _element.Component {
|
|
|
124
136
|
})]
|
|
125
137
|
});
|
|
126
138
|
}
|
|
127
|
-
|
|
128
139
|
if ('deactivate' === inFlight) {
|
|
129
140
|
return (0, _jsxRuntime.jsxs)(_element.Fragment, {
|
|
130
141
|
children: [__('Deactivating…', 'newspack'), " ", (0, _jsxRuntime.jsx)(_.Waiting, {
|
|
@@ -132,24 +143,24 @@ class PluginToggle extends _element.Component {
|
|
|
132
143
|
})]
|
|
133
144
|
});
|
|
134
145
|
}
|
|
135
|
-
|
|
136
146
|
if (!name) {
|
|
137
147
|
return (0, _jsxRuntime.jsxs)(_element.Fragment, {
|
|
138
148
|
children: [__('Loading…', 'newspack'), " ", (0, _jsxRuntime.jsx)(_.Waiting, {
|
|
139
149
|
isRight: true
|
|
140
150
|
})]
|
|
141
151
|
});
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
152
|
+
}
|
|
153
|
+
// No action button at all if the plugin isn't installed and active.
|
|
145
154
|
if (!this.isPluginInstalledAndActive(plugin)) {
|
|
146
155
|
return null;
|
|
147
156
|
}
|
|
148
|
-
|
|
149
157
|
if (href || editPath) {
|
|
150
158
|
return actionText ? actionText : __('Configure', 'newspack');
|
|
151
159
|
}
|
|
152
160
|
});
|
|
161
|
+
/**
|
|
162
|
+
* Get error message for this plugin.
|
|
163
|
+
*/
|
|
153
164
|
(0, _defineProperty2.default)(this, "errorForPlugin", plugin => {
|
|
154
165
|
const {
|
|
155
166
|
slug
|
|
@@ -159,6 +170,9 @@ class PluginToggle extends _element.Component {
|
|
|
159
170
|
} = this.state;
|
|
160
171
|
return pluginInfo[slug]?.error || null;
|
|
161
172
|
});
|
|
173
|
+
/**
|
|
174
|
+
* Get installation/activation status for a plugin.
|
|
175
|
+
*/
|
|
162
176
|
(0, _defineProperty2.default)(this, "isPluginInstalledAndActive", plugin => {
|
|
163
177
|
const {
|
|
164
178
|
status
|
|
@@ -166,7 +180,6 @@ class PluginToggle extends _element.Component {
|
|
|
166
180
|
return status === 'active';
|
|
167
181
|
});
|
|
168
182
|
}
|
|
169
|
-
|
|
170
183
|
/**
|
|
171
184
|
* Render.
|
|
172
185
|
*/
|
|
@@ -204,12 +217,6 @@ class PluginToggle extends _element.Component {
|
|
|
204
217
|
}, index);
|
|
205
218
|
});
|
|
206
219
|
}
|
|
207
|
-
/**
|
|
208
|
-
* Prepare plugins data for render. Change all keys to camelCase, merge API-fetched data with prop.
|
|
209
|
-
*/
|
|
210
|
-
|
|
211
|
-
|
|
212
220
|
}
|
|
213
|
-
|
|
214
221
|
var _default = PluginToggle;
|
|
215
222
|
exports.default = _default;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Plugin Toggle
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
@
|
|
5
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
6
6
|
|
|
7
7
|
.newspack-action-card {
|
|
8
8
|
&.in-flight,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
.newspack-action-card__region-right {
|
|
13
13
|
.newspack-button {
|
|
14
|
-
color:
|
|
14
|
+
color: wp-colors.$gray-700;
|
|
15
15
|
pointer-events: none;
|
|
16
16
|
text-decoration: none;
|
|
17
17
|
}
|
|
@@ -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 _components = require("@wordpress/components");
|
|
11
|
-
|
|
12
9
|
var _element = require("@wordpress/element");
|
|
13
|
-
|
|
14
10
|
require("./style.scss");
|
|
15
|
-
|
|
16
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
-
|
|
18
12
|
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
19
|
-
|
|
20
13
|
/**
|
|
21
14
|
* WordPress dependencies
|
|
22
15
|
*/
|
|
@@ -31,8 +24,7 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
|
31
24
|
|
|
32
25
|
/**
|
|
33
26
|
* Popover
|
|
34
|
-
*/
|
|
35
|
-
class Popover extends _element.Component {
|
|
27
|
+
*/class Popover extends _element.Component {
|
|
36
28
|
/**
|
|
37
29
|
* Render
|
|
38
30
|
*/
|
|
@@ -48,9 +40,7 @@ class Popover extends _element.Component {
|
|
|
48
40
|
...otherProps
|
|
49
41
|
});
|
|
50
42
|
}
|
|
51
|
-
|
|
52
43
|
}
|
|
53
|
-
|
|
54
44
|
Popover.defaultProps = {
|
|
55
45
|
padding: false
|
|
56
46
|
};
|
|
@@ -2,30 +2,29 @@
|
|
|
2
2
|
* Popover
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
@
|
|
6
|
-
@
|
|
5
|
+
@use '../../../shared/scss/colors';
|
|
6
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
7
7
|
|
|
8
8
|
.newspack-popover {
|
|
9
9
|
.components-popover__content {
|
|
10
|
-
border: 1px solid $gray-300;
|
|
11
|
-
border-radius: 2px;
|
|
12
|
-
box-shadow: 0 4px 8px rgba( black, 0.08 );
|
|
13
10
|
min-width: 238px;
|
|
14
11
|
|
|
15
12
|
.newspack-button {
|
|
16
|
-
color:
|
|
13
|
+
color: wp-colors.$gray-700;
|
|
17
14
|
display: flex;
|
|
18
15
|
font-weight: normal;
|
|
19
16
|
padding: 6px 8px;
|
|
20
17
|
|
|
21
18
|
&:hover {
|
|
19
|
+
color: colors.$primary-500;
|
|
20
|
+
|
|
22
21
|
.components-menu-items__item-icon {
|
|
23
|
-
fill:
|
|
22
|
+
fill: currentcolor;
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
&:focus:not( :disabled ) {
|
|
28
|
-
box-shadow: inset 0 0 0 2px
|
|
27
|
+
box-shadow: inset 0 0 0 2px colors.$primary-500;
|
|
29
28
|
position: relative;
|
|
30
29
|
z-index: 1;
|
|
31
30
|
}
|
|
@@ -36,14 +35,14 @@
|
|
|
36
35
|
text-decoration: none;
|
|
37
36
|
|
|
38
37
|
&:not( .is-destructive ) {
|
|
39
|
-
color:
|
|
38
|
+
color: wp-colors.$gray-700;
|
|
40
39
|
|
|
41
40
|
&:active,
|
|
42
41
|
&:active:enabled,
|
|
43
42
|
&:focus,
|
|
44
43
|
&:focus:enabled &:hover,
|
|
45
|
-
&:not( :disabled
|
|
46
|
-
color:
|
|
44
|
+
&:not( :disabled, [aria-disabled='true'], .is-default ):hover {
|
|
45
|
+
color: colors.$primary-500;
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
48
|
|
|
@@ -53,8 +52,12 @@
|
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
|
|
55
|
+
&.is-destructive:not( :focus ) {
|
|
56
|
+
box-shadow: none !important;
|
|
57
|
+
}
|
|
58
|
+
|
|
56
59
|
.components-menu-items__item-icon {
|
|
57
|
-
fill:
|
|
60
|
+
fill: wp-colors.$gray-900;
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
.components-menu-item__item {
|
|
@@ -64,7 +67,7 @@
|
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
.components-menu-group__label {
|
|
67
|
-
color:
|
|
70
|
+
color: wp-colors.$gray-900;
|
|
68
71
|
font-size: 12px;
|
|
69
72
|
font-weight: bold;
|
|
70
73
|
line-height: 16px;
|
|
@@ -86,8 +89,8 @@
|
|
|
86
89
|
min-height: 36px;
|
|
87
90
|
|
|
88
91
|
&:focus ~ div.components-input-control__backdrop {
|
|
89
|
-
border-color:
|
|
90
|
-
box-shadow: inset 0 0 0 1px
|
|
92
|
+
border-color: colors.$primary-500;
|
|
93
|
+
box-shadow: inset 0 0 0 1px colors.$primary-500;
|
|
91
94
|
}
|
|
92
95
|
}
|
|
93
96
|
|
|
@@ -129,7 +132,7 @@
|
|
|
129
132
|
}
|
|
130
133
|
|
|
131
134
|
&:not( .is-without-arrow )::before {
|
|
132
|
-
border-color:
|
|
135
|
+
border-color: wp-colors.$gray-300;
|
|
133
136
|
}
|
|
134
137
|
|
|
135
138
|
&.is-from-bottom {
|
|
@@ -0,0 +1,113 @@
|
|
|
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 = PositionControl;
|
|
8
|
+
var _i18n = require("@wordpress/i18n");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
require("./style.scss");
|
|
12
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
13
|
+
/**
|
|
14
|
+
* WordPress dependencies
|
|
15
|
+
*/
|
|
16
|
+
const __ = _i18n.__;
|
|
17
|
+
/**
|
|
18
|
+
* External dependencies
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Internal dependencies
|
|
22
|
+
*/
|
|
23
|
+
function PositionControl(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
allowedPositions,
|
|
26
|
+
value,
|
|
27
|
+
label,
|
|
28
|
+
help,
|
|
29
|
+
onChange,
|
|
30
|
+
size,
|
|
31
|
+
...props
|
|
32
|
+
} = _ref;
|
|
33
|
+
/**
|
|
34
|
+
* Set layout options
|
|
35
|
+
*/
|
|
36
|
+
const options = size === 'full-width' ? [{
|
|
37
|
+
value: 'top',
|
|
38
|
+
/* translators: Overlay Position */
|
|
39
|
+
label: __('Top', 'newspack')
|
|
40
|
+
}, {
|
|
41
|
+
value: 'center',
|
|
42
|
+
/* translators: Overlay Position */
|
|
43
|
+
label: __('Center', 'newspack')
|
|
44
|
+
}, {
|
|
45
|
+
value: 'bottom',
|
|
46
|
+
/* translators: Overlay Position */
|
|
47
|
+
label: __('Bottom', 'newspack')
|
|
48
|
+
}] : [{
|
|
49
|
+
value: 'top_left',
|
|
50
|
+
/* translators: Overlay Position */
|
|
51
|
+
label: __('Top Left', 'newspack')
|
|
52
|
+
}, {
|
|
53
|
+
value: 'top',
|
|
54
|
+
/* translators: Overlay Position */
|
|
55
|
+
label: __('Top Center', 'newspack')
|
|
56
|
+
}, {
|
|
57
|
+
value: 'top_right',
|
|
58
|
+
/* translators: Overlay Position */
|
|
59
|
+
label: __('Top Right', 'newspack')
|
|
60
|
+
}, {
|
|
61
|
+
value: 'center_left',
|
|
62
|
+
/* translators: Overlay Position */
|
|
63
|
+
label: __('Center Left', 'newspack')
|
|
64
|
+
}, {
|
|
65
|
+
value: 'center',
|
|
66
|
+
/* translators: Overlay Position */
|
|
67
|
+
label: __('Center', 'newspack')
|
|
68
|
+
}, {
|
|
69
|
+
value: 'center_right',
|
|
70
|
+
/* translators: Overlay Position */
|
|
71
|
+
label: __('Center Right', 'newspack')
|
|
72
|
+
}, {
|
|
73
|
+
value: 'bottom_left',
|
|
74
|
+
/* translators: Overlay Position */
|
|
75
|
+
label: __('Bottom Left', 'newspack')
|
|
76
|
+
}, {
|
|
77
|
+
value: 'bottom',
|
|
78
|
+
/* translators: Overlay Position */
|
|
79
|
+
label: __('Bottom Center', 'newspack')
|
|
80
|
+
}, {
|
|
81
|
+
value: 'bottom_right',
|
|
82
|
+
/* translators: Overlay Position */
|
|
83
|
+
label: __('Bottom Right', 'newspack')
|
|
84
|
+
}];
|
|
85
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
86
|
+
className: (0, _classnames.default)('newspack-position-placement-control', 'size-' + size),
|
|
87
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
88
|
+
className: "components-base-control__label",
|
|
89
|
+
children: label
|
|
90
|
+
}), (0, _jsxRuntime.jsx)(_components.ButtonGroup, {
|
|
91
|
+
"aria-label": __('Select Position', 'newspack'),
|
|
92
|
+
...props,
|
|
93
|
+
children: options.map((option, index) => {
|
|
94
|
+
return (0, _jsxRuntime.jsx)("div", {
|
|
95
|
+
className: option.value === value ? 'is-selected' : null,
|
|
96
|
+
children: (0, _jsxRuntime.jsx)(_components.Button, {
|
|
97
|
+
isSmall: true,
|
|
98
|
+
title: option.label,
|
|
99
|
+
"aria-label": option.label,
|
|
100
|
+
isPrimary: option.value === value,
|
|
101
|
+
onClick: () => {
|
|
102
|
+
onChange(option.value);
|
|
103
|
+
},
|
|
104
|
+
disabled: allowedPositions?.length && !allowedPositions.includes(option.value)
|
|
105
|
+
})
|
|
106
|
+
}, `newspack-position-placement-item-${index}`);
|
|
107
|
+
})
|
|
108
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
109
|
+
className: "components-base-control__help",
|
|
110
|
+
children: help
|
|
111
|
+
})]
|
|
112
|
+
});
|
|
113
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
2
|
+
|
|
3
|
+
.newspack-position-placement-control {
|
|
4
|
+
margin-bottom: 1em;
|
|
5
|
+
|
|
6
|
+
.components-base-control__label {
|
|
7
|
+
margin-bottom: 8px;
|
|
8
|
+
margin-top: 1em;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.components-button-group {
|
|
12
|
+
display: grid;
|
|
13
|
+
grid-template-columns: repeat( 3, 1fr );
|
|
14
|
+
grid-template-rows: repeat( 3, 1fr );
|
|
15
|
+
|
|
16
|
+
div {
|
|
17
|
+
padding: 1px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.components-button {
|
|
21
|
+
border-radius: 0 !important;
|
|
22
|
+
height: 100%;
|
|
23
|
+
padding: 20px;
|
|
24
|
+
width: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
div:nth-of-type( 1 ) .components-button {
|
|
28
|
+
border-radius: 4px 0 0 !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
div:nth-of-type( 3 ) .components-button {
|
|
32
|
+
border-radius: 0 4px 0 0 !important;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
div:nth-last-of-type( 1 ) .components-button {
|
|
36
|
+
border-radius: 0 0 4px !important;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
div:nth-last-of-type( 3 ) .components-button {
|
|
40
|
+
border-radius: 0 0 0 4px !important;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&.size-full-width .components-button-group {
|
|
45
|
+
grid-template-columns: 1fr;
|
|
46
|
+
|
|
47
|
+
div:first-of-type .components-button {
|
|
48
|
+
border-radius: 4px 4px 0 0 !important;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
div:nth-of-type( 2 ) .components-button {
|
|
52
|
+
border-radius: 0 !important;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
div:last-of-type .components-button {
|
|
56
|
+
border-radius: 0 0 4px 4px !important;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.components-base-control__help {
|
|
61
|
+
color: wp-colors.$gray-700;
|
|
62
|
+
font-size: 12px;
|
|
63
|
+
font-style: normal;
|
|
64
|
+
margin-top: 8px;
|
|
65
|
+
}
|
|
66
|
+
}
|