newspack-components 2.0.3 → 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/copy-styles.js +1 -1
- package/dist/cjs/accordion/index.js +46 -0
- package/dist/cjs/accordion/style.scss +27 -0
- package/dist/cjs/action-card/index.js +72 -40
- package/dist/cjs/action-card/style.scss +143 -41
- package/dist/cjs/autocomplete-tokenfield/index.js +13 -41
- package/dist/cjs/autocomplete-tokenfield/style.scss +6 -6
- package/dist/cjs/autocomplete-with-suggestions/index.js +33 -53
- package/dist/cjs/autocomplete-with-suggestions/style.scss +27 -27
- package/dist/cjs/button/index.js +1 -20
- package/dist/cjs/button/style.scss +3 -344
- package/dist/cjs/button-card/index.js +11 -15
- package/dist/cjs/button-card/style.scss +65 -35
- package/dist/cjs/card/index.js +4 -9
- package/dist/cjs/card/style.scss +47 -63
- package/dist/cjs/category-autocomplete/index.js +66 -47
- package/dist/cjs/category-autocomplete/style.scss +20 -24
- package/dist/cjs/color-picker/index.js +16 -48
- package/dist/cjs/color-picker/style.scss +20 -163
- 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 +14 -45
- 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 +24 -22
- package/dist/cjs/footer/style.scss +13 -14
- package/dist/cjs/form-token-field/index.js +3 -11
- package/dist/cjs/form-token-field/style.scss +9 -105
- package/dist/cjs/global-notices/index.js +3 -9
- package/dist/cjs/grid/index.js +1 -8
- package/dist/cjs/grid/style.scss +19 -6
- package/dist/cjs/handoff/index.js +15 -24
- 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 +22 -20
- package/dist/cjs/image-upload/index.test.js +0 -5
- package/dist/cjs/image-upload/style.scss +12 -17
- package/dist/cjs/index.js +31 -93
- 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 -12
- package/dist/cjs/modal/style.scss +20 -132
- package/dist/cjs/newspack-icon/index.js +5 -11
- package/dist/cjs/newspack-icon/style.scss +17 -2
- 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 -16
- package/dist/cjs/notice/style.scss +60 -19
- package/dist/cjs/patrons-logo/index.js +3 -11
- package/dist/cjs/plugin-installer/index.js +37 -37
- package/dist/cjs/plugin-installer/style.scss +5 -5
- package/dist/cjs/plugin-settings/SettingsSection.js +71 -59
- package/dist/cjs/plugin-settings/index.js +71 -50
- package/dist/cjs/plugin-settings/style.scss +7 -0
- package/dist/cjs/plugin-toggle/index.js +60 -32
- package/dist/cjs/plugin-toggle/style.scss +2 -2
- package/dist/cjs/popover/index.js +1 -11
- package/dist/cjs/popover/style.scss +20 -17
- 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 +10 -11
- package/dist/cjs/section-header/index.js +47 -19
- package/dist/cjs/section-header/style.scss +22 -1
- package/dist/cjs/select-control/ButtonGroupControl.js +11 -20
- package/dist/cjs/select-control/GroupedSelectControl.js +42 -45
- package/dist/cjs/select-control/index.js +6 -14
- package/dist/cjs/select-control/style.scss +47 -88
- package/dist/cjs/settings/MinMaxSetting.js +6 -8
- package/dist/cjs/settings/SettingsCard.js +9 -8
- package/dist/cjs/settings/SettingsSection.js +5 -8
- package/dist/cjs/settings/index.js +0 -6
- package/dist/cjs/settings/style.scss +32 -4
- 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 +15 -18
- package/dist/cjs/style-card/style.scss +19 -18
- package/dist/cjs/style.scss +43 -0
- package/dist/cjs/tabbed-navigation/index.js +27 -31
- package/dist/cjs/tabbed-navigation/style.scss +58 -37
- package/dist/cjs/text-control/index.js +6 -19
- package/dist/cjs/text-control/style.scss +0 -126
- package/dist/cjs/utils/index.js +10 -5
- package/dist/cjs/waiting/index.js +9 -33
- package/dist/cjs/waiting/style.scss +9 -20
- package/dist/cjs/web-preview/index.js +30 -57
- package/dist/cjs/web-preview/style.scss +41 -34
- package/dist/cjs/with-wizard/index.js +55 -33
- package/dist/cjs/with-wizard/style.scss +77 -124
- package/dist/cjs/with-wizard-screen/index.js +28 -38
- package/dist/cjs/with-wizard-screen/style.scss +75 -125
- package/dist/cjs/wizard/components/WizardError.js +74 -0
- package/dist/cjs/wizard/index.js +131 -0
- package/dist/cjs/wizard/store/index.js +165 -0
- package/dist/cjs/wizard/store/utils.js +26 -0
- 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 +75 -37
- package/dist/esm/action-card/style.scss +143 -41
- package/dist/esm/autocomplete-tokenfield/index.js +14 -37
- package/dist/esm/autocomplete-tokenfield/style.scss +6 -6
- package/dist/esm/autocomplete-with-suggestions/index.js +31 -43
- package/dist/esm/autocomplete-with-suggestions/style.scss +27 -27
- package/dist/esm/button/index.js +2 -14
- package/dist/esm/button/style.scss +3 -344
- package/dist/esm/button-card/index.js +12 -11
- package/dist/esm/button-card/style.scss +65 -35
- package/dist/esm/card/index.js +5 -6
- package/dist/esm/card/style.scss +47 -63
- package/dist/esm/category-autocomplete/index.js +68 -41
- package/dist/esm/category-autocomplete/style.scss +20 -24
- package/dist/esm/color-picker/index.js +17 -38
- package/dist/esm/color-picker/style.scss +20 -163
- 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 +14 -45
- 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 +22 -16
- package/dist/esm/footer/style.scss +13 -14
- package/dist/esm/form-token-field/index.js +4 -7
- package/dist/esm/form-token-field/style.scss +9 -105
- package/dist/esm/global-notices/index.js +3 -7
- package/dist/esm/grid/index.js +2 -5
- package/dist/esm/grid/style.scss +19 -6
- package/dist/esm/handoff/index.js +10 -21
- 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 +18 -17
- package/dist/esm/image-upload/style.scss +12 -17
- package/dist/esm/index.js +7 -8
- 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 -8
- package/dist/esm/modal/style.scss +20 -132
- package/dist/esm/newspack-icon/index.js +6 -7
- package/dist/esm/newspack-icon/style.scss +17 -2
- package/dist/esm/newspack-logo/index.js +2 -5
- package/dist/esm/newspack-logo/style.scss +3 -3
- package/dist/esm/notice/index.js +11 -10
- package/dist/esm/notice/style.scss +60 -19
- package/dist/esm/patrons-logo/index.js +3 -5
- package/dist/esm/plugin-installer/index.js +37 -40
- package/dist/esm/plugin-installer/style.scss +5 -5
- package/dist/esm/plugin-settings/SettingsSection.js +71 -56
- package/dist/esm/plugin-settings/index.js +70 -52
- package/dist/esm/plugin-settings/style.scss +7 -0
- package/dist/esm/plugin-toggle/index.js +59 -34
- package/dist/esm/plugin-toggle/style.scss +2 -2
- package/dist/esm/popover/index.js +3 -6
- package/dist/esm/popover/style.scss +20 -17
- 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 +10 -11
- package/dist/esm/section-header/index.js +47 -16
- package/dist/esm/section-header/style.scss +22 -1
- package/dist/esm/select-control/ButtonGroupControl.js +12 -14
- package/dist/esm/select-control/GroupedSelectControl.js +38 -36
- package/dist/esm/select-control/index.js +7 -8
- package/dist/esm/select-control/style.scss +47 -88
- package/dist/esm/settings/MinMaxSetting.js +4 -5
- package/dist/esm/settings/SettingsCard.js +9 -5
- package/dist/esm/settings/SettingsSection.js +5 -7
- package/dist/esm/settings/style.scss +32 -4
- 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 +13 -13
- package/dist/esm/style-card/style.scss +19 -18
- package/dist/esm/style.scss +43 -0
- package/dist/esm/tabbed-navigation/index.js +30 -28
- package/dist/esm/tabbed-navigation/style.scss +58 -37
- package/dist/esm/text-control/index.js +2 -12
- package/dist/esm/text-control/style.scss +0 -126
- package/dist/esm/utils/index.js +9 -3
- package/dist/esm/waiting/index.js +11 -27
- package/dist/esm/waiting/style.scss +9 -20
- package/dist/esm/web-preview/index.js +21 -49
- package/dist/esm/web-preview/style.scss +41 -34
- package/dist/esm/with-wizard/index.js +53 -36
- package/dist/esm/with-wizard/style.scss +77 -124
- package/dist/esm/with-wizard-screen/index.js +26 -32
- package/dist/esm/with-wizard-screen/style.scss +75 -125
- package/dist/esm/wizard/components/WizardError.js +69 -0
- package/dist/esm/wizard/index.js +126 -0
- package/dist/esm/wizard/store/index.js +155 -0
- package/dist/esm/wizard/store/utils.js +17 -0
- package/dist/esm/wizard/style.scss +148 -0
- package/package.json +4 -4
- package/src/accordion/index.js +32 -0
- package/src/accordion/style.scss +27 -0
- package/src/action-card/index.js +70 -25
- package/src/action-card/style.scss +143 -41
- package/src/autocomplete-tokenfield/index.js +1 -1
- package/src/autocomplete-tokenfield/style.scss +6 -6
- package/src/autocomplete-with-suggestions/index.js +4 -2
- package/src/autocomplete-with-suggestions/style.scss +27 -27
- package/src/button/index.js +2 -9
- package/src/button/style.scss +3 -344
- package/src/button-card/index.js +19 -5
- package/src/button-card/style.scss +65 -35
- package/src/card/index.js +4 -0
- package/src/card/style.scss +47 -63
- package/src/category-autocomplete/index.js +53 -18
- package/src/category-autocomplete/style.scss +20 -24
- package/src/color-picker/index.js +16 -22
- package/src/color-picker/style.scss +20 -163
- package/src/consts.js +2 -1
- package/src/custom-select-control/style.scss +14 -45
- package/src/date-range-picker/style.scss +12 -12
- package/src/footer/index.js +20 -9
- package/src/footer/style.scss +13 -14
- package/src/form-token-field/index.js +3 -8
- package/src/form-token-field/style.scss +9 -105
- package/src/global-notices/index.js +1 -1
- package/src/grid/style.scss +19 -6
- package/src/handoff/index.js +10 -15
- 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 +12 -17
- package/src/index.js +7 -7
- package/src/info-button/style.scss +1 -3
- package/src/modal/index.js +2 -5
- package/src/modal/style.scss +20 -132
- package/src/newspack-icon/index.js +7 -2
- package/src/newspack-icon/style.scss +17 -2
- package/src/newspack-logo/style.scss +3 -3
- package/src/notice/index.js +9 -1
- package/src/notice/style.scss +60 -19
- package/src/plugin-installer/index.js +17 -4
- package/src/plugin-installer/style.scss +5 -5
- package/src/plugin-settings/SettingsSection.js +59 -27
- package/src/plugin-settings/index.js +29 -8
- package/src/plugin-settings/style.scss +7 -0
- package/src/plugin-toggle/index.js +37 -12
- package/src/plugin-toggle/style.scss +2 -2
- package/src/popover/style.scss +20 -17
- 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 +10 -11
- package/src/section-header/index.js +41 -5
- package/src/section-header/style.scss +22 -1
- package/src/select-control/ButtonGroupControl.js +15 -5
- package/src/select-control/GroupedSelectControl.js +28 -25
- package/src/select-control/index.js +6 -3
- package/src/select-control/style.scss +47 -88
- package/src/settings/MinMaxSetting.js +2 -1
- package/src/settings/SettingsCard.js +9 -7
- package/src/settings/SettingsSection.js +4 -4
- package/src/settings/style.scss +32 -4
- 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 +16 -27
- package/src/style-card/style.scss +19 -18
- package/src/style.scss +43 -0
- package/src/tabbed-navigation/index.js +20 -24
- package/src/tabbed-navigation/style.scss +58 -37
- package/src/text-control/index.js +1 -2
- package/src/text-control/style.scss +0 -126
- package/src/utils/index.js +9 -0
- package/src/waiting/index.js +7 -18
- package/src/waiting/style.scss +9 -20
- package/src/web-preview/index.js +13 -34
- package/src/web-preview/style.scss +41 -34
- package/src/with-wizard/index.js +7 -5
- package/src/with-wizard/style.scss +77 -124
- package/src/with-wizard-screen/index.js +17 -17
- package/src/with-wizard-screen/style.scss +75 -125
- package/src/wizard/components/WizardError.js +57 -0
- package/src/wizard/index.js +145 -0
- package/src/wizard/store/index.js +132 -0
- package/src/wizard/store/utils.js +16 -0
- package/dist/cjs/wizard-pagination/index.js +0 -71
- package/dist/cjs/wizard-pagination/style.scss +0 -74
- package/dist/esm/wizard-pagination/index.js +0 -57
- package/dist/esm/wizard-pagination/style.scss +0 -74
- package/src/button-group/index.js +0 -35
- package/src/button-group/style.scss +0 -73
- package/src/checkbox-control/index.js +0 -38
- package/src/checkbox-control/style.scss +0 -78
- package/src/preview-box/index.js +0 -18
- package/src/preview-box/style.scss +0 -18
- package/src/textarea-control/index.js +0 -32
- package/src/textarea-control/style.scss +0 -76
- package/src/toggle-control/index.js +0 -38
- package/src/toggle-control/style.scss +0 -74
- package/src/toggle-group/index.js +0 -43
- package/src/toggle-group/style.scss +0 -28
- package/src/wizard-pagination/index.js +0 -59
- package/src/wizard-pagination/style.scss +0 -74
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Action Card
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
@
|
|
6
|
-
@
|
|
5
|
+
@use 'sass:color';
|
|
6
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
7
7
|
|
|
8
8
|
.newspack-card.newspack-action-card {
|
|
9
9
|
padding: 0;
|
|
10
|
-
border-color:
|
|
10
|
+
border-color: wp-colors.$gray-300;
|
|
11
11
|
|
|
12
12
|
// Clickable
|
|
13
13
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
&.newspack-card__is-secondary,
|
|
27
27
|
&.newspack-card__is-supported,
|
|
28
28
|
&.newspack-card__is-unsupported {
|
|
29
|
-
box-shadow: inset 4px 0 0
|
|
29
|
+
box-shadow: inset 4px 0 0 wp-colors.$gray-100;
|
|
30
30
|
|
|
31
31
|
.newspack-action-card__region-top {
|
|
32
32
|
padding-left: 28px;
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
&.newspack-card__is-primary {
|
|
37
|
-
box-shadow: inset 4px 0 0
|
|
37
|
+
box-shadow: inset 4px 0 0 var( --wp-admin-theme-color );
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
&.newspack-card__is-secondary {
|
|
41
|
-
box-shadow: inset 4px 0 0
|
|
41
|
+
box-shadow: inset 4px 0 0 wp-colors.$alert-yellow;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
&.newspack-card__is-supported {
|
|
45
|
-
box-shadow: inset 4px 0 0
|
|
45
|
+
box-shadow: inset 4px 0 0 wp-colors.$alert-green;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
&.newspack-card__is-unsupported {
|
|
49
|
-
box-shadow: inset 4px 0 0
|
|
49
|
+
box-shadow: inset 4px 0 0 wp-colors.$alert-red;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
// Small
|
|
@@ -84,18 +84,18 @@
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
&.mv0 {
|
|
87
|
-
border-left-color:
|
|
87
|
+
border-left-color: wp-colors.$gray-300;
|
|
88
88
|
border-radius: 0;
|
|
89
|
-
border-right-color:
|
|
89
|
+
border-right-color: wp-colors.$gray-300;
|
|
90
90
|
|
|
91
91
|
&:first-of-type {
|
|
92
|
-
border-top-color:
|
|
92
|
+
border-top-color: wp-colors.$gray-300;
|
|
93
93
|
border-top-left-radius: 3px;
|
|
94
94
|
border-top-right-radius: 3px;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
&:last-of-type {
|
|
98
|
-
border-bottom-color:
|
|
98
|
+
border-bottom-color: wp-colors.$gray-300;
|
|
99
99
|
border-bottom-left-radius: 3px;
|
|
100
100
|
border-bottom-right-radius: 3px;
|
|
101
101
|
}
|
|
@@ -142,7 +142,25 @@
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
.newspack-action-card__region-children {
|
|
145
|
-
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
|
+
}
|
|
146
164
|
}
|
|
147
165
|
}
|
|
148
166
|
|
|
@@ -150,20 +168,58 @@
|
|
|
150
168
|
|
|
151
169
|
&.newspack-card--has-grey-header {
|
|
152
170
|
overflow: hidden;
|
|
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
|
}
|
|
182
|
+
|
|
158
183
|
.newspack-action-card__region-top {
|
|
159
|
-
background-color:
|
|
184
|
+
background-color: rgba( black, 0.025 );
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.newspack-action-card__region-center {
|
|
188
|
+
p {
|
|
189
|
+
color: color.adjust( wp-colors.$gray-700, $lightness: -0.75% );
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
&.newspack-card--has-white-header {
|
|
195
|
+
.newspack-action-card__region-top {
|
|
196
|
+
background-color: transparent;
|
|
197
|
+
border: none !important;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// Indent
|
|
202
|
+
|
|
203
|
+
&.newspack-card--indent {
|
|
204
|
+
margin-left: 56px;
|
|
205
|
+
position: relative;
|
|
206
|
+
|
|
207
|
+
&::before {
|
|
208
|
+
border: 0 solid wp-colors.$gray-300;
|
|
209
|
+
border-left-width: 1px;
|
|
210
|
+
border-bottom-width: 1px;
|
|
211
|
+
border-radius: 0 0 0 2px;
|
|
212
|
+
content: '';
|
|
213
|
+
display: block;
|
|
214
|
+
position: absolute;
|
|
215
|
+
inset: -17px 100% 50% -28px;
|
|
160
216
|
}
|
|
161
217
|
}
|
|
162
218
|
|
|
163
219
|
// Typography
|
|
164
220
|
|
|
165
221
|
h2,
|
|
166
|
-
p {
|
|
222
|
+
p:not( [class*='components-base-control'] ) {
|
|
167
223
|
margin: 0;
|
|
168
224
|
max-width: 100%;
|
|
169
225
|
width: 100%;
|
|
@@ -186,7 +242,7 @@
|
|
|
186
242
|
&:active,
|
|
187
243
|
&:focus,
|
|
188
244
|
&:hover {
|
|
189
|
-
color:
|
|
245
|
+
color: var( --wp-admin-theme-color );
|
|
190
246
|
}
|
|
191
247
|
}
|
|
192
248
|
}
|
|
@@ -230,7 +286,7 @@
|
|
|
230
286
|
}
|
|
231
287
|
|
|
232
288
|
.newspack-action-card__region-children {
|
|
233
|
-
padding: 0 24px 24px
|
|
289
|
+
padding: 0 24px 24px;
|
|
234
290
|
|
|
235
291
|
&__inner {
|
|
236
292
|
padding-top: 32px;
|
|
@@ -270,6 +326,14 @@
|
|
|
270
326
|
align-items: flex-start;
|
|
271
327
|
flex: 1 1 auto;
|
|
272
328
|
flex-wrap: wrap;
|
|
329
|
+
|
|
330
|
+
.newspack-grid {
|
|
331
|
+
width: 100%;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
p {
|
|
335
|
+
color: wp-colors.$gray-700;
|
|
336
|
+
}
|
|
273
337
|
}
|
|
274
338
|
|
|
275
339
|
.newspack-action-card__region-right {
|
|
@@ -289,6 +353,10 @@
|
|
|
289
353
|
> * {
|
|
290
354
|
text-align: inherit;
|
|
291
355
|
}
|
|
356
|
+
|
|
357
|
+
.newspack-action-card__secondary_button {
|
|
358
|
+
margin-top: 8px;
|
|
359
|
+
}
|
|
292
360
|
}
|
|
293
361
|
|
|
294
362
|
// Waiting
|
|
@@ -307,6 +375,12 @@
|
|
|
307
375
|
margin-top: 0;
|
|
308
376
|
}
|
|
309
377
|
}
|
|
378
|
+
|
|
379
|
+
&.newspack-action-card__region-children {
|
|
380
|
+
.newspack-notice {
|
|
381
|
+
margin-top: 32px;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
310
384
|
}
|
|
311
385
|
|
|
312
386
|
// Image
|
|
@@ -326,34 +400,19 @@
|
|
|
326
400
|
margin: 0;
|
|
327
401
|
}
|
|
328
402
|
|
|
329
|
-
// Buttons
|
|
330
|
-
|
|
331
|
-
.newspack-button {
|
|
332
|
-
&.newspack-action-card__secondary_button {
|
|
333
|
-
&.is-link {
|
|
334
|
-
color: $alert-red;
|
|
335
|
-
|
|
336
|
-
&:active,
|
|
337
|
-
&:focus,
|
|
338
|
-
&:hover {
|
|
339
|
-
color: darken( $alert-red, 20% );
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
|
|
345
403
|
// Badge
|
|
346
404
|
|
|
347
405
|
.newspack-action-card__badge {
|
|
348
|
-
|
|
349
|
-
border-radius:
|
|
406
|
+
background: wp-colors.$gray-100;
|
|
407
|
+
border-radius: 2px;
|
|
408
|
+
color: wp-colors.$gray-900;
|
|
350
409
|
display: block;
|
|
351
410
|
flex: 0 0 auto;
|
|
352
|
-
font-size:
|
|
411
|
+
font-size: 10px;
|
|
353
412
|
font-weight: bold;
|
|
354
|
-
line-height:
|
|
355
|
-
margin:
|
|
356
|
-
padding:
|
|
413
|
+
line-height: 1.4;
|
|
414
|
+
margin: 0 8px 0 0;
|
|
415
|
+
padding: 2px 8px;
|
|
357
416
|
text-transform: uppercase;
|
|
358
417
|
|
|
359
418
|
+ .newspack-action-card__badge {
|
|
@@ -367,6 +426,49 @@
|
|
|
367
426
|
font-style: italic;
|
|
368
427
|
}
|
|
369
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
|
+
|
|
370
472
|
// Multiple Cards
|
|
371
473
|
|
|
372
474
|
& + & {
|
|
@@ -376,6 +478,6 @@
|
|
|
376
478
|
|
|
377
479
|
.newspack-card {
|
|
378
480
|
.newspack-card.newspack-action-card {
|
|
379
|
-
border: 1px solid
|
|
481
|
+
border: 1px solid wp-colors.$gray-200;
|
|
380
482
|
}
|
|
381
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,16 +2,16 @@
|
|
|
2
2
|
* Autocomplete Token Field
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
@
|
|
6
|
-
@import '~@wordpress/base-styles/colors';
|
|
5
|
+
@use '~@wordpress/base-styles/colors' as wp-colors;
|
|
7
6
|
|
|
8
7
|
.newspack-autocomplete-tokenfield {
|
|
9
8
|
position: relative;
|
|
10
9
|
|
|
11
10
|
.components-spinner {
|
|
11
|
+
margin: 8px;
|
|
12
12
|
position: absolute;
|
|
13
|
-
right:
|
|
14
|
-
top:
|
|
13
|
+
right: 0;
|
|
14
|
+
top: calc( 1.4em + 8px );
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/* Workaround for hard-coded help text in FormTokenField. */
|
|
@@ -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
|
}
|
|
@@ -38,6 +38,6 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.components-button:focus:not( :disabled ) {
|
|
41
|
-
box-shadow: inset 0 0 0
|
|
41
|
+
box-shadow: inset 0 0 0 var( --wp-admin-border-width-focus ) var( --wp-admin-theme-color );
|
|
42
42
|
}
|
|
43
43
|
}
|