newspack-components 2.1.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/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/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/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/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/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/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/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/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/package.json +4 -4
- package/shared/js/button-props.js +3 -1
- package/shared/scss/_mixins.scss +12 -0
- 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
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* Action Card
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
@
|
|
5
|
+
@use 'sass:color';
|
|
6
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
6
7
|
|
|
7
8
|
.newspack-card.newspack-action-card {
|
|
8
9
|
padding: 0;
|
|
9
|
-
border-color:
|
|
10
|
+
border-color: wp-colors.$gray-300;
|
|
10
11
|
|
|
11
12
|
// Clickable
|
|
12
13
|
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
&.newspack-card__is-secondary,
|
|
26
27
|
&.newspack-card__is-supported,
|
|
27
28
|
&.newspack-card__is-unsupported {
|
|
28
|
-
box-shadow: inset 4px 0 0
|
|
29
|
+
box-shadow: inset 4px 0 0 wp-colors.$gray-100;
|
|
29
30
|
|
|
30
31
|
.newspack-action-card__region-top {
|
|
31
32
|
padding-left: 28px;
|
|
@@ -37,15 +38,15 @@
|
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
&.newspack-card__is-secondary {
|
|
40
|
-
box-shadow: inset 4px 0 0
|
|
41
|
+
box-shadow: inset 4px 0 0 wp-colors.$alert-yellow;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
&.newspack-card__is-supported {
|
|
44
|
-
box-shadow: inset 4px 0 0
|
|
45
|
+
box-shadow: inset 4px 0 0 wp-colors.$alert-green;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
&.newspack-card__is-unsupported {
|
|
48
|
-
box-shadow: inset 4px 0 0
|
|
49
|
+
box-shadow: inset 4px 0 0 wp-colors.$alert-red;
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
// Small
|
|
@@ -83,18 +84,18 @@
|
|
|
83
84
|
}
|
|
84
85
|
|
|
85
86
|
&.mv0 {
|
|
86
|
-
border-left-color:
|
|
87
|
+
border-left-color: wp-colors.$gray-300;
|
|
87
88
|
border-radius: 0;
|
|
88
|
-
border-right-color:
|
|
89
|
+
border-right-color: wp-colors.$gray-300;
|
|
89
90
|
|
|
90
91
|
&:first-of-type {
|
|
91
|
-
border-top-color:
|
|
92
|
+
border-top-color: wp-colors.$gray-300;
|
|
92
93
|
border-top-left-radius: 3px;
|
|
93
94
|
border-top-right-radius: 3px;
|
|
94
95
|
}
|
|
95
96
|
|
|
96
97
|
&:last-of-type {
|
|
97
|
-
border-bottom-color:
|
|
98
|
+
border-bottom-color: wp-colors.$gray-300;
|
|
98
99
|
border-bottom-left-radius: 3px;
|
|
99
100
|
border-bottom-right-radius: 3px;
|
|
100
101
|
}
|
|
@@ -141,7 +142,25 @@
|
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
.newspack-action-card__region-children {
|
|
144
|
-
padding: 0 32px 32px
|
|
145
|
+
padding: 0 32px 32px;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Nested children
|
|
150
|
+
|
|
151
|
+
&.newspack-card--has-children {
|
|
152
|
+
.newspack-action-card {
|
|
153
|
+
&:first-child {
|
|
154
|
+
margin-top: 32px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
+ .newspack-action-card {
|
|
158
|
+
margin-top: 16px !important;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
&:last-child {
|
|
162
|
+
margin-bottom: 0;
|
|
163
|
+
}
|
|
145
164
|
}
|
|
146
165
|
}
|
|
147
166
|
|
|
@@ -152,7 +171,12 @@
|
|
|
152
171
|
|
|
153
172
|
&.newspack-card--has-children {
|
|
154
173
|
.newspack-action-card__region-top {
|
|
155
|
-
border-bottom: 1px solid
|
|
174
|
+
border-bottom: 1px solid wp-colors.$gray-300;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.is-small > .newspack-action-card__region-top {
|
|
178
|
+
padding-bottom: 8px;
|
|
179
|
+
padding-top: 8px;
|
|
156
180
|
}
|
|
157
181
|
}
|
|
158
182
|
|
|
@@ -162,11 +186,18 @@
|
|
|
162
186
|
|
|
163
187
|
.newspack-action-card__region-center {
|
|
164
188
|
p {
|
|
165
|
-
color:
|
|
189
|
+
color: color.adjust( wp-colors.$gray-700, $lightness: -0.75% );
|
|
166
190
|
}
|
|
167
191
|
}
|
|
168
192
|
}
|
|
169
193
|
|
|
194
|
+
&.newspack-card--has-white-header {
|
|
195
|
+
.newspack-action-card__region-top {
|
|
196
|
+
background-color: transparent;
|
|
197
|
+
border: none !important;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
170
201
|
// Indent
|
|
171
202
|
|
|
172
203
|
&.newspack-card--indent {
|
|
@@ -174,17 +205,14 @@
|
|
|
174
205
|
position: relative;
|
|
175
206
|
|
|
176
207
|
&::before {
|
|
177
|
-
border: 0 solid
|
|
208
|
+
border: 0 solid wp-colors.$gray-300;
|
|
178
209
|
border-left-width: 1px;
|
|
179
210
|
border-bottom-width: 1px;
|
|
180
211
|
border-radius: 0 0 0 2px;
|
|
181
|
-
bottom: 50%;
|
|
182
212
|
content: '';
|
|
183
213
|
display: block;
|
|
184
|
-
left: -28px;
|
|
185
214
|
position: absolute;
|
|
186
|
-
|
|
187
|
-
top: -17px;
|
|
215
|
+
inset: -17px 100% 50% -28px;
|
|
188
216
|
}
|
|
189
217
|
}
|
|
190
218
|
|
|
@@ -258,7 +286,7 @@
|
|
|
258
286
|
}
|
|
259
287
|
|
|
260
288
|
.newspack-action-card__region-children {
|
|
261
|
-
padding: 0 24px 24px
|
|
289
|
+
padding: 0 24px 24px;
|
|
262
290
|
|
|
263
291
|
&__inner {
|
|
264
292
|
padding-top: 32px;
|
|
@@ -304,7 +332,7 @@
|
|
|
304
332
|
}
|
|
305
333
|
|
|
306
334
|
p {
|
|
307
|
-
color:
|
|
335
|
+
color: wp-colors.$gray-700;
|
|
308
336
|
}
|
|
309
337
|
}
|
|
310
338
|
|
|
@@ -347,6 +375,12 @@
|
|
|
347
375
|
margin-top: 0;
|
|
348
376
|
}
|
|
349
377
|
}
|
|
378
|
+
|
|
379
|
+
&.newspack-action-card__region-children {
|
|
380
|
+
.newspack-notice {
|
|
381
|
+
margin-top: 32px;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
350
384
|
}
|
|
351
385
|
|
|
352
386
|
// Image
|
|
@@ -369,9 +403,9 @@
|
|
|
369
403
|
// Badge
|
|
370
404
|
|
|
371
405
|
.newspack-action-card__badge {
|
|
372
|
-
background:
|
|
406
|
+
background: wp-colors.$gray-100;
|
|
373
407
|
border-radius: 2px;
|
|
374
|
-
color:
|
|
408
|
+
color: wp-colors.$gray-900;
|
|
375
409
|
display: block;
|
|
376
410
|
flex: 0 0 auto;
|
|
377
411
|
font-size: 10px;
|
|
@@ -392,6 +426,49 @@
|
|
|
392
426
|
font-style: italic;
|
|
393
427
|
}
|
|
394
428
|
|
|
429
|
+
// Expandable card children
|
|
430
|
+
|
|
431
|
+
&.is-expandable {
|
|
432
|
+
.newspack-action-card__title .components-button.is-link {
|
|
433
|
+
color: inherit;
|
|
434
|
+
font-size: inherit;
|
|
435
|
+
font-weight: inherit;
|
|
436
|
+
text-decoration: inherit;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.newspack-action-card__region-children {
|
|
440
|
+
border-top: 1px solid wp-colors.$gray-100;
|
|
441
|
+
padding-top: 24px;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
&.is-medium .newspack-action-card__region-children {
|
|
445
|
+
padding-top: 32px;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
&.has-checkbox {
|
|
449
|
+
.newspack-action-card__region-children {
|
|
450
|
+
padding-left: 72px;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
&.is-small .newspack-action-card__region-children {
|
|
454
|
+
padding-left: 64px;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
&.is-medium .newspack-action-card__region-children {
|
|
458
|
+
padding-left: 56px;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
// Action content with multiple buttons
|
|
464
|
+
&.has-action-content .newspack-action-card__region-right {
|
|
465
|
+
flex-direction: row;
|
|
466
|
+
|
|
467
|
+
.components-button + .components-button {
|
|
468
|
+
margin-left: 8px;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
395
472
|
// Multiple Cards
|
|
396
473
|
|
|
397
474
|
& + & {
|
|
@@ -401,6 +478,6 @@
|
|
|
401
478
|
|
|
402
479
|
.newspack-card {
|
|
403
480
|
.newspack-card.newspack-action-card {
|
|
404
|
-
border: 1px solid
|
|
481
|
+
border: 1px solid wp-colors.$gray-200;
|
|
405
482
|
}
|
|
406
483
|
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* External dependencies
|
|
5
4
|
*/
|
|
6
|
-
import
|
|
5
|
+
import debounce from 'lodash/debounce';
|
|
6
|
+
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
10
|
import { Component } from '@wordpress/element';
|
|
12
11
|
import { FormTokenField, Spinner } from '@wordpress/components';
|
|
12
|
+
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
16
|
import './style.scss';
|
|
17
|
+
|
|
18
18
|
/**
|
|
19
19
|
* An multi-selecting, api-driven autocomplete input suitable for use in block attributes.
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
21
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
23
22
|
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
24
|
-
|
|
25
23
|
class AutocompleteTokenField extends Component {
|
|
26
24
|
constructor(props) {
|
|
27
25
|
super(props);
|
|
28
|
-
|
|
26
|
+
/**
|
|
27
|
+
* If the component has tokens passed in props, it should fetch info after it mounts.
|
|
28
|
+
*/
|
|
29
29
|
_defineProperty(this, "isFetchingInfoOnLoad", () => {
|
|
30
30
|
const {
|
|
31
31
|
tokens,
|
|
@@ -33,7 +33,6 @@ class AutocompleteTokenField extends Component {
|
|
|
33
33
|
} = this.props;
|
|
34
34
|
return Boolean(tokens.length && fetchSavedInfo);
|
|
35
35
|
});
|
|
36
|
-
|
|
37
36
|
this.state = {
|
|
38
37
|
suggestions: [],
|
|
39
38
|
validValues: {},
|
|
@@ -41,11 +40,6 @@ class AutocompleteTokenField extends Component {
|
|
|
41
40
|
};
|
|
42
41
|
this.debouncedUpdateSuggestions = debounce(this.updateSuggestions, 500);
|
|
43
42
|
}
|
|
44
|
-
/**
|
|
45
|
-
* If the component has tokens passed in props, it should fetch info after it mounts.
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
43
|
/**
|
|
50
44
|
* When the component loads, fetch information about the tokens so we can populate
|
|
51
45
|
* the tokens with the correct labels.
|
|
@@ -70,23 +64,21 @@ class AutocompleteTokenField extends Component {
|
|
|
70
64
|
});
|
|
71
65
|
}
|
|
72
66
|
}
|
|
67
|
+
|
|
73
68
|
/**
|
|
74
69
|
* Clean up any unfinished autocomplete api call requests.
|
|
75
70
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
71
|
componentWillUnmount() {
|
|
79
72
|
delete this.suggestionsRequest;
|
|
80
73
|
this.debouncedUpdateSuggestions.cancel();
|
|
81
74
|
}
|
|
75
|
+
|
|
82
76
|
/**
|
|
83
77
|
* Get a list of labels for input values.
|
|
84
78
|
*
|
|
85
79
|
* @param {Array} values Array of values (ids, etc.).
|
|
86
80
|
* @return {Array} array of valid labels corresponding to the values.
|
|
87
81
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
82
|
getLabelsForValues(values) {
|
|
91
83
|
const {
|
|
92
84
|
validValues
|
|
@@ -95,31 +87,26 @@ class AutocompleteTokenField extends Component {
|
|
|
95
87
|
if (!value) {
|
|
96
88
|
return accumulator;
|
|
97
89
|
}
|
|
98
|
-
|
|
99
90
|
if (value.label) {
|
|
100
91
|
return [...accumulator, value.label];
|
|
101
92
|
}
|
|
102
|
-
|
|
103
93
|
return validValues[value] ? [...accumulator, validValues[value]] : accumulator;
|
|
104
94
|
}, []);
|
|
105
95
|
}
|
|
96
|
+
|
|
106
97
|
/**
|
|
107
98
|
* Get a list of values for input labels.
|
|
108
99
|
*
|
|
109
100
|
* @param {Array} labels Array of labels from the tokens.
|
|
110
101
|
* @return {Array} Array of valid values corresponding to the labels.
|
|
111
102
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
103
|
getValuesForLabels(labels) {
|
|
115
104
|
const {
|
|
116
105
|
returnFullObjects
|
|
117
106
|
} = this.props; // If this prop is passed, return both the value and label. Otherwise, return just the label.
|
|
118
|
-
|
|
119
107
|
const {
|
|
120
108
|
validValues
|
|
121
109
|
} = this.state;
|
|
122
|
-
|
|
123
110
|
if (returnFullObjects) {
|
|
124
111
|
return labels.reduce((acc, label) => {
|
|
125
112
|
Object.keys(validValues).forEach(key => {
|
|
@@ -133,25 +120,21 @@ class AutocompleteTokenField extends Component {
|
|
|
133
120
|
return acc;
|
|
134
121
|
}, []);
|
|
135
122
|
}
|
|
136
|
-
|
|
137
123
|
return labels.map(label => Object.keys(validValues).find(key => validValues[key] === label));
|
|
138
124
|
}
|
|
125
|
+
|
|
139
126
|
/**
|
|
140
127
|
* Refresh the autocomplete dropdown.
|
|
141
128
|
*
|
|
142
129
|
* @param {string} input Input to fetch suggestions for
|
|
143
130
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
131
|
updateSuggestions(input) {
|
|
147
132
|
const {
|
|
148
133
|
fetchSuggestions
|
|
149
134
|
} = this.props;
|
|
150
|
-
|
|
151
135
|
if (!fetchSuggestions) {
|
|
152
136
|
return;
|
|
153
137
|
}
|
|
154
|
-
|
|
155
138
|
this.setState({
|
|
156
139
|
loading: true
|
|
157
140
|
}, () => {
|
|
@@ -163,7 +146,6 @@ class AutocompleteTokenField extends Component {
|
|
|
163
146
|
if (this.suggestionsRequest !== request) {
|
|
164
147
|
return;
|
|
165
148
|
}
|
|
166
|
-
|
|
167
149
|
const currentSuggestions = [...suggestions];
|
|
168
150
|
const currentValidValues = {};
|
|
169
151
|
suggestions.forEach(suggestion => {
|
|
@@ -184,37 +166,34 @@ class AutocompleteTokenField extends Component {
|
|
|
184
166
|
this.suggestionsRequest = request;
|
|
185
167
|
});
|
|
186
168
|
}
|
|
169
|
+
|
|
187
170
|
/**
|
|
188
171
|
* When a token is selected, we need to convert the string label into a recognized value suitable for saving as an attribute.
|
|
189
172
|
*
|
|
190
173
|
* @param {Array} tokenStrings An array of token label strings.
|
|
191
174
|
*/
|
|
192
|
-
|
|
193
|
-
|
|
194
175
|
handleOnChange(tokenStrings) {
|
|
195
176
|
const {
|
|
196
177
|
onChange
|
|
197
178
|
} = this.props;
|
|
198
179
|
onChange(this.getValuesForLabels(tokenStrings));
|
|
199
180
|
}
|
|
181
|
+
|
|
200
182
|
/**
|
|
201
183
|
* To populate the tokens, we need to convert the values into a human-readable label.
|
|
202
184
|
*
|
|
203
185
|
* @return {Array} An array of token label strings.
|
|
204
186
|
*/
|
|
205
|
-
|
|
206
|
-
|
|
207
187
|
getTokens() {
|
|
208
188
|
const {
|
|
209
189
|
tokens
|
|
210
190
|
} = this.props;
|
|
211
191
|
return this.getLabelsForValues(tokens);
|
|
212
192
|
}
|
|
193
|
+
|
|
213
194
|
/**
|
|
214
195
|
* Render.
|
|
215
196
|
*/
|
|
216
|
-
|
|
217
|
-
|
|
218
197
|
render() {
|
|
219
198
|
const {
|
|
220
199
|
help,
|
|
@@ -240,7 +219,5 @@ class AutocompleteTokenField extends Component {
|
|
|
240
219
|
})]
|
|
241
220
|
});
|
|
242
221
|
}
|
|
243
|
-
|
|
244
222
|
}
|
|
245
|
-
|
|
246
223
|
export default AutocompleteTokenField;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Autocomplete Token Field
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
@
|
|
5
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
6
6
|
|
|
7
7
|
.newspack-autocomplete-tokenfield {
|
|
8
8
|
position: relative;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.newspack-autocomplete-tokenfield__help {
|
|
30
|
-
color:
|
|
30
|
+
color: wp-colors.$gray-700;
|
|
31
31
|
font-size: inherit;
|
|
32
32
|
margin-top: 0;
|
|
33
33
|
}
|