@wordpress/editor 14.23.0 → 14.25.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 (50) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/collab-sidebar/comment-form.js +3 -1
  3. package/build/components/collab-sidebar/comment-form.js.map +1 -1
  4. package/build/components/editor-interface/index.js +11 -6
  5. package/build/components/editor-interface/index.js.map +1 -1
  6. package/build/components/post-publish-panel/postpublish.js +11 -3
  7. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  8. package/build/components/post-taxonomies/hierarchical-term-selector.js +5 -1
  9. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  10. package/build/components/template-part-menu-items/convert-to-template-part.js +4 -1
  11. package/build/components/template-part-menu-items/convert-to-template-part.js.map +1 -1
  12. package/build/store/private-actions.js +2 -1
  13. package/build/store/private-actions.js.map +1 -1
  14. package/build/store/utils/notice-builder.js +2 -1
  15. package/build/store/utils/notice-builder.js.map +1 -1
  16. package/build-module/components/collab-sidebar/comment-form.js +4 -2
  17. package/build-module/components/collab-sidebar/comment-form.js.map +1 -1
  18. package/build-module/components/editor-interface/index.js +11 -6
  19. package/build-module/components/editor-interface/index.js.map +1 -1
  20. package/build-module/components/post-publish-panel/postpublish.js +12 -4
  21. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  22. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +6 -2
  23. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  24. package/build-module/components/template-part-menu-items/convert-to-template-part.js +4 -1
  25. package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -1
  26. package/build-module/store/private-actions.js +2 -1
  27. package/build-module/store/private-actions.js.map +1 -1
  28. package/build-module/store/utils/notice-builder.js +2 -1
  29. package/build-module/store/utils/notice-builder.js.map +1 -1
  30. package/build-style/style-rtl.css +133 -10
  31. package/build-style/style.css +133 -10
  32. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -1
  33. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  34. package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -1
  35. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  36. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts.map +1 -1
  37. package/build-types/store/private-actions.d.ts.map +1 -1
  38. package/build-types/store/utils/notice-builder.d.ts.map +1 -1
  39. package/package.json +37 -37
  40. package/src/components/collab-sidebar/comment-form.js +3 -1
  41. package/src/components/editor-interface/index.js +17 -15
  42. package/src/components/post-publish-panel/postpublish.js +19 -3
  43. package/src/components/post-publish-panel/style.scss +3 -1
  44. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +82 -12
  45. package/src/components/post-taxonomies/hierarchical-term-selector.js +7 -3
  46. package/src/components/template-part-menu-items/convert-to-template-part.js +5 -2
  47. package/src/store/private-actions.js +1 -0
  48. package/src/store/utils/notice-builder.js +1 -0
  49. package/src/store/utils/test/notice-builder.js +3 -1
  50. package/tsconfig.tsbuildinfo +1 -1
@@ -1,16 +1,58 @@
1
1
  @charset "UTF-8";
2
- /**
3
- * Converts a hex value into the rgb equivalent.
4
- *
5
- * @param {string} hex - the hexadecimal value to convert
6
- * @return {string} comma separated rgb values
7
- */
8
2
  /**
9
3
  * Colors
10
4
  */
11
5
  /**
12
6
  * Breakpoints & Media Queries
13
7
  */
8
+ /**
9
+ * Colors
10
+ */
11
+ /**
12
+ * SCSS Variables.
13
+ *
14
+ * Please use variables from this sheet to ensure consistency across the UI.
15
+ * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
16
+ * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
17
+ */
18
+ /**
19
+ * Fonts & basic variables.
20
+ */
21
+ /**
22
+ * Typography
23
+ */
24
+ /**
25
+ * Grid System.
26
+ * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
27
+ */
28
+ /**
29
+ * Radius scale.
30
+ */
31
+ /**
32
+ * Elevation scale.
33
+ */
34
+ /**
35
+ * Dimensions.
36
+ */
37
+ /**
38
+ * Mobile specific styles
39
+ */
40
+ /**
41
+ * Editor styles.
42
+ */
43
+ /**
44
+ * Block & Editor UI.
45
+ */
46
+ /**
47
+ * Block paddings.
48
+ */
49
+ /**
50
+ * React Native specific.
51
+ * These variables do not appear to be used anywhere else.
52
+ */
53
+ /**
54
+ * Colors
55
+ */
14
56
  /**
15
57
  * SCSS Variables.
16
58
  *
@@ -18,15 +60,91 @@
18
60
  * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
19
61
  * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
20
62
  */
63
+ /**
64
+ * Fonts & basic variables.
65
+ */
66
+ /**
67
+ * Typography
68
+ */
69
+ /**
70
+ * Grid System.
71
+ * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
72
+ */
73
+ /**
74
+ * Radius scale.
75
+ */
76
+ /**
77
+ * Elevation scale.
78
+ */
79
+ /**
80
+ * Dimensions.
81
+ */
82
+ /**
83
+ * Mobile specific styles
84
+ */
85
+ /**
86
+ * Editor styles.
87
+ */
88
+ /**
89
+ * Block & Editor UI.
90
+ */
91
+ /**
92
+ * Block paddings.
93
+ */
94
+ /**
95
+ * React Native specific.
96
+ * These variables do not appear to be used anywhere else.
97
+ */
98
+ /**
99
+ * Breakpoints & Media Queries
100
+ */
21
101
  /**
22
102
  * Converts a hex value into the rgb equivalent.
23
103
  *
24
104
  * @param {string} hex - the hexadecimal value to convert
25
105
  * @return {string} comma separated rgb values
26
106
  */
107
+ /**
108
+ * Long content fade mixin
109
+ *
110
+ * Creates a fading overlay to signify that the content is longer
111
+ * than the space allows.
112
+ */
113
+ /**
114
+ * Typography
115
+ */
116
+ /**
117
+ * Breakpoint mixins
118
+ */
119
+ /**
120
+ * Focus styles.
121
+ */
122
+ /**
123
+ * Applies editor left position to the selector passed as argument
124
+ */
125
+ /**
126
+ * Styles that are reused verbatim in a few places
127
+ */
128
+ /**
129
+ * Allows users to opt-out of animations via OS-level preferences.
130
+ */
131
+ /**
132
+ * Reset default styles for JavaScript UI based pages.
133
+ * This is a WP-admin agnostic reset
134
+ */
135
+ /**
136
+ * Reset the WP Admin page styles for Gutenberg-like pages.
137
+ */
27
138
  /**
28
139
  * Colors
29
140
  */
141
+ /**
142
+ * SCSS Variables.
143
+ *
144
+ * Please use variables from this sheet to ensure consistency across the UI.
145
+ * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
146
+ * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
147
+ */
30
148
  /**
31
149
  * Fonts & basic variables.
32
150
  */
@@ -62,6 +180,9 @@
62
180
  * React Native specific.
63
181
  * These variables do not appear to be used anywhere else.
64
182
  */
183
+ /**
184
+ * Breakpoints & Media Queries
185
+ */
65
186
  /**
66
187
  * Converts a hex value into the rgb equivalent.
67
188
  *
@@ -100,6 +221,9 @@
100
221
  * Reset the WP Admin page styles for Gutenberg-like pages.
101
222
  */
102
223
  :root {
224
+ --wp-block-synced-color: #7a00df;
225
+ --wp-block-synced-color--rgb: 122, 0, 223;
226
+ --wp-bound-block-color: var(--wp-block-synced-color);
103
227
  --wp-admin-theme-color: #007cba;
104
228
  --wp-admin-theme-color--rgb: 0, 124, 186;
105
229
  --wp-admin-theme-color-darker-10: #006ba1;
@@ -107,9 +231,6 @@
107
231
  --wp-admin-theme-color-darker-20: #005a87;
108
232
  --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;
109
233
  --wp-admin-border-width-focus: 2px;
110
- --wp-block-synced-color: #7a00df;
111
- --wp-block-synced-color--rgb: 122, 0, 223;
112
- --wp-bound-block-color: var(--wp-block-synced-color);
113
234
  }
114
235
  @media (min-resolution: 192dpi) {
115
236
  :root {
@@ -1837,9 +1958,11 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1837
1958
  flex-wrap: wrap;
1838
1959
  gap: 16px;
1839
1960
  }
1840
- .post-publish-panel__postpublish-buttons .components-button {
1961
+ .post-publish-panel__postpublish-buttons .components-button,
1962
+ .post-publish-panel__postpublish-buttons .components-button.has-icon {
1841
1963
  justify-content: center;
1842
1964
  flex: 1;
1965
+ min-width: unset;
1843
1966
  }
1844
1967
  .post-publish-panel__postpublish-buttons .components-clipboard-button {
1845
1968
  width: 100%;
@@ -1 +1 @@
1
- {"version":3,"file":"comment-form.d.ts","sourceRoot":"","sources":["../../../src/components/collab-sidebar/comment-form.js"],"names":[],"mappings":";AAgBA;;;;;;;;;GASG;AACH,+EANG;IAAwB,QAAQ;IACR,QAAQ;IACR,MAAM,EAAtB,MAAM;IACU,gBAAgB,EAAhC,MAAM;CACd,GAAS,KAAK,CAAC,SAAS,CAsC1B"}
1
+ {"version":3,"file":"comment-form.d.ts","sourceRoot":"","sources":["../../../src/components/collab-sidebar/comment-form.js"],"names":[],"mappings":";AAgBA;;;;;;;;;GASG;AACH,+EANG;IAAwB,QAAQ;IACR,QAAQ;IACR,MAAM,EAAtB,MAAM;IACU,gBAAgB,EAAhC,MAAM;CACd,GAAS,KAAK,CAAC,SAAS,CAwC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/editor-interface/index.js"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;gCA4KC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/editor-interface/index.js"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;gCA8KC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postpublish.d.ts","sourceRoot":"","sources":["../../../src/components/post-publish-panel/postpublish.js"],"names":[],"mappings":"AAuEA;;;gCAoGC"}
1
+ {"version":3,"file":"postpublish.d.ts","sourceRoot":"","sources":["../../../src/components/post-publish-panel/postpublish.js"],"names":[],"mappings":"AA8EA;;;gCA6GC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchical-term-selector.d.ts","sourceRoot":"","sources":["../../../src/components/post-taxonomies/hierarchical-term-selector.js"],"names":[],"mappings":"AA2CA;;;;;;;GAOG;AACH,0CALW,MAAM,EAAE,SACR,MAAM,EAAE,GAEP,MAAM,EAAE,CAqCnB;AAED;;;;;;;GAOG;AACH,gCALW,MAAM,EAAE,UACR,MAAM,GAAC,MAAM,QACb,MAAM,GACL,MAAM,CAUjB;AAED;;;;;GAKG;AACH,8CAHW,MAAM,GACL,CAAC,CAAS,IAAM,EAAN,MAAM,KAAG,CAAC,MAAM,GAAC,OAAO,CAAC,CAAC,CAmC/C;AAED;;;;;;GAMG;AACH,mDAHG;IAAsB,IAAI,EAAlB,MAAM;CACd,GAAS,OAAO,CAuUlB;;;;;;;yBA1ae,OAAO;;wJASC,CAAC;4BAGS,CAAC;;;;kCAIJ,OAAO;;6BAIJ,CAAC;yBASjC,CAAC,iCAC6B,OAChC;+BACQ,CAAA;0BAMkB,CAAA,2DAEzB,CAAD;0BAAwC,CAAC;iCAGtC,CAAC;iCAA4C,CAAA;wCAI1C,CAAC;2BACsB,CAAC;kCAQQ,CAAA;;;;;yBAKpB,OAAO;;wJAQnB,CAAC;4BAA+D,CAAC;;;;kCAKlD,OAAM;;6BAGiB,CAAC;yBAG1C,CAAF,iCACuB,OAAO;+BACjB,CAAC;0BAK4B,CAAC,2DACd,CAAC;0BAGpB,CAAC;iCAIO,CAAC;iCAEU,CAAA;wCAED,CAAC;2BAEQ,CAAC;kCAEM,CAAA;;yBAKxC,OAAO"}
1
+ {"version":3,"file":"hierarchical-term-selector.d.ts","sourceRoot":"","sources":["../../../src/components/post-taxonomies/hierarchical-term-selector.js"],"names":[],"mappings":"AA6CA;;;;;;;GAOG;AACH,0CALW,MAAM,EAAE,SACR,MAAM,EAAE,GAEP,MAAM,EAAE,CAqCnB;AAED;;;;;;;GAOG;AACH,gCALW,MAAM,EAAE,UACR,MAAM,GAAC,MAAM,QACb,MAAM,GACL,MAAM,CAUjB;AAED;;;;;GAKG;AACH,8CAHW,MAAM,GACL,CAAC,CAAS,IAAM,EAAN,MAAM,KAAG,CAAC,MAAM,GAAC,OAAO,CAAC,CAAC,CAqC/C;AAED;;;;;;GAMG;AACH,mDAHG;IAAsB,IAAI,EAAlB,MAAM;CACd,GAAS,OAAO,CAuUlB;;;;;;;yBAhbc,OAAO;;wJAOpB,CAAC;4BAGD,CAAC;;;;kCAMqC,OAAO;;6BAE7C,CAAD;yBAGS,CAAC,iCAGe,OAAO;+BAIZ,CAAC;0BAMK,CAAC,2DAExB,CAAC;0BAIY,CAAC;iCAEQ,CAAF;iCACN,CAAC;wCAEU,CAAC;2BAGR,CAAA;kCAG2B,CAAC;;;;;yBAUN,OAAO;;wJAQtC,CAAA;4BACR,CAAC;;;;kCAKJ,OADO;;6BAEN,CAAA;yBAOD,CAFC,iCAAkC,OAAM;+BAClB,CAAC;0BAGP,CAAC,2DACa,CAAC;0BAER,CAAA;iCAKZ,CAAC;iCAA2C,CAAC;wCAI1C,CAAC;2BAMY,CAAH;kCAEmB,CAAA;;yBAGf,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-template-part.d.ts","sourceRoot":"","sources":["../../../src/components/template-part-menu-items/convert-to-template-part.js"],"names":[],"mappings":"AAiBA;;;uCAyDC"}
1
+ {"version":3,"file":"convert-to-template-part.d.ts","sourceRoot":"","sources":["../../../src/components/template-part-menu-items/convert-to-template-part.js"],"names":[],"mappings":"AAkBA;;;uCA2DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"private-actions.d.ts","sourceRoot":"","sources":["../../src/store/private-actions.js"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,yCAJW,MAAM,GAEL,MAAM,CAOjB;;AAOM,yCAFK,MAAM,OAAA;;;;mBAqChB;AAOK,2CAFI,MAAM,EAAE;;WAoBjB;AAOK,2CAFI,MAAM,EAAE;;WAkBjB;AAWK,0FALJ;IAA2B,MAAM;IACN,kBAAkB;IAClB,cAAc;IACd,KAAK;CAClC;;WAmGC;AAUK,yCALI,MAAM,kBAEd;IAA0B,SAAS;CAErC;;oBA6HC;AAOK;;oBA0HL;AAOK,8CAFI,MAAM;;;WA4Bf"}
1
+ {"version":3,"file":"private-actions.d.ts","sourceRoot":"","sources":["../../src/store/private-actions.js"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,yCAJW,MAAM,GAEL,MAAM,CAOjB;;AAOM,yCAFK,MAAM,OAAA;;;;mBAqChB;AAOK,2CAFI,MAAM,EAAE;;WAoBjB;AAOK,2CAFI,MAAM,EAAE;;WAkBjB;AAWK,0FALJ;IAA2B,MAAM;IACN,kBAAkB;IAClB,cAAc;IACd,KAAK;CAClC;;WAoGC;AAUK,yCALI,MAAM,kBAEd;IAA0B,SAAS;CAErC;;oBA6HC;AAOK;;oBA0HL;AAOK,8CAFI,MAAM;;;WA4Bf"}
@@ -1 +1 @@
1
- {"version":3,"file":"notice-builder.d.ts","sourceRoot":"","sources":["../../../src/store/utils/notice-builder.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,6DALW,MAAM,SA8DhB;AAED;;;;;;;GAOG;AACH,0DALW,MAAM,SAsChB;AAED;;;;;;GAMG;AACH,2DAJW,MAAM,SAahB"}
1
+ {"version":3,"file":"notice-builder.d.ts","sourceRoot":"","sources":["../../../src/store/utils/notice-builder.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,6DALW,MAAM,SA+DhB;AAED;;;;;;;GAOG;AACH,0DALW,MAAM,SAsChB;AAED;;;;;;GAMG;AACH,2DAJW,MAAM,SAahB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/editor",
3
- "version": "14.23.0",
3
+ "version": "14.25.0",
4
4
  "description": "Enhanced block editor for WordPress posts.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -34,41 +34,41 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@babel/runtime": "7.25.7",
37
- "@wordpress/a11y": "^4.23.0",
38
- "@wordpress/api-fetch": "^7.23.0",
39
- "@wordpress/blob": "^4.23.0",
40
- "@wordpress/block-editor": "^14.18.0",
41
- "@wordpress/blocks": "^14.12.0",
42
- "@wordpress/commands": "^1.23.0",
43
- "@wordpress/components": "^29.9.0",
44
- "@wordpress/compose": "^7.23.0",
45
- "@wordpress/core-data": "^7.23.0",
46
- "@wordpress/data": "^10.23.0",
47
- "@wordpress/dataviews": "^4.19.0",
48
- "@wordpress/date": "^5.23.0",
49
- "@wordpress/deprecated": "^4.23.0",
50
- "@wordpress/dom": "^4.23.0",
51
- "@wordpress/element": "^6.23.0",
52
- "@wordpress/fields": "^0.15.0",
53
- "@wordpress/hooks": "^4.23.0",
54
- "@wordpress/html-entities": "^4.23.0",
55
- "@wordpress/i18n": "^5.23.0",
56
- "@wordpress/icons": "^10.23.0",
57
- "@wordpress/interface": "^9.8.0",
58
- "@wordpress/keyboard-shortcuts": "^5.23.0",
59
- "@wordpress/keycodes": "^4.23.0",
60
- "@wordpress/media-utils": "^5.23.0",
61
- "@wordpress/notices": "^5.23.0",
62
- "@wordpress/patterns": "^2.23.0",
63
- "@wordpress/plugins": "^7.23.0",
64
- "@wordpress/preferences": "^4.23.0",
65
- "@wordpress/private-apis": "^1.23.0",
66
- "@wordpress/reusable-blocks": "^5.23.0",
67
- "@wordpress/rich-text": "^7.23.0",
68
- "@wordpress/server-side-render": "^5.23.0",
69
- "@wordpress/url": "^4.23.0",
70
- "@wordpress/warning": "^3.23.0",
71
- "@wordpress/wordcount": "^4.23.0",
37
+ "@wordpress/a11y": "^4.25.0",
38
+ "@wordpress/api-fetch": "^7.25.0",
39
+ "@wordpress/blob": "^4.25.0",
40
+ "@wordpress/block-editor": "^14.20.0",
41
+ "@wordpress/blocks": "^14.14.0",
42
+ "@wordpress/commands": "^1.25.0",
43
+ "@wordpress/components": "^29.11.0",
44
+ "@wordpress/compose": "^7.25.0",
45
+ "@wordpress/core-data": "^7.25.0",
46
+ "@wordpress/data": "^10.25.0",
47
+ "@wordpress/dataviews": "^4.21.0",
48
+ "@wordpress/date": "^5.25.0",
49
+ "@wordpress/deprecated": "^4.25.0",
50
+ "@wordpress/dom": "^4.25.0",
51
+ "@wordpress/element": "^6.25.0",
52
+ "@wordpress/fields": "^0.17.0",
53
+ "@wordpress/hooks": "^4.25.0",
54
+ "@wordpress/html-entities": "^4.25.0",
55
+ "@wordpress/i18n": "^5.25.0",
56
+ "@wordpress/icons": "^10.25.0",
57
+ "@wordpress/interface": "^9.10.0",
58
+ "@wordpress/keyboard-shortcuts": "^5.25.0",
59
+ "@wordpress/keycodes": "^4.25.0",
60
+ "@wordpress/media-utils": "^5.25.0",
61
+ "@wordpress/notices": "^5.25.0",
62
+ "@wordpress/patterns": "^2.25.0",
63
+ "@wordpress/plugins": "^7.25.0",
64
+ "@wordpress/preferences": "^4.25.0",
65
+ "@wordpress/private-apis": "^1.25.0",
66
+ "@wordpress/reusable-blocks": "^5.25.0",
67
+ "@wordpress/rich-text": "^7.25.0",
68
+ "@wordpress/server-side-render": "^6.1.0",
69
+ "@wordpress/url": "^4.25.0",
70
+ "@wordpress/warning": "^3.25.0",
71
+ "@wordpress/wordcount": "^4.25.0",
72
72
  "change-case": "^4.1.2",
73
73
  "client-zip": "^2.4.5",
74
74
  "clsx": "^2.1.1",
@@ -88,5 +88,5 @@
88
88
  "publishConfig": {
89
89
  "access": "public"
90
90
  },
91
- "gitHead": "ab5c79cd40adbb68898536c50e035b0a734338ea"
91
+ "gitHead": "d1acd76ffff33ab01f0a948d2f51e5e45c95158d"
92
92
  }
@@ -7,7 +7,7 @@ import {
7
7
  Button,
8
8
  TextareaControl,
9
9
  } from '@wordpress/components';
10
- import { _x } from '@wordpress/i18n';
10
+ import { _x, __ } from '@wordpress/i18n';
11
11
 
12
12
  /**
13
13
  * Internal dependencies
@@ -36,6 +36,8 @@ function CommentForm( { onSubmit, onCancel, thread, submitButtonText } ) {
36
36
  __nextHasNoMarginBottom
37
37
  value={ inputComment ?? '' }
38
38
  onChange={ setInputComment }
39
+ label={ __( 'Comment' ) }
40
+ hideLabelFromVision
39
41
  />
40
42
  <HStack alignment="left" spacing="3" justify="flex-start">
41
43
  <Button
@@ -56,7 +56,6 @@ export default function EditorInterface( {
56
56
  } ) {
57
57
  const {
58
58
  mode,
59
- isRichEditingEnabled,
60
59
  isInserterOpened,
61
60
  isListViewOpened,
62
61
  isDistractionFree,
@@ -69,9 +68,16 @@ export default function EditorInterface( {
69
68
  const editorSettings = getEditorSettings();
70
69
  const postTypeLabel = getPostTypeLabel();
71
70
 
71
+ let _mode = select( editorStore ).getEditorMode();
72
+ if ( ! editorSettings.richEditingEnabled && _mode === 'visual' ) {
73
+ _mode = 'text';
74
+ }
75
+ if ( ! editorSettings.codeEditingEnabled && _mode === 'text' ) {
76
+ _mode = 'visual';
77
+ }
78
+
72
79
  return {
73
- mode: select( editorStore ).getEditorMode(),
74
- isRichEditingEnabled: editorSettings.richEditingEnabled,
80
+ mode: _mode,
75
81
  isInserterOpened: select( editorStore ).isInserterOpened(),
76
82
  isListViewOpened: select( editorStore ).isListViewOpened(),
77
83
  isDistractionFree: get( 'core', 'distractionFree' ),
@@ -148,23 +154,20 @@ export default function EditorInterface( {
148
154
  editorCanvasView
149
155
  ) : (
150
156
  <>
151
- { ! isPreviewMode &&
152
- ( mode === 'text' ||
153
- ! isRichEditingEnabled ) && (
154
- <TextEditor
155
- // We should auto-focus the canvas (title) on load.
156
- // eslint-disable-next-line jsx-a11y/no-autofocus
157
- autoFocus={ autoFocus }
158
- />
159
- ) }
157
+ { ! isPreviewMode && mode === 'text' && (
158
+ <TextEditor
159
+ // We should auto-focus the canvas (title) on load.
160
+ // eslint-disable-next-line jsx-a11y/no-autofocus
161
+ autoFocus={ autoFocus }
162
+ />
163
+ ) }
160
164
  { ! isPreviewMode &&
161
165
  ! isLargeViewport &&
162
166
  mode === 'visual' && (
163
167
  <BlockToolbar hideDragHandle />
164
168
  ) }
165
169
  { ( isPreviewMode ||
166
- ( isRichEditingEnabled &&
167
- mode === 'visual' ) ) && (
170
+ mode === 'visual' ) && (
168
171
  <VisualEditor
169
172
  styles={ styles }
170
173
  contentRef={ contentRef }
@@ -187,7 +190,6 @@ export default function EditorInterface( {
187
190
  ! isDistractionFree &&
188
191
  isLargeViewport &&
189
192
  showBlockBreadcrumbs &&
190
- isRichEditingEnabled &&
191
193
  mode === 'visual' && (
192
194
  <BlockBreadcrumb rootLabelText={ documentLabel } />
193
195
  )
@@ -1,7 +1,13 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { PanelBody, Button, TextControl } from '@wordpress/components';
4
+ import {
5
+ PanelBody,
6
+ Button,
7
+ TextControl,
8
+ ExternalLink,
9
+ VisuallyHidden,
10
+ } from '@wordpress/components';
5
11
  import { __, sprintf } from '@wordpress/i18n';
6
12
  import { useCallback, useEffect, useState, useRef } from '@wordpress/element';
7
13
  import { useSelect } from '@wordpress/data';
@@ -9,6 +15,7 @@ import { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';
9
15
  import { decodeEntities } from '@wordpress/html-entities';
10
16
  import { useCopyToClipboard } from '@wordpress/compose';
11
17
  import { store as coreStore } from '@wordpress/core-data';
18
+ import { external } from '@wordpress/icons';
12
19
 
13
20
  /**
14
21
  * Internal dependencies
@@ -118,9 +125,9 @@ export default function PostPublishPanelPostpublish( {
118
125
  return (
119
126
  <div className="post-publish-panel__postpublish">
120
127
  <PanelBody className="post-publish-panel__postpublish-header">
121
- <a ref={ postLinkRef } href={ link }>
128
+ <ExternalLink ref={ postLinkRef } href={ link }>
122
129
  { decodeEntities( post.title ) || __( '(no title)' ) }
123
- </a>{ ' ' }
130
+ </ExternalLink>{ ' ' }
124
131
  { postPublishNonLinkHeader }
125
132
  </PanelBody>
126
133
  <PanelBody>
@@ -153,8 +160,17 @@ export default function PostPublishPanelPostpublish( {
153
160
  variant="primary"
154
161
  href={ link }
155
162
  __next40pxDefaultSize
163
+ icon={ external }
164
+ iconPosition="right"
165
+ target="_blank"
156
166
  >
157
167
  { viewPostLabel }
168
+ <VisuallyHidden as="span">
169
+ {
170
+ /* translators: accessibility text */
171
+ __( '(opens in a new tab)' )
172
+ }
173
+ </VisuallyHidden>
158
174
  </Button>
159
175
  ) }
160
176
  <Button
@@ -138,9 +138,11 @@
138
138
  flex-wrap: wrap;
139
139
  gap: $grid-unit-20;
140
140
 
141
- .components-button {
141
+ .components-button,
142
+ .components-button.has-icon {
142
143
  justify-content: center;
143
144
  flex: 1;
145
+ min-width: unset;
144
146
  }
145
147
 
146
148
  .components-clipboard-button {
@@ -27,7 +27,7 @@ exports[`PostPublishPanel should render the post-publish panel if the post is pu
27
27
  padding: 0;
28
28
  }
29
29
 
30
- .emotion-10 {
30
+ .emotion-12 {
31
31
  display: -webkit-box;
32
32
  display: -webkit-flex;
33
33
  display: -ms-flexbox;
@@ -47,7 +47,7 @@ exports[`PostPublishPanel should render the post-publish panel if the post is pu
47
47
  width: 100%;
48
48
  }
49
49
 
50
- .emotion-10>* {
50
+ .emotion-12>* {
51
51
  min-width: 0;
52
52
  }
53
53
 
@@ -87,9 +87,22 @@ exports[`PostPublishPanel should render the post-publish panel if the post is pu
87
87
  class="components-panel__body post-publish-panel__postpublish-header is-opened"
88
88
  >
89
89
  <a
90
+ class="components-external-link"
90
91
  href="https://wordpress.local/sample-page/"
92
+ rel="external noreferrer noopener"
93
+ target="_blank"
91
94
  >
92
- (no title)
95
+ <span
96
+ class="components-external-link__contents"
97
+ >
98
+ (no title)
99
+ </span>
100
+ <span
101
+ aria-label="(opens in a new tab)"
102
+ class="components-external-link__icon"
103
+ >
104
+
105
+ </span>
93
106
  </a>
94
107
 
95
108
  is now live.
@@ -143,9 +156,31 @@ exports[`PostPublishPanel should render the post-publish panel if the post is pu
143
156
  class="post-publish-panel__postpublish-buttons"
144
157
  >
145
158
  <a
146
- class="components-button is-next-40px-default-size is-primary"
159
+ class="components-button is-next-40px-default-size is-primary has-icon"
147
160
  href="https://wordpress.local/sample-page/"
148
- />
161
+ target="_blank"
162
+ >
163
+ <span
164
+ class="components-visually-hidden emotion-6 emotion-7"
165
+ data-wp-c16t="true"
166
+ data-wp-component="VisuallyHidden"
167
+ style="border: 0px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset( 50% ); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; word-wrap: normal;"
168
+ >
169
+ (opens in a new tab)
170
+ </span>
171
+ <svg
172
+ aria-hidden="true"
173
+ focusable="false"
174
+ height="24"
175
+ viewBox="0 0 24 24"
176
+ width="24"
177
+ xmlns="http://www.w3.org/2000/svg"
178
+ >
179
+ <path
180
+ d="M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"
181
+ />
182
+ </svg>
183
+ </a>
149
184
  <a
150
185
  class="components-button is-next-40px-default-size is-secondary"
151
186
  href="post-new.php?"
@@ -164,7 +199,7 @@ exports[`PostPublishPanel should render the post-publish panel if the post is pu
164
199
  class="components-base-control__field emotion-2 emotion-3"
165
200
  >
166
201
  <div
167
- class="components-flex components-h-stack emotion-10 emotion-11"
202
+ class="components-flex components-h-stack emotion-12 emotion-7"
168
203
  data-wp-c16t="true"
169
204
  data-wp-component="HStack"
170
205
  >
@@ -219,7 +254,7 @@ exports[`PostPublishPanel should render the post-publish panel if the post is sc
219
254
  padding: 0;
220
255
  }
221
256
 
222
- .emotion-10 {
257
+ .emotion-12 {
223
258
  display: -webkit-box;
224
259
  display: -webkit-flex;
225
260
  display: -ms-flexbox;
@@ -239,7 +274,7 @@ exports[`PostPublishPanel should render the post-publish panel if the post is sc
239
274
  width: 100%;
240
275
  }
241
276
 
242
- .emotion-10>* {
277
+ .emotion-12>* {
243
278
  min-width: 0;
244
279
  }
245
280
 
@@ -279,9 +314,22 @@ exports[`PostPublishPanel should render the post-publish panel if the post is sc
279
314
  class="components-panel__body post-publish-panel__postpublish-header is-opened"
280
315
  >
281
316
  <a
317
+ class="components-external-link"
282
318
  href="https://wordpress.local/sample-page/"
319
+ rel="external noreferrer noopener"
320
+ target="_blank"
283
321
  >
284
- (no title)
322
+ <span
323
+ class="components-external-link__contents"
324
+ >
325
+ (no title)
326
+ </span>
327
+ <span
328
+ aria-label="(opens in a new tab)"
329
+ class="components-external-link__icon"
330
+ >
331
+
332
+ </span>
285
333
  </a>
286
334
 
287
335
  is now live.
@@ -335,9 +383,31 @@ exports[`PostPublishPanel should render the post-publish panel if the post is sc
335
383
  class="post-publish-panel__postpublish-buttons"
336
384
  >
337
385
  <a
338
- class="components-button is-next-40px-default-size is-primary"
386
+ class="components-button is-next-40px-default-size is-primary has-icon"
339
387
  href="https://wordpress.local/sample-page/"
340
- />
388
+ target="_blank"
389
+ >
390
+ <span
391
+ class="components-visually-hidden emotion-6 emotion-7"
392
+ data-wp-c16t="true"
393
+ data-wp-component="VisuallyHidden"
394
+ style="border: 0px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset( 50% ); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; word-wrap: normal;"
395
+ >
396
+ (opens in a new tab)
397
+ </span>
398
+ <svg
399
+ aria-hidden="true"
400
+ focusable="false"
401
+ height="24"
402
+ viewBox="0 0 24 24"
403
+ width="24"
404
+ xmlns="http://www.w3.org/2000/svg"
405
+ >
406
+ <path
407
+ d="M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"
408
+ />
409
+ </svg>
410
+ </a>
341
411
  <a
342
412
  class="components-button is-next-40px-default-size is-secondary"
343
413
  href="post-new.php?"
@@ -356,7 +426,7 @@ exports[`PostPublishPanel should render the post-publish panel if the post is sc
356
426
  class="components-base-control__field emotion-2 emotion-3"
357
427
  >
358
428
  <div
359
- class="components-flex components-h-stack emotion-10 emotion-11"
429
+ class="components-flex components-h-stack emotion-12 emotion-7"
360
430
  data-wp-c16t="true"
361
431
  data-wp-component="HStack"
362
432
  >