@wordpress/edit-post 6.5.0 → 6.8.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.
Files changed (169) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/components/block-manager/category.js.map +1 -1
  3. package/build/components/block-manager/index.js +12 -4
  4. package/build/components/block-manager/index.js.map +1 -1
  5. package/build/components/device-preview/index.js +26 -7
  6. package/build/components/device-preview/index.js.map +1 -1
  7. package/build/components/editor-initialization/listener-hooks.js.map +1 -1
  8. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  9. package/build/components/header/header-toolbar/index.js.map +1 -1
  10. package/build/components/header/index.js.map +1 -1
  11. package/build/components/header/mode-switcher/index.js.map +1 -1
  12. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  13. package/build/components/header/template-title/delete-template.js +6 -5
  14. package/build/components/header/template-title/delete-template.js.map +1 -1
  15. package/build/components/header/template-title/edit-template-title.js +6 -4
  16. package/build/components/header/template-title/edit-template-title.js.map +1 -1
  17. package/build/components/header/template-title/index.js.map +1 -1
  18. package/build/components/header/template-title/template-description.js +3 -1
  19. package/build/components/header/template-title/template-description.js.map +1 -1
  20. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  21. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  22. package/build/components/layout/actions-panel.js.map +1 -1
  23. package/build/components/layout/index.js.map +1 -1
  24. package/build/components/layout/index.native.js.map +1 -1
  25. package/build/components/preferences-modal/index.js +10 -6
  26. package/build/components/preferences-modal/index.js.map +1 -1
  27. package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  28. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  29. package/build/components/preferences-modal/options/enable-publish-sidebar.js.map +1 -1
  30. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  31. package/build/components/sidebar/discussion-panel/index.js.map +1 -1
  32. package/build/components/sidebar/featured-image/index.js.map +1 -1
  33. package/build/components/sidebar/page-attributes/index.js.map +1 -1
  34. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  35. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  36. package/build/components/sidebar/post-excerpt/index.js.map +1 -1
  37. package/build/components/sidebar/post-link/index.js.map +1 -1
  38. package/build/components/sidebar/post-schedule/index.js +9 -2
  39. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  40. package/build/components/sidebar/post-status/index.js.map +1 -1
  41. package/build/components/sidebar/template/actions.js +7 -2
  42. package/build/components/sidebar/template/actions.js.map +1 -1
  43. package/build/components/sidebar/template/index.js.map +1 -1
  44. package/build/components/start-page-options/index.js.map +1 -1
  45. package/build/components/text-editor/index.js +11 -24
  46. package/build/components/text-editor/index.js.map +1 -1
  47. package/build/components/visual-editor/block-inspector-button.js +3 -7
  48. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  49. package/build/editor.js.map +1 -1
  50. package/build/editor.native.js +8 -0
  51. package/build/editor.native.js.map +1 -1
  52. package/build/index.js +7 -1
  53. package/build/index.js.map +1 -1
  54. package/build/plugins/copy-content-menu-item/index.js +1 -1
  55. package/build/plugins/copy-content-menu-item/index.js.map +1 -1
  56. package/build/store/actions.js.map +1 -1
  57. package/build/store/selectors.js +4 -4
  58. package/build/store/selectors.js.map +1 -1
  59. package/build-module/components/block-manager/category.js.map +1 -1
  60. package/build-module/components/block-manager/index.js +13 -5
  61. package/build-module/components/block-manager/index.js.map +1 -1
  62. package/build-module/components/device-preview/index.js +24 -7
  63. package/build-module/components/device-preview/index.js.map +1 -1
  64. package/build-module/components/editor-initialization/listener-hooks.js.map +1 -1
  65. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  66. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  67. package/build-module/components/header/index.js.map +1 -1
  68. package/build-module/components/header/mode-switcher/index.js.map +1 -1
  69. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  70. package/build-module/components/header/template-title/delete-template.js +6 -5
  71. package/build-module/components/header/template-title/delete-template.js.map +1 -1
  72. package/build-module/components/header/template-title/edit-template-title.js +6 -4
  73. package/build-module/components/header/template-title/edit-template-title.js.map +1 -1
  74. package/build-module/components/header/template-title/index.js.map +1 -1
  75. package/build-module/components/header/template-title/template-description.js +4 -2
  76. package/build-module/components/header/template-title/template-description.js.map +1 -1
  77. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  78. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  79. package/build-module/components/layout/actions-panel.js.map +1 -1
  80. package/build-module/components/layout/index.js.map +1 -1
  81. package/build-module/components/layout/index.native.js.map +1 -1
  82. package/build-module/components/preferences-modal/index.js +10 -6
  83. package/build-module/components/preferences-modal/index.js.map +1 -1
  84. package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  85. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  86. package/build-module/components/preferences-modal/options/enable-publish-sidebar.js.map +1 -1
  87. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  88. package/build-module/components/sidebar/discussion-panel/index.js.map +1 -1
  89. package/build-module/components/sidebar/featured-image/index.js.map +1 -1
  90. package/build-module/components/sidebar/page-attributes/index.js.map +1 -1
  91. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  92. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  93. package/build-module/components/sidebar/post-excerpt/index.js.map +1 -1
  94. package/build-module/components/sidebar/post-link/index.js.map +1 -1
  95. package/build-module/components/sidebar/post-schedule/index.js +9 -2
  96. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  97. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  98. package/build-module/components/sidebar/template/actions.js +8 -3
  99. package/build-module/components/sidebar/template/actions.js.map +1 -1
  100. package/build-module/components/sidebar/template/index.js.map +1 -1
  101. package/build-module/components/start-page-options/index.js.map +1 -1
  102. package/build-module/components/text-editor/index.js +11 -22
  103. package/build-module/components/text-editor/index.js.map +1 -1
  104. package/build-module/components/visual-editor/block-inspector-button.js +3 -5
  105. package/build-module/components/visual-editor/block-inspector-button.js.map +1 -1
  106. package/build-module/editor.js.map +1 -1
  107. package/build-module/editor.native.js +8 -0
  108. package/build-module/editor.native.js.map +1 -1
  109. package/build-module/index.js +7 -1
  110. package/build-module/index.js.map +1 -1
  111. package/build-module/plugins/copy-content-menu-item/index.js +1 -1
  112. package/build-module/plugins/copy-content-menu-item/index.js.map +1 -1
  113. package/build-module/store/actions.js.map +1 -1
  114. package/build-module/store/selectors.js +4 -4
  115. package/build-module/store/selectors.js.map +1 -1
  116. package/build-style/style-rtl.css +32 -18
  117. package/build-style/style.css +32 -18
  118. package/package.json +28 -28
  119. package/src/components/block-manager/category.js +2 -2
  120. package/src/components/block-manager/index.js +15 -4
  121. package/src/components/device-preview/index.js +40 -29
  122. package/src/components/editor-initialization/listener-hooks.js +2 -3
  123. package/src/components/header/fullscreen-mode-close/index.js +2 -3
  124. package/src/components/header/header-toolbar/index.js +6 -11
  125. package/src/components/header/index.js +6 -9
  126. package/src/components/header/mode-switcher/index.js +4 -4
  127. package/src/components/header/post-publish-button-or-toggle.js +4 -6
  128. package/src/components/header/style.scss +2 -4
  129. package/src/components/header/template-title/delete-template.js +13 -7
  130. package/src/components/header/template-title/edit-template-title.js +29 -26
  131. package/src/components/header/template-title/index.js +2 -3
  132. package/src/components/header/template-title/style.scss +26 -5
  133. package/src/components/header/template-title/template-description.js +3 -2
  134. package/src/components/header/tools-more-menu-group/index.js +2 -3
  135. package/src/components/keyboard-shortcut-help-modal/test/index.js +2 -1
  136. package/src/components/keyboard-shortcuts/index.js +4 -8
  137. package/src/components/layout/actions-panel.js +6 -9
  138. package/src/components/layout/index.js +13 -21
  139. package/src/components/layout/index.native.js +4 -5
  140. package/src/components/preferences-modal/index.js +18 -9
  141. package/src/components/preferences-modal/options/enable-custom-fields.js +2 -2
  142. package/src/components/preferences-modal/options/enable-panel.js +2 -3
  143. package/src/components/preferences-modal/options/enable-publish-sidebar.js +2 -3
  144. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +24 -14
  145. package/src/components/secondary-sidebar/inserter-sidebar.js +2 -3
  146. package/src/components/sidebar/discussion-panel/index.js +2 -3
  147. package/src/components/sidebar/featured-image/index.js +2 -3
  148. package/src/components/sidebar/page-attributes/index.js +2 -3
  149. package/src/components/sidebar/plugin-document-setting-panel/index.js +2 -3
  150. package/src/components/sidebar/plugin-sidebar/index.js +2 -3
  151. package/src/components/sidebar/post-excerpt/index.js +2 -3
  152. package/src/components/sidebar/post-link/index.js +2 -3
  153. package/src/components/sidebar/post-schedule/index.js +4 -2
  154. package/src/components/sidebar/post-schedule/style.scss +3 -5
  155. package/src/components/sidebar/post-status/index.js +2 -3
  156. package/src/components/sidebar/post-visibility/style.scss +2 -1
  157. package/src/components/sidebar/settings-header/style.scss +1 -1
  158. package/src/components/sidebar/template/actions.js +11 -8
  159. package/src/components/sidebar/template/index.js +2 -6
  160. package/src/components/start-page-options/index.js +8 -12
  161. package/src/components/text-editor/index.js +9 -19
  162. package/src/components/visual-editor/block-inspector-button.js +4 -8
  163. package/src/components/visual-editor/test/index.native.js +93 -0
  164. package/src/editor.js +6 -8
  165. package/src/editor.native.js +11 -4
  166. package/src/index.js +7 -0
  167. package/src/plugins/copy-content-menu-item/index.js +1 -1
  168. package/src/store/actions.js +322 -295
  169. package/src/store/selectors.js +20 -20
@@ -416,7 +416,6 @@ body.is-fullscreen-mode .interface-interface-skeleton {
416
416
  }
417
417
  @media (min-width: 480px) {
418
418
  .interface-more-menu-dropdown__content .components-popover__content {
419
- width: auto;
420
419
  max-width: 480px;
421
420
  }
422
421
  }
@@ -611,7 +610,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
611
610
  margin-left: auto;
612
611
  }
613
612
 
614
- .edit-post-post-preview-dropdown .components-popover__content > div {
613
+ .edit-post-post-preview-dropdown .components-popover__content {
615
614
  padding-bottom: 0;
616
615
  }
617
616
 
@@ -807,8 +806,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
807
806
  width: 36px;
808
807
  height: 36px;
809
808
  border-radius: 2px;
810
- -o-object-fit: cover;
811
- object-fit: cover;
809
+ object-fit: cover;
812
810
  margin-top: -1px;
813
811
  }
814
812
 
@@ -969,26 +967,42 @@ body.is-fullscreen-mode .interface-interface-skeleton {
969
967
 
970
968
  .edit-post-template-top-area__popover .components-popover__content {
971
969
  min-width: 280px;
972
- padding: 8px;
970
+ }
971
+ .edit-post-template-top-area__popover .components-popover__content > div {
972
+ padding: 0;
973
+ }
974
+ .edit-post-template-top-area__popover .edit-site-template-details__group {
975
+ padding: 16px;
976
+ }
977
+ .edit-post-template-top-area__popover .edit-site-template-details__group .components-base-control__help {
978
+ margin-bottom: 0;
973
979
  }
974
980
  .edit-post-template-top-area__popover .edit-post-template-details__description {
975
981
  color: #757575;
976
982
  }
977
983
 
978
984
  .edit-post-template-top-area__second-menu-group {
979
- margin-left: -16px;
980
- margin-right: -16px;
981
- padding: 16px;
982
- padding-bottom: 0;
983
985
  border-top: 1px solid #ddd;
986
+ padding: 16px 8px;
984
987
  }
985
988
  .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button {
986
989
  display: flex;
987
990
  justify-content: center;
991
+ padding: 4px 8px;
992
+ }
993
+ .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button.is-destructive {
994
+ padding: inherit;
995
+ margin-left: 8px;
996
+ margin-right: 8px;
997
+ width: calc(100% - 16px);
998
+ }
999
+ .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button.is-destructive .components-menu-item__item {
1000
+ width: auto;
988
1001
  }
989
1002
  .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button .components-menu-item__item {
990
1003
  margin-right: 0;
991
1004
  min-width: 0;
1005
+ width: 100%;
992
1006
  }
993
1007
 
994
1008
  .edit-post-keyboard-shortcut-help-modal__section {
@@ -1450,7 +1464,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1450
1464
  .edit-post-post-schedule {
1451
1465
  width: 100%;
1452
1466
  position: relative;
1453
- justify-content: left;
1467
+ justify-content: flex-start;
1454
1468
  }
1455
1469
  .edit-post-post-schedule span {
1456
1470
  display: block;
@@ -1461,8 +1475,8 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1461
1475
  text-align: right;
1462
1476
  }
1463
1477
 
1464
- .edit-post-post-schedule__dialog .components-popover__content > div {
1465
- padding: 0;
1478
+ .edit-post-post-schedule__dialog .components-popover__content {
1479
+ padding: 16px;
1466
1480
  }
1467
1481
 
1468
1482
  .editor-post-slug__input {
@@ -1478,7 +1492,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1478
1492
 
1479
1493
  .edit-post-post-visibility {
1480
1494
  width: 100%;
1481
- justify-content: left;
1495
+ justify-content: flex-start;
1482
1496
  }
1483
1497
  .edit-post-post-visibility span {
1484
1498
  display: block;
@@ -1487,6 +1501,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1487
1501
 
1488
1502
  .edit-post-post-visibility__dialog .components-popover__content {
1489
1503
  width: 262px;
1504
+ padding: 16px;
1490
1505
  }
1491
1506
 
1492
1507
  .components-button.edit-post-sidebar__panel-tab {
@@ -1511,7 +1526,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1511
1526
  visibility: hidden;
1512
1527
  }
1513
1528
  .components-button.edit-post-sidebar__panel-tab.is-active {
1514
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) transparent, inset 0 -4px 0 0 var(--wp-admin-theme-color);
1529
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) transparent, inset 0 -1.5px 0 0 var(--wp-admin-theme-color);
1515
1530
  position: relative;
1516
1531
  z-index: 1;
1517
1532
  }
@@ -1522,7 +1537,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1522
1537
  bottom: 1px;
1523
1538
  right: 0;
1524
1539
  left: 0;
1525
- border-bottom: 4px solid transparent;
1540
+ border-bottom: 1.5px solid transparent;
1526
1541
  }
1527
1542
  .components-button.edit-post-sidebar__panel-tab:focus {
1528
1543
  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
@@ -1530,7 +1545,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1530
1545
  z-index: 1;
1531
1546
  }
1532
1547
  .components-button.edit-post-sidebar__panel-tab.is-active:focus {
1533
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 -4px 0 0 var(--wp-admin-theme-color);
1548
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 -3px 0 0 var(--wp-admin-theme-color);
1534
1549
  }
1535
1550
 
1536
1551
  @media (min-width: 782px) {
@@ -1703,8 +1718,7 @@ h2.edit-post-template-summary__title {
1703
1718
  .edit-template-welcome-guide__image > img {
1704
1719
  display: block;
1705
1720
  max-width: 100%;
1706
- -o-object-fit: cover;
1707
- object-fit: cover;
1721
+ object-fit: cover;
1708
1722
  }
1709
1723
  .edit-post-welcome-guide__heading,
1710
1724
  .edit-template-welcome-guide__heading {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-post",
3
- "version": "6.5.0",
3
+ "version": "6.8.0",
4
4
  "description": "Edit Post module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,35 +27,35 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.8.0",
31
- "@wordpress/api-fetch": "^6.5.0",
32
- "@wordpress/block-editor": "^9.0.0",
33
- "@wordpress/block-library": "^7.5.0",
34
- "@wordpress/blocks": "^11.7.0",
35
- "@wordpress/components": "^19.10.0",
36
- "@wordpress/compose": "^5.6.0",
37
- "@wordpress/core-data": "^4.6.0",
38
- "@wordpress/data": "^6.8.0",
39
- "@wordpress/deprecated": "^3.8.0",
40
- "@wordpress/editor": "^12.7.0",
41
- "@wordpress/element": "^4.6.0",
42
- "@wordpress/hooks": "^3.8.0",
43
- "@wordpress/i18n": "^4.8.0",
44
- "@wordpress/icons": "^8.4.0",
45
- "@wordpress/interface": "^4.7.0",
46
- "@wordpress/keyboard-shortcuts": "^3.6.0",
47
- "@wordpress/keycodes": "^3.8.0",
48
- "@wordpress/media-utils": "^3.6.0",
49
- "@wordpress/notices": "^3.8.0",
50
- "@wordpress/plugins": "^4.6.0",
51
- "@wordpress/preferences": "^2.0.0",
52
- "@wordpress/url": "^3.9.0",
53
- "@wordpress/viewport": "^4.6.0",
54
- "@wordpress/warning": "^2.8.0",
30
+ "@wordpress/a11y": "^3.11.0",
31
+ "@wordpress/api-fetch": "^6.8.0",
32
+ "@wordpress/block-editor": "^9.3.0",
33
+ "@wordpress/block-library": "^7.8.0",
34
+ "@wordpress/blocks": "^11.10.0",
35
+ "@wordpress/components": "^19.13.0",
36
+ "@wordpress/compose": "^5.9.0",
37
+ "@wordpress/core-data": "^4.9.0",
38
+ "@wordpress/data": "^6.11.0",
39
+ "@wordpress/deprecated": "^3.11.0",
40
+ "@wordpress/editor": "^12.10.0",
41
+ "@wordpress/element": "^4.9.0",
42
+ "@wordpress/hooks": "^3.11.0",
43
+ "@wordpress/i18n": "^4.11.0",
44
+ "@wordpress/icons": "^9.2.0",
45
+ "@wordpress/interface": "^4.10.0",
46
+ "@wordpress/keyboard-shortcuts": "^3.9.0",
47
+ "@wordpress/keycodes": "^3.11.0",
48
+ "@wordpress/media-utils": "^4.2.0",
49
+ "@wordpress/notices": "^3.11.0",
50
+ "@wordpress/plugins": "^4.9.0",
51
+ "@wordpress/preferences": "^2.3.0",
52
+ "@wordpress/url": "^3.12.0",
53
+ "@wordpress/viewport": "^4.9.0",
54
+ "@wordpress/warning": "^2.11.0",
55
55
  "classnames": "^2.3.1",
56
56
  "lodash": "^4.17.21",
57
57
  "memize": "^1.1.0",
58
- "rememo": "^3.0.0"
58
+ "rememo": "^4.0.0"
59
59
  },
60
60
  "peerDependencies": {
61
61
  "react": "^17.0.0",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "4631d515033397fcfeda77e5755960253caef9bf"
67
+ "gitHead": "48d5f37dfb52d2e77c8eeb662f9874cf141b8c6b"
68
68
  }
@@ -25,8 +25,8 @@ function BlockManagerCategory( { title, blockTypes } ) {
25
25
  const { getEditorSettings } = select( editorStore );
26
26
  const { getHiddenBlockTypes } = select( editPostStore );
27
27
  return {
28
- defaultAllowedBlockTypes: getEditorSettings()
29
- .defaultAllowedBlockTypes,
28
+ defaultAllowedBlockTypes:
29
+ getEditorSettings().defaultAllowedBlockTypes,
30
30
  hiddenBlockTypes: getHiddenBlockTypes(),
31
31
  };
32
32
  },
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { filter, includes, isArray } from 'lodash';
4
+ import { filter, includes } from 'lodash';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -117,12 +117,23 @@ export default withSelect( ( select ) => {
117
117
  isMatchingSearchTerm,
118
118
  } = select( blocksStore );
119
119
  const { getHiddenBlockTypes } = select( editPostStore );
120
- const hiddenBlockTypes = getHiddenBlockTypes();
120
+
121
+ // Some hidden blocks become unregistered
122
+ // by removing for instance the plugin that registered them, yet
123
+ // they're still remain as hidden by the user's action.
124
+ // We consider "hidden", blocks which were hidden and
125
+ // are still registered.
126
+ const blockTypes = getBlockTypes();
127
+ const hiddenBlockTypes = getHiddenBlockTypes().filter( ( hiddenBlock ) => {
128
+ return blockTypes.some(
129
+ ( registeredBlock ) => registeredBlock.name === hiddenBlock
130
+ );
131
+ } );
121
132
  const numberOfHiddenBlocks =
122
- isArray( hiddenBlockTypes ) && hiddenBlockTypes.length;
133
+ Array.isArray( hiddenBlockTypes ) && hiddenBlockTypes.length;
123
134
 
124
135
  return {
125
- blockTypes: getBlockTypes(),
136
+ blockTypes,
126
137
  categories: getCategories(),
127
138
  hasBlockSupport,
128
139
  isMatchingSearchTerm,
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { get } from 'lodash';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -7,6 +12,7 @@ import { external } from '@wordpress/icons';
7
12
  import { __ } from '@wordpress/i18n';
8
13
  import { __experimentalPreviewOptions as PreviewOptions } from '@wordpress/block-editor';
9
14
  import { useDispatch, useSelect } from '@wordpress/data';
15
+ import { store as coreStore } from '@wordpress/core-data';
10
16
 
11
17
  /**
12
18
  * Internal dependencies
@@ -18,21 +24,24 @@ export default function DevicePreview() {
18
24
  hasActiveMetaboxes,
19
25
  isPostSaveable,
20
26
  isSaving,
27
+ isViewable,
21
28
  deviceType,
22
- } = useSelect(
23
- ( select ) => ( {
29
+ } = useSelect( ( select ) => {
30
+ const { getEditedPostAttribute } = select( editorStore );
31
+ const { getPostType } = select( coreStore );
32
+ const postType = getPostType( getEditedPostAttribute( 'type' ) );
33
+
34
+ return {
24
35
  hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
25
36
  isSaving: select( editPostStore ).isSavingMetaBoxes(),
26
37
  isPostSaveable: select( editorStore ).isEditedPostSaveable(),
27
- deviceType: select(
28
- editPostStore
29
- ).__experimentalGetPreviewDeviceType(),
30
- } ),
31
- []
32
- );
33
- const {
34
- __experimentalSetPreviewDeviceType: setPreviewDeviceType,
35
- } = useDispatch( editPostStore );
38
+ isViewable: get( postType, [ 'viewable' ], false ),
39
+ deviceType:
40
+ select( editPostStore ).__experimentalGetPreviewDeviceType(),
41
+ };
42
+ }, [] );
43
+ const { __experimentalSetPreviewDeviceType: setPreviewDeviceType } =
44
+ useDispatch( editPostStore );
36
45
 
37
46
  return (
38
47
  <PreviewOptions
@@ -41,24 +50,26 @@ export default function DevicePreview() {
41
50
  deviceType={ deviceType }
42
51
  setDeviceType={ setPreviewDeviceType }
43
52
  >
44
- <MenuGroup>
45
- <div className="edit-post-header-preview__grouping-external">
46
- <PostPreviewButton
47
- className={
48
- 'edit-post-header-preview__button-external'
49
- }
50
- role="menuitem"
51
- forceIsAutosaveable={ hasActiveMetaboxes }
52
- forcePreviewLink={ isSaving ? null : undefined }
53
- textContent={
54
- <>
55
- { __( 'Preview in new tab' ) }
56
- <Icon icon={ external } />
57
- </>
58
- }
59
- />
60
- </div>
61
- </MenuGroup>
53
+ { isViewable && (
54
+ <MenuGroup>
55
+ <div className="edit-post-header-preview__grouping-external">
56
+ <PostPreviewButton
57
+ className={
58
+ 'edit-post-header-preview__button-external'
59
+ }
60
+ role="menuitem"
61
+ forceIsAutosaveable={ hasActiveMetaboxes }
62
+ forcePreviewLink={ isSaving ? null : undefined }
63
+ textContent={
64
+ <>
65
+ { __( 'Preview in new tab' ) }
66
+ <Icon icon={ external } />
67
+ </>
68
+ }
69
+ />
70
+ </div>
71
+ </MenuGroup>
72
+ ) }
62
73
  </PreviewOptions>
63
74
  );
64
75
  }
@@ -24,9 +24,8 @@ import {
24
24
  export const useBlockSelectionListener = ( postId ) => {
25
25
  const { hasBlockSelection, isEditorSidebarOpened } = useSelect(
26
26
  ( select ) => ( {
27
- hasBlockSelection: !! select(
28
- blockEditorStore
29
- ).getBlockSelectionStart(),
27
+ hasBlockSelection:
28
+ !! select( blockEditorStore ).getBlockSelectionStart(),
30
29
  isEditorSidebarOpened: select( STORE_NAME ).isEditorSidebarOpened(),
31
30
  } ),
32
31
  [ postId ]
@@ -30,9 +30,8 @@ function FullscreenModeClose( { showTooltip, icon, href } ) {
30
30
  ( select ) => {
31
31
  const { getCurrentPostType } = select( editorStore );
32
32
  const { isFeatureActive } = select( editPostStore );
33
- const { getEntityRecord, getPostType, isResolving } = select(
34
- coreStore
35
- );
33
+ const { getEntityRecord, getPostType, isResolving } =
34
+ select( coreStore );
36
35
  const siteData =
37
36
  getEntityRecord( 'root', '__unstableBase', undefined ) || {};
38
37
 
@@ -31,9 +31,8 @@ const preventDefault = ( event ) => {
31
31
 
32
32
  function HeaderToolbar() {
33
33
  const inserterButton = useRef();
34
- const { setIsInserterOpened, setIsListViewOpened } = useDispatch(
35
- editPostStore
36
- );
34
+ const { setIsInserterOpened, setIsListViewOpened } =
35
+ useDispatch( editPostStore );
37
36
  const {
38
37
  isInserterEnabled,
39
38
  isInserterOpened,
@@ -42,15 +41,11 @@ function HeaderToolbar() {
42
41
  isListViewOpen,
43
42
  listViewShortcut,
44
43
  } = useSelect( ( select ) => {
45
- const {
46
- hasInserterItems,
47
- getBlockRootClientId,
48
- getBlockSelectionEnd,
49
- } = select( blockEditorStore );
44
+ const { hasInserterItems, getBlockRootClientId, getBlockSelectionEnd } =
45
+ select( blockEditorStore );
50
46
  const { getEditorSettings } = select( editorStore );
51
- const { getEditorMode, isFeatureActive, isListViewOpened } = select(
52
- editPostStore
53
- );
47
+ const { getEditorMode, isFeatureActive, isListViewOpened } =
48
+ select( editPostStore );
54
49
  const { getShortcutRepresentation } = select( keyboardShortcutsStore );
55
50
 
56
51
  return {
@@ -33,16 +33,13 @@ function Header( { setEntitiesSavedStatesCallback } ) {
33
33
  } = useSelect(
34
34
  ( select ) => ( {
35
35
  hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
36
- isPublishSidebarOpened: select(
37
- editPostStore
38
- ).isPublishSidebarOpened(),
36
+ isPublishSidebarOpened:
37
+ select( editPostStore ).isPublishSidebarOpened(),
39
38
  isSaving: select( editPostStore ).isSavingMetaBoxes(),
40
- showIconLabels: select( editPostStore ).isFeatureActive(
41
- 'showIconLabels'
42
- ),
43
- hasReducedUI: select( editPostStore ).isFeatureActive(
44
- 'reducedUI'
45
- ),
39
+ showIconLabels:
40
+ select( editPostStore ).isFeatureActive( 'showIconLabels' ),
41
+ hasReducedUI:
42
+ select( editPostStore ).isFeatureActive( 'reducedUI' ),
46
43
  } ),
47
44
  []
48
45
  );
@@ -40,10 +40,10 @@ function ModeSwitcher() {
40
40
  shortcut: select(
41
41
  keyboardShortcutsStore
42
42
  ).getShortcutRepresentation( 'core/edit-post/toggle-mode' ),
43
- isRichEditingEnabled: select( editorStore ).getEditorSettings()
44
- .richEditingEnabled,
45
- isCodeEditingEnabled: select( editorStore ).getEditorSettings()
46
- .codeEditingEnabled,
43
+ isRichEditingEnabled:
44
+ select( editorStore ).getEditorSettings().richEditingEnabled,
45
+ isCodeEditingEnabled:
46
+ select( editorStore ).getEditorSettings().codeEditingEnabled,
47
47
  isEditingTemplate: select( editPostStore ).isEditingTemplate(),
48
48
  mode: select( editPostStore ).getEditorMode(),
49
49
  } ),
@@ -91,12 +91,10 @@ export default compose(
91
91
  isBeingScheduled: select( editorStore ).isEditedPostBeingScheduled(),
92
92
  isPending: select( editorStore ).isCurrentPostPending(),
93
93
  isPublished: select( editorStore ).isCurrentPostPublished(),
94
- isPublishSidebarEnabled: select(
95
- editorStore
96
- ).isPublishSidebarEnabled(),
97
- isPublishSidebarOpened: select(
98
- editPostStore
99
- ).isPublishSidebarOpened(),
94
+ isPublishSidebarEnabled:
95
+ select( editorStore ).isPublishSidebarEnabled(),
96
+ isPublishSidebarOpened:
97
+ select( editPostStore ).isPublishSidebarOpened(),
100
98
  isScheduled: select( editorStore ).isCurrentPostScheduled(),
101
99
  } ) ),
102
100
  withDispatch( ( dispatch ) => {
@@ -84,10 +84,8 @@
84
84
  }
85
85
  }
86
86
 
87
- .edit-post-post-preview-dropdown {
88
- .components-popover__content > div {
89
- padding-bottom: 0;
90
- }
87
+ .edit-post-post-preview-dropdown .components-popover__content {
88
+ padding-bottom: 0;
91
89
  }
92
90
 
93
91
  /**
@@ -30,9 +30,8 @@ export default function DeleteTemplate() {
30
30
  const { updateEditorSettings, editPost } = useDispatch( editorStore );
31
31
  const { deleteEntityRecord } = useDispatch( coreStore );
32
32
  const { template } = useSelect( ( select ) => {
33
- const { isEditingTemplate, getEditedPostTemplate } = select(
34
- editPostStore
35
- );
33
+ const { isEditingTemplate, getEditedPostTemplate } =
34
+ select( editPostStore );
36
35
  const _isEditing = isEditingTemplate();
37
36
  return {
38
37
  template: _isEditing ? getEditedPostTemplate() : null,
@@ -48,6 +47,8 @@ export default function DeleteTemplate() {
48
47
  templateTitle = template.title;
49
48
  }
50
49
 
50
+ const isRevertable = template?.has_theme_file;
51
+
51
52
  const onDelete = () => {
52
53
  clearSelectedBlock();
53
54
  setIsEditingTemplate( false );
@@ -77,14 +78,19 @@ export default function DeleteTemplate() {
77
78
  <>
78
79
  <MenuItem
79
80
  className="edit-post-template-top-area__delete-template-button"
80
- isDestructive
81
- variant="secondary"
82
- aria-label={ __( 'Delete template' ) }
81
+ isDestructive={ ! isRevertable }
83
82
  onClick={ () => {
84
83
  setShowConfirmDialog( true );
85
84
  } }
85
+ info={
86
+ isRevertable
87
+ ? __( 'Restore template to default state' )
88
+ : undefined
89
+ }
86
90
  >
87
- { __( 'Delete template' ) }
91
+ { isRevertable
92
+ ? __( 'Clear customizations' )
93
+ : __( 'Delete template' ) }
88
94
  </MenuItem>
89
95
  <ConfirmDialog
90
96
  isOpen={ showConfirmDialog }
@@ -29,7 +29,8 @@ export default function EditTemplateTitle() {
29
29
  const { getEditorSettings } = useSelect( editorStore );
30
30
  const { updateEditorSettings } = useDispatch( editorStore );
31
31
 
32
- if ( template.has_theme_file ) {
32
+ // Only user-created and non-default templates can change the name.
33
+ if ( ! template.is_custom || template.has_theme_file ) {
33
34
  return null;
34
35
  }
35
36
 
@@ -41,31 +42,33 @@ export default function EditTemplateTitle() {
41
42
  }
42
43
 
43
44
  return (
44
- <TextControl
45
- label={ __( 'Title' ) }
46
- value={ templateTitle }
47
- help={ __(
48
- 'Give the template a title that indicates its purpose, e.g. "Full Width".'
49
- ) }
50
- onChange={ ( newTitle ) => {
51
- const settings = getEditorSettings();
52
- const newAvailableTemplates = mapValues(
53
- settings.availableTemplates,
54
- ( existingTitle, id ) => {
55
- if ( id !== template.slug ) {
56
- return existingTitle;
45
+ <div className="edit-site-template-details__group">
46
+ <TextControl
47
+ label={ __( 'Title' ) }
48
+ value={ templateTitle }
49
+ help={ __(
50
+ 'Give the template a title that indicates its purpose, e.g. "Full Width".'
51
+ ) }
52
+ onChange={ ( newTitle ) => {
53
+ const settings = getEditorSettings();
54
+ const newAvailableTemplates = mapValues(
55
+ settings.availableTemplates,
56
+ ( existingTitle, id ) => {
57
+ if ( id !== template.slug ) {
58
+ return existingTitle;
59
+ }
60
+ return newTitle;
57
61
  }
58
- return newTitle;
59
- }
60
- );
61
- updateEditorSettings( {
62
- ...settings,
63
- availableTemplates: newAvailableTemplates,
64
- } );
65
- editEntityRecord( 'postType', 'wp_template', template.id, {
66
- title: newTitle,
67
- } );
68
- } }
69
- />
62
+ );
63
+ updateEditorSettings( {
64
+ ...settings,
65
+ availableTemplates: newAvailableTemplates,
66
+ } );
67
+ editEntityRecord( 'postType', 'wp_template', template.id, {
68
+ title: newTitle,
69
+ } );
70
+ } }
71
+ />
72
+ </div>
70
73
  );
71
74
  }
@@ -22,9 +22,8 @@ import TemplateDescription from './template-description';
22
22
 
23
23
  function TemplateTitle() {
24
24
  const { template, isEditing, title } = useSelect( ( select ) => {
25
- const { isEditingTemplate, getEditedPostTemplate } = select(
26
- editPostStore
27
- );
25
+ const { isEditingTemplate, getEditedPostTemplate } =
26
+ select( editPostStore );
28
27
  const { getEditedPostAttribute } = select( editorStore );
29
28
 
30
29
  const _isEditing = isEditingTemplate();