@wordpress/edit-site 6.4.0 → 6.6.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/CHANGELOG.md +4 -0
- package/build/components/add-new-pattern/index.js +6 -1
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-post/index.js +2 -1
- package/build/components/add-new-post/index.js.map +1 -1
- package/build/components/add-new-template/utils.js +2 -2
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/editor/index.js +71 -20
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +1 -4
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +3 -4
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +0 -5
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +25 -5
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +1 -8
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +23 -7
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +2 -3
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/screen-block.js +5 -7
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-css.js +1 -1
- package/build/components/global-styles/screen-css.js.map +1 -1
- package/build/components/global-styles/screen-typeset.js +40 -0
- package/build/components/global-styles/screen-typeset.js.map +1 -0
- package/build/components/global-styles/screen-typography-element.js +14 -0
- package/build/components/global-styles/screen-typography-element.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +4 -6
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +51 -59
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/size-control/index.js +10 -5
- package/build/components/global-styles/size-control/index.js.map +1 -1
- package/build/components/global-styles/typeset-button.js +97 -0
- package/build/components/global-styles/typeset-button.js.map +1 -0
- package/build/components/global-styles/typeset.js +80 -0
- package/build/components/global-styles/typeset.js.map +1 -0
- package/build/components/global-styles/ui.js +4 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js +10 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/page-patterns/fields.js +230 -0
- package/build/components/page-patterns/fields.js.map +1 -0
- package/build/components/page-patterns/index.js +13 -228
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +29 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/fields.js +169 -0
- package/build/components/page-templates/fields.js.map +1 -0
- package/build/components/page-templates/index.js +10 -177
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/post-edit/index.js +46 -34
- package/build/components/post-edit/index.js.map +1 -1
- package/build/components/post-fields/index.js +50 -28
- package/build/components/post-fields/index.js.map +1 -1
- package/build/components/post-list/index.js +126 -68
- package/build/components/post-list/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +3 -2
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +1 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +2 -3
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +81 -81
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +3 -42
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/site-hub/index.js +6 -3
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -25
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +3 -3
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -4
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +0 -2
- package/build/index.js.map +1 -1
- package/build/utils/is-template-removable.js +2 -2
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +1 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +6 -1
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-post/index.js +2 -1
- package/build-module/components/add-new-post/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +2 -2
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/editor/index.js +73 -22
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +1 -4
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +3 -4
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +0 -5
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +26 -6
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +1 -8
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +23 -7
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -3
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +5 -7
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +1 -1
- package/build-module/components/global-styles/screen-css.js.map +1 -1
- package/build-module/components/global-styles/screen-typeset.js +34 -0
- package/build-module/components/global-styles/screen-typeset.js.map +1 -0
- package/build-module/components/global-styles/screen-typography-element.js +14 -0
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +4 -6
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +52 -60
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/size-control/index.js +10 -5
- package/build-module/components/global-styles/size-control/index.js.map +1 -1
- package/build-module/components/global-styles/typeset-button.js +89 -0
- package/build-module/components/global-styles/typeset-button.js.map +1 -0
- package/build-module/components/global-styles/typeset.js +71 -0
- package/build-module/components/global-styles/typeset.js.map +1 -0
- package/build-module/components/global-styles/ui.js +4 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js +10 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/page-patterns/fields.js +223 -0
- package/build-module/components/page-patterns/fields.js.map +1 -0
- package/build-module/components/page-patterns/index.js +14 -231
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +26 -0
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/fields.js +160 -0
- package/build-module/components/page-templates/fields.js.map +1 -0
- package/build-module/components/page-templates/index.js +12 -178
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +49 -37
- package/build-module/components/post-edit/index.js.map +1 -1
- package/build-module/components/post-fields/index.js +50 -28
- package/build-module/components/post-fields/index.js.map +1 -1
- package/build-module/components/post-list/index.js +128 -70
- package/build-module/components/post-list/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +3 -2
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +1 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +2 -3
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +81 -81
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +3 -42
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +7 -4
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/style-book/index.js +23 -26
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +3 -3
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +0 -2
- package/build-module/index.js.map +1 -1
- package/build-module/utils/is-template-removable.js +2 -2
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +1 -1
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-style/posts-rtl.css +201 -25
- package/build-style/posts.css +201 -25
- package/build-style/style-rtl.css +307 -69
- package/build-style/style.css +307 -69
- package/package.json +41 -41
- package/src/components/add-new-pattern/index.js +8 -3
- package/src/components/add-new-post/index.js +2 -1
- package/src/components/add-new-template/style.scss +1 -1
- package/src/components/add-new-template/utils.js +10 -6
- package/src/components/editor/index.js +80 -22
- package/src/components/editor/style.scss +60 -2
- package/src/components/global-styles/background-panel.js +0 -3
- package/src/components/global-styles/font-families.js +3 -5
- package/src/components/global-styles/font-library-modal/context.js +0 -5
- package/src/components/global-styles/font-library-modal/font-collection.js +34 -10
- package/src/components/global-styles/font-library-modal/index.js +2 -7
- package/src/components/global-styles/font-library-modal/installed-fonts.js +26 -6
- package/src/components/global-styles/font-library-modal/style.scss +2 -2
- package/src/components/global-styles/font-library-modal/upload-fonts.js +2 -2
- package/src/components/global-styles/screen-block.js +2 -4
- package/src/components/global-styles/screen-css.js +3 -1
- package/src/components/global-styles/screen-typeset.js +42 -0
- package/src/components/global-styles/screen-typography-element.js +14 -0
- package/src/components/global-styles/screen-typography.js +4 -4
- package/src/components/global-styles/shadows-edit-panel.js +67 -73
- package/src/components/global-styles/size-control/index.js +9 -6
- package/src/components/global-styles/style.scss +4 -7
- package/src/components/global-styles/typeset-button.js +93 -0
- package/src/components/global-styles/typeset.js +73 -0
- package/src/components/global-styles/ui.js +5 -0
- package/src/components/global-styles/utils.js +13 -1
- package/src/components/layout/style.scss +8 -0
- package/src/components/page-patterns/fields.js +251 -0
- package/src/components/page-patterns/index.js +19 -246
- package/src/components/page-patterns/style.scss +82 -85
- package/src/components/page-patterns/use-patterns.js +33 -0
- package/src/components/page-templates/fields.js +157 -0
- package/src/components/page-templates/index.js +19 -170
- package/src/components/page-templates/style.scss +14 -5
- package/src/components/post-edit/index.js +58 -35
- package/src/components/post-fields/index.js +88 -25
- package/src/components/post-list/index.js +135 -79
- package/src/components/sidebar-dataviews/add-new-view.js +3 -4
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +1 -0
- package/src/components/sidebar-dataviews/dataview-item.js +2 -2
- package/src/components/sidebar-dataviews/default-views.js +95 -95
- package/src/components/sidebar-dataviews/index.js +3 -37
- package/src/components/site-hub/index.js +11 -2
- package/src/components/site-icon/style.scss +4 -1
- package/src/components/style-book/index.js +27 -32
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
- package/src/hooks/push-changes-to-global-styles/index.js +3 -3
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
- package/src/index.js +0 -2
- package/src/utils/is-template-removable.js +4 -2
- package/src/utils/is-template-revertable.js +2 -1
- package/build/utils/clone-deep.js +0 -15
- package/build/utils/clone-deep.js.map +0 -1
- package/build-module/utils/clone-deep.js +0 -9
- package/build-module/utils/clone-deep.js.map +0 -1
- package/src/utils/clone-deep.js +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-site",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"description": "Edit Site Page module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -29,45 +29,45 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@babel/runtime": "^7.16.0",
|
|
31
31
|
"@react-spring/web": "^9.4.5",
|
|
32
|
-
"@wordpress/a11y": "^4.
|
|
33
|
-
"@wordpress/api-fetch": "^7.
|
|
34
|
-
"@wordpress/blob": "^4.
|
|
35
|
-
"@wordpress/block-editor": "^
|
|
36
|
-
"@wordpress/block-library": "^9.
|
|
37
|
-
"@wordpress/blocks": "^13.
|
|
38
|
-
"@wordpress/commands": "^1.
|
|
39
|
-
"@wordpress/components": "^28.
|
|
40
|
-
"@wordpress/compose": "^7.
|
|
41
|
-
"@wordpress/core-commands": "^1.
|
|
42
|
-
"@wordpress/core-data": "^7.
|
|
43
|
-
"@wordpress/data": "^10.
|
|
44
|
-
"@wordpress/dataviews": "^4.
|
|
45
|
-
"@wordpress/date": "^5.
|
|
46
|
-
"@wordpress/deprecated": "^4.
|
|
47
|
-
"@wordpress/dom": "^4.
|
|
48
|
-
"@wordpress/editor": "^14.
|
|
49
|
-
"@wordpress/element": "^6.
|
|
50
|
-
"@wordpress/escape-html": "^3.
|
|
51
|
-
"@wordpress/hooks": "^4.
|
|
52
|
-
"@wordpress/html-entities": "^4.
|
|
53
|
-
"@wordpress/i18n": "^5.
|
|
54
|
-
"@wordpress/icons": "^10.
|
|
55
|
-
"@wordpress/keyboard-shortcuts": "^5.
|
|
56
|
-
"@wordpress/keycodes": "^4.
|
|
57
|
-
"@wordpress/notices": "^5.
|
|
58
|
-
"@wordpress/patterns": "^2.
|
|
59
|
-
"@wordpress/plugins": "^7.
|
|
60
|
-
"@wordpress/preferences": "^4.
|
|
61
|
-
"@wordpress/primitives": "^4.
|
|
62
|
-
"@wordpress/priority-queue": "^3.
|
|
63
|
-
"@wordpress/private-apis": "^1.
|
|
64
|
-
"@wordpress/reusable-blocks": "^5.
|
|
65
|
-
"@wordpress/router": "^1.
|
|
66
|
-
"@wordpress/style-engine": "^2.
|
|
67
|
-
"@wordpress/url": "^4.
|
|
68
|
-
"@wordpress/viewport": "^6.
|
|
69
|
-
"@wordpress/widgets": "^4.
|
|
70
|
-
"@wordpress/wordcount": "^4.
|
|
32
|
+
"@wordpress/a11y": "^4.6.0",
|
|
33
|
+
"@wordpress/api-fetch": "^7.6.0",
|
|
34
|
+
"@wordpress/blob": "^4.6.0",
|
|
35
|
+
"@wordpress/block-editor": "^14.1.0",
|
|
36
|
+
"@wordpress/block-library": "^9.6.0",
|
|
37
|
+
"@wordpress/blocks": "^13.6.0",
|
|
38
|
+
"@wordpress/commands": "^1.6.0",
|
|
39
|
+
"@wordpress/components": "^28.6.0",
|
|
40
|
+
"@wordpress/compose": "^7.6.0",
|
|
41
|
+
"@wordpress/core-commands": "^1.6.0",
|
|
42
|
+
"@wordpress/core-data": "^7.6.0",
|
|
43
|
+
"@wordpress/data": "^10.6.0",
|
|
44
|
+
"@wordpress/dataviews": "^4.2.0",
|
|
45
|
+
"@wordpress/date": "^5.6.0",
|
|
46
|
+
"@wordpress/deprecated": "^4.6.0",
|
|
47
|
+
"@wordpress/dom": "^4.6.0",
|
|
48
|
+
"@wordpress/editor": "^14.6.0",
|
|
49
|
+
"@wordpress/element": "^6.6.0",
|
|
50
|
+
"@wordpress/escape-html": "^3.6.0",
|
|
51
|
+
"@wordpress/hooks": "^4.6.0",
|
|
52
|
+
"@wordpress/html-entities": "^4.6.0",
|
|
53
|
+
"@wordpress/i18n": "^5.6.0",
|
|
54
|
+
"@wordpress/icons": "^10.6.0",
|
|
55
|
+
"@wordpress/keyboard-shortcuts": "^5.6.0",
|
|
56
|
+
"@wordpress/keycodes": "^4.6.0",
|
|
57
|
+
"@wordpress/notices": "^5.6.0",
|
|
58
|
+
"@wordpress/patterns": "^2.6.0",
|
|
59
|
+
"@wordpress/plugins": "^7.6.0",
|
|
60
|
+
"@wordpress/preferences": "^4.6.0",
|
|
61
|
+
"@wordpress/primitives": "^4.6.0",
|
|
62
|
+
"@wordpress/priority-queue": "^3.6.0",
|
|
63
|
+
"@wordpress/private-apis": "^1.6.0",
|
|
64
|
+
"@wordpress/reusable-blocks": "^5.6.0",
|
|
65
|
+
"@wordpress/router": "^1.6.0",
|
|
66
|
+
"@wordpress/style-engine": "^2.6.0",
|
|
67
|
+
"@wordpress/url": "^4.6.0",
|
|
68
|
+
"@wordpress/viewport": "^6.6.0",
|
|
69
|
+
"@wordpress/widgets": "^4.6.0",
|
|
70
|
+
"@wordpress/wordcount": "^4.6.0",
|
|
71
71
|
"change-case": "^4.1.2",
|
|
72
72
|
"clsx": "^2.1.1",
|
|
73
73
|
"colord": "^2.9.2",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"access": "public"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "ab9564947967bb3f00343130954b9efacba6cdd7"
|
|
86
86
|
}
|
|
@@ -173,9 +173,14 @@ export default function AddNewPattern() {
|
|
|
173
173
|
// When we're not handling template parts, we should
|
|
174
174
|
// add or create the proper pattern category.
|
|
175
175
|
if ( postType !== TEMPLATE_PART_POST_TYPE ) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
/*
|
|
177
|
+
* categoryMap.values() returns an iterator.
|
|
178
|
+
* Iterator.prototype.find() is not yet widely supported.
|
|
179
|
+
* Convert to array to use the Array.prototype.find method.
|
|
180
|
+
*/
|
|
181
|
+
const currentCategory = Array.from(
|
|
182
|
+
categoryMap.values()
|
|
183
|
+
).find( ( term ) => term.name === categoryId );
|
|
179
184
|
if ( currentCategory ) {
|
|
180
185
|
currentCategoryId =
|
|
181
186
|
currentCategory.id ||
|
|
@@ -95,9 +95,10 @@ export default function AddNewPostModal( { postType, onSave, onClose } ) {
|
|
|
95
95
|
size="small"
|
|
96
96
|
>
|
|
97
97
|
<form onSubmit={ createPost }>
|
|
98
|
-
<VStack spacing={
|
|
98
|
+
<VStack spacing={ 4 }>
|
|
99
99
|
<TextControl
|
|
100
100
|
__next40pxDefaultSize
|
|
101
|
+
__nextHasNoMarginBottom
|
|
101
102
|
label={ __( 'Title' ) }
|
|
102
103
|
onChange={ setTitle }
|
|
103
104
|
placeholder={ __( 'No title' ) }
|
|
@@ -166,9 +166,11 @@ export function usePostTypeArchiveMenuItems() {
|
|
|
166
166
|
// `icon` is the `menu_icon` property of a post type. We
|
|
167
167
|
// only handle `dashicons` for now, even if the `menu_icon`
|
|
168
168
|
// also supports urls and svg as values.
|
|
169
|
-
icon:
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
icon:
|
|
170
|
+
typeof postType.icon === 'string' &&
|
|
171
|
+
postType.icon.startsWith( 'dashicons-' )
|
|
172
|
+
? postType.icon.slice( 10 )
|
|
173
|
+
: archive,
|
|
172
174
|
templatePrefix: 'archive',
|
|
173
175
|
};
|
|
174
176
|
} ) || [],
|
|
@@ -272,9 +274,11 @@ export const usePostTypeMenuItems = ( onClickMenuItem ) => {
|
|
|
272
274
|
// `icon` is the `menu_icon` property of a post type. We
|
|
273
275
|
// only handle `dashicons` for now, even if the `menu_icon`
|
|
274
276
|
// also supports urls and svg as values.
|
|
275
|
-
icon:
|
|
276
|
-
|
|
277
|
-
|
|
277
|
+
icon:
|
|
278
|
+
typeof icon === 'string' &&
|
|
279
|
+
icon.startsWith( 'dashicons-' )
|
|
280
|
+
? icon.slice( 10 )
|
|
281
|
+
: post,
|
|
278
282
|
templatePrefix: templatePrefixes[ slug ],
|
|
279
283
|
};
|
|
280
284
|
const hasEntities = postTypesInfo?.[ slug ]?.hasEntities;
|
|
@@ -7,8 +7,8 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
10
|
-
import { Button } from '@wordpress/components';
|
|
11
|
-
import { useInstanceId } from '@wordpress/compose';
|
|
10
|
+
import { Button, __unstableMotion as motion } from '@wordpress/components';
|
|
11
|
+
import { useInstanceId, useReducedMotion } from '@wordpress/compose';
|
|
12
12
|
import {
|
|
13
13
|
EditorKeyboardShortcutsRegister,
|
|
14
14
|
privateApis as editorPrivateApis,
|
|
@@ -22,6 +22,7 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
22
22
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
23
23
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
24
24
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
25
|
+
import { Icon, homeButton } from '@wordpress/icons';
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Internal dependencies
|
|
@@ -51,7 +52,32 @@ const { Editor, BackButton } = unlock( editorPrivateApis );
|
|
|
51
52
|
const { useHistory, useLocation } = unlock( routerPrivateApis );
|
|
52
53
|
const { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );
|
|
53
54
|
|
|
55
|
+
const toggleHomeIconVariants = {
|
|
56
|
+
edit: {
|
|
57
|
+
opacity: 0,
|
|
58
|
+
scale: 0.2,
|
|
59
|
+
},
|
|
60
|
+
hover: {
|
|
61
|
+
opacity: 1,
|
|
62
|
+
scale: 1,
|
|
63
|
+
clipPath: 'inset( 22% round 2px )',
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const siteIconVariants = {
|
|
68
|
+
edit: {
|
|
69
|
+
clipPath: 'inset(0% round 0)',
|
|
70
|
+
},
|
|
71
|
+
hover: {
|
|
72
|
+
clipPath: 'inset( 22% round 2px )',
|
|
73
|
+
},
|
|
74
|
+
tap: {
|
|
75
|
+
clipPath: 'inset(0% round 0)',
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
54
79
|
export default function EditSiteEditor( { isPostsList = false } ) {
|
|
80
|
+
const disableMotion = useReducedMotion();
|
|
55
81
|
const { params } = useLocation();
|
|
56
82
|
const isLoading = useIsSiteEditorLoading();
|
|
57
83
|
const {
|
|
@@ -65,6 +91,7 @@ export default function EditSiteEditor( { isPostsList = false } ) {
|
|
|
65
91
|
showIconLabels,
|
|
66
92
|
editorCanvasView,
|
|
67
93
|
currentPostIsTrashed,
|
|
94
|
+
hasSiteIcon,
|
|
68
95
|
} = useSelect( ( select ) => {
|
|
69
96
|
const {
|
|
70
97
|
getEditorCanvasContainerView,
|
|
@@ -75,8 +102,9 @@ export default function EditSiteEditor( { isPostsList = false } ) {
|
|
|
75
102
|
getEditedPostId,
|
|
76
103
|
} = unlock( select( editSiteStore ) );
|
|
77
104
|
const { get } = select( preferencesStore );
|
|
78
|
-
const { getCurrentTheme } = select( coreDataStore );
|
|
105
|
+
const { getCurrentTheme, getEntityRecord } = select( coreDataStore );
|
|
79
106
|
const _context = getEditedPostContext();
|
|
107
|
+
const siteData = getEntityRecord( 'root', '__unstableBase', undefined );
|
|
80
108
|
|
|
81
109
|
// The currently selected entity to display.
|
|
82
110
|
// Typically template or template part in the site editor.
|
|
@@ -93,6 +121,7 @@ export default function EditSiteEditor( { isPostsList = false } ) {
|
|
|
93
121
|
currentPostIsTrashed:
|
|
94
122
|
select( editorStore ).getCurrentPostAttribute( 'status' ) ===
|
|
95
123
|
'trash',
|
|
124
|
+
hasSiteIcon: !! siteData?.site_icon_url,
|
|
96
125
|
};
|
|
97
126
|
}, [] );
|
|
98
127
|
useEditorTitle();
|
|
@@ -179,6 +208,9 @@ export default function EditSiteEditor( { isPostsList = false } ) {
|
|
|
179
208
|
getEditorCanvasContainerTitleAndIcon( editorCanvasView );
|
|
180
209
|
|
|
181
210
|
const isReady = ! isLoading;
|
|
211
|
+
const transition = {
|
|
212
|
+
duration: disableMotion ? 0 : 0.2,
|
|
213
|
+
};
|
|
182
214
|
|
|
183
215
|
return (
|
|
184
216
|
<>
|
|
@@ -217,26 +249,52 @@ export default function EditSiteEditor( { isPostsList = false } ) {
|
|
|
217
249
|
<BackButton>
|
|
218
250
|
{ ( { length } ) =>
|
|
219
251
|
length <= 1 && (
|
|
220
|
-
<
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (
|
|
228
|
-
isPostsList &&
|
|
229
|
-
params?.focusMode
|
|
230
|
-
) {
|
|
231
|
-
history.push( {
|
|
232
|
-
page: 'gutenberg-posts-dashboard',
|
|
233
|
-
postType: 'post',
|
|
234
|
-
} );
|
|
235
|
-
}
|
|
236
|
-
} }
|
|
252
|
+
<motion.div
|
|
253
|
+
className="edit-site-editor__view-mode-toggle"
|
|
254
|
+
transition={ transition }
|
|
255
|
+
animate="edit"
|
|
256
|
+
initial="edit"
|
|
257
|
+
whileHover="hover"
|
|
258
|
+
whileTap="tap"
|
|
237
259
|
>
|
|
238
|
-
<
|
|
239
|
-
|
|
260
|
+
<Button
|
|
261
|
+
label={ __( 'Open Navigation' ) }
|
|
262
|
+
showTooltip
|
|
263
|
+
tooltipPosition="middle right"
|
|
264
|
+
onClick={ () => {
|
|
265
|
+
setCanvasMode( 'view' );
|
|
266
|
+
// TODO: this is a temporary solution to navigate to the posts list if we are
|
|
267
|
+
// come here through `posts list` and are in focus mode editing a template, template part etc..
|
|
268
|
+
if (
|
|
269
|
+
isPostsList &&
|
|
270
|
+
params?.focusMode
|
|
271
|
+
) {
|
|
272
|
+
history.push( {
|
|
273
|
+
page: 'gutenberg-posts-dashboard',
|
|
274
|
+
postType: 'post',
|
|
275
|
+
} );
|
|
276
|
+
}
|
|
277
|
+
} }
|
|
278
|
+
>
|
|
279
|
+
<motion.div
|
|
280
|
+
variants={ siteIconVariants }
|
|
281
|
+
>
|
|
282
|
+
<SiteIcon className="edit-site-editor__view-mode-toggle-icon" />
|
|
283
|
+
</motion.div>
|
|
284
|
+
</Button>
|
|
285
|
+
<motion.div
|
|
286
|
+
className={ clsx(
|
|
287
|
+
'edit-site-editor__back-icon',
|
|
288
|
+
{
|
|
289
|
+
'has-site-icon':
|
|
290
|
+
hasSiteIcon,
|
|
291
|
+
}
|
|
292
|
+
) }
|
|
293
|
+
variants={ toggleHomeIconVariants }
|
|
294
|
+
>
|
|
295
|
+
<Icon icon={ homeButton } />
|
|
296
|
+
</motion.div>
|
|
297
|
+
</motion.div>
|
|
240
298
|
)
|
|
241
299
|
}
|
|
242
300
|
</BackButton>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.edit-site-editor__editor-interface {
|
|
2
2
|
opacity: 1;
|
|
3
3
|
transition: opacity 0.1s ease-out;
|
|
4
|
-
@include reduce-motion("transition");
|
|
4
|
+
@include reduce-motion( "transition" );
|
|
5
5
|
|
|
6
6
|
&.is-loading {
|
|
7
7
|
opacity: 0;
|
|
@@ -12,8 +12,66 @@
|
|
|
12
12
|
box-sizing: border-box;
|
|
13
13
|
width: $sidebar-width;
|
|
14
14
|
background-color: $white;
|
|
15
|
-
border:
|
|
15
|
+
border: $border-width dotted $gray-300;
|
|
16
16
|
padding: $grid-unit-30;
|
|
17
17
|
display: flex;
|
|
18
18
|
justify-content: center;
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
.edit-site-editor__view-mode-toggle {
|
|
22
|
+
/* stylelint-disable -- Disable reason: View Transitions not supported properly by stylelint. */
|
|
23
|
+
view-transition-name: toggle;
|
|
24
|
+
/* stylelint-enable */
|
|
25
|
+
top: 0;
|
|
26
|
+
left: 0;
|
|
27
|
+
height: $header-height;
|
|
28
|
+
width: $header-height;
|
|
29
|
+
z-index: 100;
|
|
30
|
+
|
|
31
|
+
.components-button {
|
|
32
|
+
color: $white;
|
|
33
|
+
height: 100%;
|
|
34
|
+
width: 100%;
|
|
35
|
+
border-radius: 0;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
padding: 0;
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
justify-content: center;
|
|
41
|
+
&:hover,
|
|
42
|
+
&:active {
|
|
43
|
+
color: $white;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&:focus {
|
|
47
|
+
box-shadow: none;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.edit-site-editor__view-mode-toggle-icon {
|
|
52
|
+
svg,
|
|
53
|
+
img {
|
|
54
|
+
background: $gray-900;
|
|
55
|
+
display: block;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.edit-site-editor__back-icon {
|
|
61
|
+
position: absolute;
|
|
62
|
+
top: 0;
|
|
63
|
+
left: 0;
|
|
64
|
+
width: 60px;
|
|
65
|
+
height: 60px;
|
|
66
|
+
display: flex;
|
|
67
|
+
align-items: center;
|
|
68
|
+
justify-content: center;
|
|
69
|
+
background-color: hsla(0, 0%, 80%);
|
|
70
|
+
pointer-events: none;
|
|
71
|
+
|
|
72
|
+
&.has-site-icon {
|
|
73
|
+
background-color: hsla(0, 0%, 100%, 0.6);
|
|
74
|
+
-webkit-backdrop-filter: saturate(180%) blur(15px);
|
|
75
|
+
backdrop-filter: saturate(180%) blur(15px);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -16,7 +16,6 @@ const BACKGROUND_DEFAULT_VALUES = {
|
|
|
16
16
|
const {
|
|
17
17
|
useGlobalStyle,
|
|
18
18
|
useGlobalSetting,
|
|
19
|
-
useGlobalStyleLinks,
|
|
20
19
|
BackgroundPanel: StylesBackgroundPanel,
|
|
21
20
|
} = unlock( blockEditorPrivateApis );
|
|
22
21
|
|
|
@@ -42,7 +41,6 @@ export default function BackgroundPanel() {
|
|
|
42
41
|
const [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {
|
|
43
42
|
shouldDecodeEncode: false,
|
|
44
43
|
} );
|
|
45
|
-
const _links = useGlobalStyleLinks();
|
|
46
44
|
const [ settings ] = useGlobalSetting( '' );
|
|
47
45
|
|
|
48
46
|
return (
|
|
@@ -52,7 +50,6 @@ export default function BackgroundPanel() {
|
|
|
52
50
|
onChange={ setStyle }
|
|
53
51
|
settings={ settings }
|
|
54
52
|
defaultValues={ BACKGROUND_DEFAULT_VALUES }
|
|
55
|
-
themeFileURIs={ _links?.[ 'wp:theme-file' ] }
|
|
56
53
|
/>
|
|
57
54
|
);
|
|
58
55
|
}
|
|
@@ -26,7 +26,7 @@ import { unlock } from '../../lock-unlock';
|
|
|
26
26
|
const { useGlobalSetting } = unlock( blockEditorPrivateApis );
|
|
27
27
|
|
|
28
28
|
function FontFamilies() {
|
|
29
|
-
const { baseCustomFonts, modalTabOpen, setModalTabOpen
|
|
29
|
+
const { baseCustomFonts, modalTabOpen, setModalTabOpen } =
|
|
30
30
|
useContext( FontLibraryContext );
|
|
31
31
|
const [ fontFamilies ] = useGlobalSetting( 'typography.fontFamilies' );
|
|
32
32
|
const [ baseFontFamilies ] = useGlobalSetting(
|
|
@@ -69,7 +69,7 @@ function FontFamilies() {
|
|
|
69
69
|
_x( 'Theme', 'font source' )
|
|
70
70
|
}
|
|
71
71
|
</Subtitle>
|
|
72
|
-
<ItemGroup isBordered isSeparated>
|
|
72
|
+
<ItemGroup size="large" isBordered isSeparated>
|
|
73
73
|
{ themeFonts.map( ( font ) => (
|
|
74
74
|
<FontFamilyItem
|
|
75
75
|
key={ font.slug }
|
|
@@ -87,7 +87,7 @@ function FontFamilies() {
|
|
|
87
87
|
_x( 'Custom', 'font source' )
|
|
88
88
|
}
|
|
89
89
|
</Subtitle>
|
|
90
|
-
<ItemGroup isBordered isSeparated>
|
|
90
|
+
<ItemGroup size="large" isBordered isSeparated>
|
|
91
91
|
{ customFonts.map( ( font ) => (
|
|
92
92
|
<FontFamilyItem
|
|
93
93
|
key={ font.slug }
|
|
@@ -112,8 +112,6 @@ function FontFamilies() {
|
|
|
112
112
|
variant="secondary"
|
|
113
113
|
__next40pxDefaultSize
|
|
114
114
|
onClick={ () => {
|
|
115
|
-
// Reset notice when opening the modal.
|
|
116
|
-
setNotice( null );
|
|
117
115
|
setModalTabOpen(
|
|
118
116
|
hasInstalledFonts
|
|
119
117
|
? 'installed-fonts'
|
|
@@ -54,7 +54,6 @@ function FontLibraryProvider( { children } ) {
|
|
|
54
54
|
|
|
55
55
|
const [ isInstalling, setIsInstalling ] = useState( false );
|
|
56
56
|
const [ refreshKey, setRefreshKey ] = useState( 0 );
|
|
57
|
-
const [ notice, setNotice ] = useState( null );
|
|
58
57
|
|
|
59
58
|
const refreshLibrary = () => {
|
|
60
59
|
setRefreshKey( Date.now() );
|
|
@@ -139,8 +138,6 @@ function FontLibraryProvider( { children } ) {
|
|
|
139
138
|
}, [ modalTabOpen ] );
|
|
140
139
|
|
|
141
140
|
const handleSetLibraryFontSelected = ( font ) => {
|
|
142
|
-
setNotice( null );
|
|
143
|
-
|
|
144
141
|
// If font is null, reset the selected font
|
|
145
142
|
if ( ! font ) {
|
|
146
143
|
setLibraryFontSelected( null );
|
|
@@ -527,8 +524,6 @@ function FontLibraryProvider( { children } ) {
|
|
|
527
524
|
modalTabOpen,
|
|
528
525
|
setModalTabOpen,
|
|
529
526
|
refreshLibrary,
|
|
530
|
-
notice,
|
|
531
|
-
setNotice,
|
|
532
527
|
saveFontFamilies,
|
|
533
528
|
isResolvingLibrary,
|
|
534
529
|
isInstalling,
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
DropdownMenu,
|
|
26
26
|
SearchControl,
|
|
27
27
|
ProgressBar,
|
|
28
|
+
CheckboxControl,
|
|
28
29
|
} from '@wordpress/components';
|
|
29
30
|
import { debounce } from '@wordpress/compose';
|
|
30
31
|
import { sprintf, __, _x } from '@wordpress/i18n';
|
|
@@ -62,20 +63,15 @@ function FontCollection( { slug } ) {
|
|
|
62
63
|
};
|
|
63
64
|
|
|
64
65
|
const [ selectedFont, setSelectedFont ] = useState( null );
|
|
66
|
+
const [ notice, setNotice ] = useState( false );
|
|
65
67
|
const [ fontsToInstall, setFontsToInstall ] = useState( [] );
|
|
66
68
|
const [ page, setPage ] = useState( 1 );
|
|
67
69
|
const [ filters, setFilters ] = useState( {} );
|
|
68
70
|
const [ renderConfirmDialog, setRenderConfirmDialog ] = useState(
|
|
69
71
|
requiresPermission && ! getGoogleFontsPermissionFromStorage()
|
|
70
72
|
);
|
|
71
|
-
const {
|
|
72
|
-
|
|
73
|
-
getFontCollection,
|
|
74
|
-
installFonts,
|
|
75
|
-
isInstalling,
|
|
76
|
-
notice,
|
|
77
|
-
setNotice,
|
|
78
|
-
} = useContext( FontLibraryContext );
|
|
73
|
+
const { collections, getFontCollection, installFonts, isInstalling } =
|
|
74
|
+
useContext( FontLibraryContext );
|
|
79
75
|
const selectedCollection = collections.find(
|
|
80
76
|
( collection ) => collection.slug === slug
|
|
81
77
|
);
|
|
@@ -115,8 +111,7 @@ function FontCollection( { slug } ) {
|
|
|
115
111
|
|
|
116
112
|
useEffect( () => {
|
|
117
113
|
setSelectedFont( null );
|
|
118
|
-
|
|
119
|
-
}, [ slug, setNotice ] );
|
|
114
|
+
}, [ slug ] );
|
|
120
115
|
|
|
121
116
|
useEffect( () => {
|
|
122
117
|
// If the selected fonts change, reset the selected fonts to install
|
|
@@ -175,6 +170,25 @@ function FontCollection( { slug } ) {
|
|
|
175
170
|
setFontsToInstall( [] );
|
|
176
171
|
};
|
|
177
172
|
|
|
173
|
+
const selectFontCount =
|
|
174
|
+
fontsToInstall.length > 0 ? fontsToInstall[ 0 ]?.fontFace?.length : 0;
|
|
175
|
+
|
|
176
|
+
// Check if any fonts are selected.
|
|
177
|
+
const isIndeterminate =
|
|
178
|
+
selectFontCount > 0 &&
|
|
179
|
+
selectFontCount !== selectedFont?.fontFace?.length;
|
|
180
|
+
|
|
181
|
+
// Check if all fonts are selected.
|
|
182
|
+
const isSelectAllChecked =
|
|
183
|
+
selectFontCount === selectedFont?.fontFace?.length;
|
|
184
|
+
|
|
185
|
+
// Toggle select all fonts.
|
|
186
|
+
const toggleSelectAll = () => {
|
|
187
|
+
const newFonts = isSelectAllChecked ? [] : [ selectedFont ];
|
|
188
|
+
|
|
189
|
+
setFontsToInstall( newFonts );
|
|
190
|
+
};
|
|
191
|
+
|
|
178
192
|
const handleInstall = async () => {
|
|
179
193
|
setNotice( null );
|
|
180
194
|
|
|
@@ -301,6 +315,8 @@ function FontCollection( { slug } ) {
|
|
|
301
315
|
</FlexItem>
|
|
302
316
|
<FlexItem>
|
|
303
317
|
<SelectControl
|
|
318
|
+
__nextHasNoMarginBottom
|
|
319
|
+
__next40pxDefaultSize
|
|
304
320
|
label={ __( 'Category' ) }
|
|
305
321
|
value={ filters.category }
|
|
306
322
|
onChange={ handleCategoryFilter }
|
|
@@ -400,6 +416,14 @@ function FontCollection( { slug } ) {
|
|
|
400
416
|
{ __( 'Select font variants to install.' ) }
|
|
401
417
|
</Text>
|
|
402
418
|
<Spacer margin={ 4 } />
|
|
419
|
+
<CheckboxControl
|
|
420
|
+
className="font-library-modal__select-all"
|
|
421
|
+
label={ __( 'Select all' ) }
|
|
422
|
+
checked={ isSelectAllChecked }
|
|
423
|
+
onChange={ toggleSelectAll }
|
|
424
|
+
indeterminate={ isIndeterminate }
|
|
425
|
+
__nextHasNoMarginBottom
|
|
426
|
+
/>
|
|
403
427
|
<VStack spacing={ 0 }>
|
|
404
428
|
<Spacer margin={ 8 } />
|
|
405
429
|
{ getSortedFontFaces( selectedFont ).map(
|
|
@@ -44,7 +44,7 @@ function FontLibraryModal( {
|
|
|
44
44
|
onRequestClose,
|
|
45
45
|
defaultTabId = 'installed-fonts',
|
|
46
46
|
} ) {
|
|
47
|
-
const { collections
|
|
47
|
+
const { collections } = useContext( FontLibraryContext );
|
|
48
48
|
const canUserCreate = useSelect( ( select ) => {
|
|
49
49
|
return select( coreStore ).canUser( 'create', {
|
|
50
50
|
kind: 'postType',
|
|
@@ -59,11 +59,6 @@ function FontLibraryModal( {
|
|
|
59
59
|
tabs.push( ...tabsFromCollections( collections || [] ) );
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
// Reset notice when new tab is selected.
|
|
63
|
-
const onSelect = () => {
|
|
64
|
-
setNotice( null );
|
|
65
|
-
};
|
|
66
|
-
|
|
67
62
|
return (
|
|
68
63
|
<Modal
|
|
69
64
|
title={ __( 'Fonts' ) }
|
|
@@ -72,7 +67,7 @@ function FontLibraryModal( {
|
|
|
72
67
|
className="font-library-modal"
|
|
73
68
|
>
|
|
74
69
|
<div className="font-library-modal__tabs">
|
|
75
|
-
<Tabs defaultTabId={ defaultTabId }
|
|
70
|
+
<Tabs defaultTabId={ defaultTabId }>
|
|
76
71
|
<Tabs.TabList>
|
|
77
72
|
{ tabs.map( ( { id, title } ) => (
|
|
78
73
|
<Tabs.Tab key={ id } tabId={ id }>
|