@wordpress/edit-post 6.4.0 → 6.7.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 (97) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/components/device-preview/index.js +26 -7
  3. package/build/components/device-preview/index.js.map +1 -1
  4. package/build/components/header/template-title/delete-template.js +6 -5
  5. package/build/components/header/template-title/delete-template.js.map +1 -1
  6. package/build/components/header/template-title/edit-template-title.js +6 -4
  7. package/build/components/header/template-title/edit-template-title.js.map +1 -1
  8. package/build/components/header/template-title/template-description.js +3 -1
  9. package/build/components/header/template-title/template-description.js.map +1 -1
  10. package/build/components/layout/index.js.map +1 -1
  11. package/build/components/preferences-modal/index.js +10 -6
  12. package/build/components/preferences-modal/index.js.map +1 -1
  13. package/build/components/secondary-sidebar/list-view-sidebar.js +1 -5
  14. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  15. package/build/components/sidebar/post-schedule/index.js +9 -2
  16. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  17. package/build/components/sidebar/post-visibility/index.js +16 -1
  18. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  19. package/build/components/start-page-options/index.js +0 -5
  20. package/build/components/start-page-options/index.js.map +1 -1
  21. package/build/components/text-editor/index.js +11 -24
  22. package/build/components/text-editor/index.js.map +1 -1
  23. package/build/editor.native.js +8 -0
  24. package/build/editor.native.js.map +1 -1
  25. package/build/index.js +7 -1
  26. package/build/index.js.map +1 -1
  27. package/build/store/selectors.js +4 -4
  28. package/build/store/selectors.js.map +1 -1
  29. package/build-module/components/device-preview/index.js +24 -7
  30. package/build-module/components/device-preview/index.js.map +1 -1
  31. package/build-module/components/header/template-title/delete-template.js +6 -5
  32. package/build-module/components/header/template-title/delete-template.js.map +1 -1
  33. package/build-module/components/header/template-title/edit-template-title.js +6 -4
  34. package/build-module/components/header/template-title/edit-template-title.js.map +1 -1
  35. package/build-module/components/header/template-title/template-description.js +4 -2
  36. package/build-module/components/header/template-title/template-description.js.map +1 -1
  37. package/build-module/components/layout/index.js.map +1 -1
  38. package/build-module/components/preferences-modal/index.js +10 -6
  39. package/build-module/components/preferences-modal/index.js.map +1 -1
  40. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -5
  41. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  42. package/build-module/components/sidebar/post-schedule/index.js +9 -2
  43. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  44. package/build-module/components/sidebar/post-visibility/index.js +17 -1
  45. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  46. package/build-module/components/start-page-options/index.js +0 -5
  47. package/build-module/components/start-page-options/index.js.map +1 -1
  48. package/build-module/components/text-editor/index.js +11 -22
  49. package/build-module/components/text-editor/index.js.map +1 -1
  50. package/build-module/editor.native.js +8 -0
  51. package/build-module/editor.native.js.map +1 -1
  52. package/build-module/index.js +7 -1
  53. package/build-module/index.js.map +1 -1
  54. package/build-module/store/selectors.js +4 -4
  55. package/build-module/store/selectors.js.map +1 -1
  56. package/build-style/style-rtl.css +42 -82
  57. package/build-style/style.css +42 -82
  58. package/package.json +28 -28
  59. package/src/components/block-manager/style.scss +0 -4
  60. package/src/components/device-preview/index.js +36 -23
  61. package/src/components/header/style.scss +14 -36
  62. package/src/components/header/template-title/delete-template.js +11 -4
  63. package/src/components/header/template-title/edit-template-title.js +29 -26
  64. package/src/components/header/template-title/style.scss +26 -5
  65. package/src/components/header/template-title/template-description.js +3 -2
  66. package/src/components/layout/index.js +1 -0
  67. package/src/components/preferences-modal/index.js +18 -9
  68. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +24 -14
  69. package/src/components/secondary-sidebar/list-view-sidebar.js +1 -5
  70. package/src/components/sidebar/post-schedule/index.js +4 -2
  71. package/src/components/sidebar/post-schedule/style.scss +2 -4
  72. package/src/components/sidebar/post-visibility/index.js +12 -2
  73. package/src/components/sidebar/post-visibility/style.scss +2 -30
  74. package/src/components/sidebar/settings-header/style.scss +1 -1
  75. package/src/components/start-page-options/index.js +0 -5
  76. package/src/components/text-editor/index.js +9 -19
  77. package/src/components/visual-editor/test/index.native.js +93 -0
  78. package/src/editor.native.js +8 -0
  79. package/src/index.js +7 -0
  80. package/src/store/selectors.js +4 -4
  81. package/src/test/editor.native.js +8 -1
  82. package/build/components/admin-notices/index.js +0 -129
  83. package/build/components/admin-notices/index.js.map +0 -1
  84. package/build/components/block-manager/show-all.js +0 -39
  85. package/build/components/block-manager/show-all.js.map +0 -1
  86. package/build/components/editor-initialization/utils.js +0 -38
  87. package/build/components/editor-initialization/utils.js.map +0 -1
  88. package/build-module/components/admin-notices/index.js +0 -114
  89. package/build-module/components/admin-notices/index.js.map +0 -1
  90. package/build-module/components/block-manager/show-all.js +0 -29
  91. package/build-module/components/block-manager/show-all.js.map +0 -1
  92. package/build-module/components/editor-initialization/utils.js +0 -29
  93. package/build-module/components/editor-initialization/utils.js.map +0 -1
  94. package/src/components/admin-notices/index.js +0 -110
  95. package/src/components/admin-notices/test/index.js +0 -63
  96. package/src/components/block-manager/show-all.js +0 -30
  97. package/src/components/editor-initialization/utils.js +0 -24
@@ -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
  }
@@ -430,6 +429,8 @@ body.is-fullscreen-mode .interface-interface-skeleton {
430
429
 
431
430
  .interface-pinned-items {
432
431
  display: flex;
432
+ gap: 4px;
433
+ margin-right: -4px;
433
434
  }
434
435
  .interface-pinned-items .components-button:not(:first-child) {
435
436
  display: none;
@@ -440,7 +441,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
440
441
  }
441
442
  }
442
443
  .interface-pinned-items .components-button {
443
- margin-left: 4px;
444
+ margin: 0;
444
445
  }
445
446
  .interface-pinned-items .components-button svg {
446
447
  max-width: 24px;
@@ -571,38 +572,26 @@ body.is-fullscreen-mode .interface-interface-skeleton {
571
572
  }
572
573
  }
573
574
 
575
+ /**
576
+ * Buttons on the right side
577
+ */
574
578
  .edit-post-header__settings {
575
579
  display: inline-flex;
576
580
  align-items: center;
577
581
  flex-wrap: wrap;
578
582
  padding-right: 4px;
579
- /**
580
- * Buttons in the Toolbar
581
- */
583
+ gap: 4px;
582
584
  }
583
585
  @media (min-width: 600px) {
584
586
  .edit-post-header__settings {
585
- padding-right: 16px;
587
+ padding-right: 10px;
586
588
  }
587
589
  }
588
- .edit-post-header__settings .editor-post-saved-state,
589
- .edit-post-header__settings .components-button.components-button {
590
- margin-right: 4px;
591
- }
592
590
  @media (min-width: 600px) {
593
- .edit-post-header__settings .editor-post-saved-state,
594
- .edit-post-header__settings .components-button.components-button {
595
- margin-right: 12px;
591
+ .edit-post-header__settings {
592
+ gap: 8px;
596
593
  }
597
594
  }
598
- .edit-post-header__settings .editor-post-saved-state,
599
- .edit-post-header__settings .components-button.is-tertiary {
600
- padding: 0 6px;
601
- }
602
- .edit-post-header__settings .interface-more-menu-dropdown .components-button,
603
- .edit-post-header__settings .interface-pinned-items .components-button {
604
- margin-right: 0;
605
- }
606
595
 
607
596
  .edit-post-header-preview__grouping-external {
608
597
  display: flex;
@@ -621,10 +610,13 @@ body.is-fullscreen-mode .interface-interface-skeleton {
621
610
  margin-left: auto;
622
611
  }
623
612
 
624
- .edit-post-post-preview-dropdown .components-popover__content > div {
613
+ .edit-post-post-preview-dropdown .components-popover__content {
625
614
  padding-bottom: 0;
626
615
  }
627
616
 
617
+ /**
618
+ * Show icon labels.
619
+ */
628
620
  .show-icon-labels.interface-pinned-items .components-button.has-icon,
629
621
  .show-icon-labels .edit-post-header .components-button.has-icon,
630
622
  .edit-post-header__dropdown .components-button.has-icon {
@@ -697,22 +689,6 @@ body.is-fullscreen-mode .interface-interface-skeleton {
697
689
  padding-right: 12px;
698
690
  }
699
691
  }
700
- .show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle,
701
- .show-icon-labels .edit-post-header .components-dropdown-menu__toggle,
702
- .edit-post-header__dropdown .components-dropdown-menu__toggle {
703
- margin-left: 8px;
704
- padding-left: 8px;
705
- padding-right: 8px;
706
- }
707
- @media (min-width: 600px) {
708
- .show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle,
709
- .show-icon-labels .edit-post-header .components-dropdown-menu__toggle,
710
- .edit-post-header__dropdown .components-dropdown-menu__toggle {
711
- margin-left: 12px;
712
- padding-left: 12px;
713
- padding-right: 12px;
714
- }
715
- }
716
692
  .show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle::after,
717
693
  .show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle::after,
718
694
  .edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle::after {
@@ -992,26 +968,42 @@ body.is-fullscreen-mode .interface-interface-skeleton {
992
968
 
993
969
  .edit-post-template-top-area__popover .components-popover__content {
994
970
  min-width: 280px;
995
- padding: 8px;
971
+ }
972
+ .edit-post-template-top-area__popover .components-popover__content > div {
973
+ padding: 0;
974
+ }
975
+ .edit-post-template-top-area__popover .edit-site-template-details__group {
976
+ padding: 16px;
977
+ }
978
+ .edit-post-template-top-area__popover .edit-site-template-details__group .components-base-control__help {
979
+ margin-bottom: 0;
996
980
  }
997
981
  .edit-post-template-top-area__popover .edit-post-template-details__description {
998
982
  color: #757575;
999
983
  }
1000
984
 
1001
985
  .edit-post-template-top-area__second-menu-group {
1002
- margin-left: -16px;
1003
- margin-right: -16px;
1004
- padding: 16px;
1005
- padding-bottom: 0;
1006
986
  border-top: 1px solid #ddd;
987
+ padding: 16px 8px;
1007
988
  }
1008
989
  .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button {
1009
990
  display: flex;
1010
991
  justify-content: center;
992
+ padding: 4px 8px;
993
+ }
994
+ .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button.is-destructive {
995
+ padding: inherit;
996
+ margin-left: 8px;
997
+ margin-right: 8px;
998
+ width: calc(100% - 16px);
999
+ }
1000
+ .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button.is-destructive .components-menu-item__item {
1001
+ width: auto;
1011
1002
  }
1012
1003
  .edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button .components-menu-item__item {
1013
1004
  margin-right: 0;
1014
1005
  min-width: 0;
1006
+ width: 100%;
1015
1007
  }
1016
1008
 
1017
1009
  .edit-post-keyboard-shortcut-help-modal__section {
@@ -1229,10 +1221,6 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1229
1221
  font-weight: 600;
1230
1222
  }
1231
1223
 
1232
- .edit-post-block-manager__show-all {
1233
- margin-right: 8px;
1234
- }
1235
-
1236
1224
  .edit-post-block-manager__checklist {
1237
1225
  margin-top: 0;
1238
1226
  }
@@ -1488,8 +1476,8 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1488
1476
  text-align: right;
1489
1477
  }
1490
1478
 
1491
- .edit-post-post-schedule__dialog .components-popover__content > div {
1492
- padding: 0;
1479
+ .edit-post-post-schedule__dialog .components-popover__content {
1480
+ padding: 16px;
1493
1481
  }
1494
1482
 
1495
1483
  .editor-post-slug__input {
@@ -1512,36 +1500,8 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1512
1500
  width: 45%;
1513
1501
  }
1514
1502
 
1515
- @media (min-width: 782px) {
1516
- .edit-post-post-visibility__dialog .components-popover__content {
1517
- width: 257px;
1518
- }
1519
- }
1520
-
1521
- .edit-post-post-visibility__dialog-legend {
1522
- font-weight: 600;
1523
- }
1524
-
1525
- .edit-post-post-visibility__choice {
1526
- margin: 10px 0;
1527
- }
1528
-
1529
- .edit-post-post-visibility__dialog-radio,
1530
- .edit-post-post-visibility__dialog-label {
1531
- vertical-align: top;
1532
- }
1533
-
1534
- .edit-post-post-visibility__dialog-password-input {
1535
- width: calc(100% - 20px);
1536
- margin-left: 20px;
1537
- }
1538
-
1539
- .edit-post-post-visibility__dialog-info {
1540
- color: #757575;
1541
- padding-left: 20px;
1542
- font-style: italic;
1543
- margin: 4px 0 0;
1544
- line-height: 1.4;
1503
+ .edit-post-post-visibility__dialog .components-popover__content {
1504
+ width: 262px;
1545
1505
  }
1546
1506
 
1547
1507
  .components-button.edit-post-sidebar__panel-tab {
@@ -1566,7 +1526,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1566
1526
  visibility: hidden;
1567
1527
  }
1568
1528
  .components-button.edit-post-sidebar__panel-tab.is-active {
1569
- 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);
1570
1530
  position: relative;
1571
1531
  z-index: 1;
1572
1532
  }
@@ -1577,7 +1537,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1577
1537
  bottom: 1px;
1578
1538
  right: 0;
1579
1539
  left: 0;
1580
- border-bottom: 4px solid transparent;
1540
+ border-bottom: 1.5px solid transparent;
1581
1541
  }
1582
1542
  .components-button.edit-post-sidebar__panel-tab:focus {
1583
1543
  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
@@ -1585,7 +1545,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar {
1585
1545
  z-index: 1;
1586
1546
  }
1587
1547
  .components-button.edit-post-sidebar__panel-tab.is-active:focus {
1588
- 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);
1589
1549
  }
1590
1550
 
1591
1551
  @media (min-width: 782px) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-post",
3
- "version": "6.4.0",
3
+ "version": "6.7.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.7.0",
31
- "@wordpress/api-fetch": "^6.4.0",
32
- "@wordpress/block-editor": "^8.6.0",
33
- "@wordpress/block-library": "^7.4.0",
34
- "@wordpress/blocks": "^11.6.0",
35
- "@wordpress/components": "^19.9.0",
36
- "@wordpress/compose": "^5.5.0",
37
- "@wordpress/core-data": "^4.5.0",
38
- "@wordpress/data": "^6.7.0",
39
- "@wordpress/deprecated": "^3.7.0",
40
- "@wordpress/editor": "^12.6.0",
41
- "@wordpress/element": "^4.5.0",
42
- "@wordpress/hooks": "^3.7.0",
43
- "@wordpress/i18n": "^4.7.0",
44
- "@wordpress/icons": "^8.3.0",
45
- "@wordpress/interface": "^4.6.0",
46
- "@wordpress/keyboard-shortcuts": "^3.5.0",
47
- "@wordpress/keycodes": "^3.7.0",
48
- "@wordpress/media-utils": "^3.5.0",
49
- "@wordpress/notices": "^3.7.0",
50
- "@wordpress/plugins": "^4.5.0",
51
- "@wordpress/preferences": "^1.3.0",
52
- "@wordpress/url": "^3.8.0",
53
- "@wordpress/viewport": "^4.5.0",
54
- "@wordpress/warning": "^2.7.0",
30
+ "@wordpress/a11y": "^3.10.0",
31
+ "@wordpress/api-fetch": "^6.7.0",
32
+ "@wordpress/block-editor": "^9.2.0",
33
+ "@wordpress/block-library": "^7.7.0",
34
+ "@wordpress/blocks": "^11.9.0",
35
+ "@wordpress/components": "^19.12.0",
36
+ "@wordpress/compose": "^5.8.0",
37
+ "@wordpress/core-data": "^4.8.0",
38
+ "@wordpress/data": "^6.10.0",
39
+ "@wordpress/deprecated": "^3.10.0",
40
+ "@wordpress/editor": "^12.9.0",
41
+ "@wordpress/element": "^4.8.0",
42
+ "@wordpress/hooks": "^3.10.0",
43
+ "@wordpress/i18n": "^4.10.0",
44
+ "@wordpress/icons": "^9.1.0",
45
+ "@wordpress/interface": "^4.9.0",
46
+ "@wordpress/keyboard-shortcuts": "^3.8.0",
47
+ "@wordpress/keycodes": "^3.10.0",
48
+ "@wordpress/media-utils": "^4.1.0",
49
+ "@wordpress/notices": "^3.10.0",
50
+ "@wordpress/plugins": "^4.8.0",
51
+ "@wordpress/preferences": "^2.2.0",
52
+ "@wordpress/url": "^3.11.0",
53
+ "@wordpress/viewport": "^4.8.0",
54
+ "@wordpress/warning": "^2.10.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": "1ba52312b56db563df2d8d4fba5b00613fb46d8c"
67
+ "gitHead": "a3e0b62091e8a8bdf5e2518e42d60d7098af48cc"
68
68
  }
@@ -44,10 +44,6 @@
44
44
  }
45
45
  }
46
46
 
47
- .edit-post-block-manager__show-all {
48
- margin-right: $grid-unit-10;
49
- }
50
-
51
47
  .edit-post-block-manager__checklist {
52
48
  margin-top: 0;
53
49
  }
@@ -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,18 +24,23 @@ 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(),
38
+ isViewable: get( postType, [ 'viewable' ], false ),
27
39
  deviceType: select(
28
40
  editPostStore
29
41
  ).__experimentalGetPreviewDeviceType(),
30
- } ),
31
- []
32
- );
42
+ };
43
+ }, [] );
33
44
  const {
34
45
  __experimentalSetPreviewDeviceType: setPreviewDeviceType,
35
46
  } = useDispatch( editPostStore );
@@ -41,24 +52,26 @@ export default function DevicePreview() {
41
52
  deviceType={ deviceType }
42
53
  setDeviceType={ setPreviewDeviceType }
43
54
  >
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>
55
+ { isViewable && (
56
+ <MenuGroup>
57
+ <div className="edit-post-header-preview__grouping-external">
58
+ <PostPreviewButton
59
+ className={
60
+ 'edit-post-header-preview__button-external'
61
+ }
62
+ role="menuitem"
63
+ forceIsAutosaveable={ hasActiveMetaboxes }
64
+ forcePreviewLink={ isSaving ? null : undefined }
65
+ textContent={
66
+ <>
67
+ { __( 'Preview in new tab' ) }
68
+ <Icon icon={ external } />
69
+ </>
70
+ }
71
+ />
72
+ </div>
73
+ </MenuGroup>
74
+ ) }
62
75
  </PreviewOptions>
63
76
  );
64
77
  }
@@ -44,6 +44,10 @@
44
44
  }
45
45
  }
46
46
 
47
+ /**
48
+ * Buttons on the right side
49
+ */
50
+
47
51
  .edit-post-header__settings {
48
52
  display: inline-flex;
49
53
  align-items: center;
@@ -51,31 +55,13 @@
51
55
  padding-right: $grid-unit-05;
52
56
 
53
57
  @include break-small () {
54
- padding-right: $grid-unit-20;
55
- }
56
-
57
- /**
58
- * Buttons in the Toolbar
59
- */
60
-
61
- // Adjust button paddings to scale better to mobile.
62
- .editor-post-saved-state,
63
- .components-button.components-button {
64
- margin-right: $grid-unit-05;
65
-
66
- @include break-small() {
67
- margin-right: $grid-unit-15;
68
- }
58
+ padding-right: $grid-unit-20 - ($grid-unit-15 * 0.5);
69
59
  }
70
60
 
71
- .editor-post-saved-state,
72
- .components-button.is-tertiary {
73
- padding: 0 #{ $grid-unit-15 * 0.5 };
74
- }
61
+ gap: $grid-unit-05;
75
62
 
76
- .interface-more-menu-dropdown .components-button,
77
- .interface-pinned-items .components-button {
78
- margin-right: 0;
63
+ @include break-small() {
64
+ gap: $grid-unit-10;
79
65
  }
80
66
  }
81
67
 
@@ -98,12 +84,14 @@
98
84
  }
99
85
  }
100
86
 
101
- .edit-post-post-preview-dropdown {
102
- .components-popover__content > div {
103
- padding-bottom: 0;
104
- }
87
+ .edit-post-post-preview-dropdown .components-popover__content {
88
+ padding-bottom: 0;
105
89
  }
106
90
 
91
+ /**
92
+ * Show icon labels.
93
+ */
94
+
107
95
  .show-icon-labels.interface-pinned-items,
108
96
  .show-icon-labels .edit-post-header,
109
97
  .edit-post-header__dropdown {
@@ -157,17 +145,7 @@
157
145
  padding-right: $grid-unit-15;
158
146
  }
159
147
  }
160
- .components-dropdown-menu__toggle {
161
- margin-left: $grid-unit;
162
- padding-left: $grid-unit;
163
- padding-right: $grid-unit;
164
148
 
165
- @include break-small {
166
- margin-left: $grid-unit-15;
167
- padding-left: $grid-unit-15;
168
- padding-right: $grid-unit-15;
169
- }
170
- }
171
149
  // The inserter has a custom label, different from its aria-label, so we don't want to display both.
172
150
  .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle {
173
151
  &::after {
@@ -48,6 +48,8 @@ export default function DeleteTemplate() {
48
48
  templateTitle = template.title;
49
49
  }
50
50
 
51
+ const isRevertable = template?.has_theme_file;
52
+
51
53
  const onDelete = () => {
52
54
  clearSelectedBlock();
53
55
  setIsEditingTemplate( false );
@@ -77,14 +79,19 @@ export default function DeleteTemplate() {
77
79
  <>
78
80
  <MenuItem
79
81
  className="edit-post-template-top-area__delete-template-button"
80
- isDestructive
81
- variant="secondary"
82
- aria-label={ __( 'Delete template' ) }
82
+ isDestructive={ ! isRevertable }
83
83
  onClick={ () => {
84
84
  setShowConfirmDialog( true );
85
85
  } }
86
+ info={
87
+ isRevertable
88
+ ? __( 'Restore template to default state' )
89
+ : undefined
90
+ }
86
91
  >
87
- { __( 'Delete template' ) }
92
+ { isRevertable
93
+ ? __( 'Clear customizations' )
94
+ : __( 'Delete template' ) }
88
95
  </MenuItem>
89
96
  <ConfirmDialog
90
97
  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
  }
@@ -49,7 +49,18 @@
49
49
  .edit-post-template-top-area__popover {
50
50
  .components-popover__content {
51
51
  min-width: 280px;
52
- padding: $grid-unit-10;
52
+
53
+ > div {
54
+ padding: 0;
55
+ }
56
+ }
57
+
58
+ .edit-site-template-details__group {
59
+ padding: $grid-unit-20;
60
+
61
+ .components-base-control__help {
62
+ margin-bottom: 0;
63
+ }
53
64
  }
54
65
 
55
66
  .edit-post-template-details__description {
@@ -58,19 +69,29 @@
58
69
  }
59
70
 
60
71
  .edit-post-template-top-area__second-menu-group {
61
- margin-left: -$grid-unit-20;
62
- margin-right: -$grid-unit-20;
63
- padding: $grid-unit-20;
64
- padding-bottom: 0;
65
72
  border-top: $border-width solid $gray-300;
73
+ padding: $grid-unit-20 $grid-unit-10;
66
74
 
67
75
  .edit-post-template-top-area__delete-template-button {
68
76
  display: flex;
69
77
  justify-content: center;
78
+ padding: $grid-unit-05 $grid-unit;
79
+
80
+ &.is-destructive {
81
+ padding: inherit;
82
+ margin-left: $grid-unit-10;
83
+ margin-right: $grid-unit-10;
84
+ width: calc(100% - #{($grid-unit * 2)});
85
+
86
+ .components-menu-item__item {
87
+ width: auto;
88
+ }
89
+ }
70
90
 
71
91
  .components-menu-item__item {
72
92
  margin-right: 0;
73
93
  min-width: 0;
94
+ width: 100%;
74
95
  }
75
96
  }
76
97
  }
@@ -23,8 +23,9 @@ export default function TemplateDescription() {
23
23
  if ( ! description ) {
24
24
  return null;
25
25
  }
26
+
26
27
  return (
27
- <>
28
+ <div className="edit-site-template-details__group">
28
29
  <Heading level={ 4 } weight={ 600 }>
29
30
  { title }
30
31
  </Heading>
@@ -36,6 +37,6 @@ export default function TemplateDescription() {
36
37
  >
37
38
  { description }
38
39
  </Text>
39
- </>
40
+ </div>
40
41
  );
41
42
  }
@@ -181,6 +181,7 @@ function Layout( { styles } ) {
181
181
  if ( mode === 'visual' && isListViewOpened ) {
182
182
  return <ListViewSidebar />;
183
183
  }
184
+
184
185
  return null;
185
186
  };
186
187