@wordpress/editor 14.14.0 → 14.15.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 (180) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -0
  4. package/build/components/commands/index.js +28 -0
  5. package/build/components/commands/index.js.map +1 -1
  6. package/build/components/document-bar/index.js +2 -1
  7. package/build/components/document-bar/index.js.map +1 -1
  8. package/build/components/document-tools/index.js +3 -6
  9. package/build/components/document-tools/index.js.map +1 -1
  10. package/build/components/editor-help/intro-to-blocks.native.js +1 -1
  11. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  12. package/build/components/entities-saved-states/index.js +2 -1
  13. package/build/components/entities-saved-states/index.js.map +1 -1
  14. package/build/components/error-boundary/index.native.js +1 -1
  15. package/build/components/error-boundary/index.native.js.map +1 -1
  16. package/build/components/more-menu/index.js +0 -1
  17. package/build/components/more-menu/index.js.map +1 -1
  18. package/build/components/post-actions/actions.js +9 -4
  19. package/build/components/post-actions/actions.js.map +1 -1
  20. package/build/components/post-actions/index.js +17 -14
  21. package/build/components/post-actions/index.js.map +1 -1
  22. package/build/components/post-actions/set-as-homepage.js +23 -34
  23. package/build/components/post-actions/set-as-homepage.js.map +1 -1
  24. package/build/components/post-actions/set-as-posts-page.js +154 -0
  25. package/build/components/post-actions/set-as-posts-page.js.map +1 -0
  26. package/build/components/post-card-panel/index.js +12 -5
  27. package/build/components/post-card-panel/index.js.map +1 -1
  28. package/build/components/post-publish-panel/maybe-upload-media.js +1 -1
  29. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  30. package/build/components/preferences-modal/index.js +2 -4
  31. package/build/components/preferences-modal/index.js.map +1 -1
  32. package/build/components/preview-dropdown/index.js +0 -1
  33. package/build/components/preview-dropdown/index.js.map +1 -1
  34. package/build/components/provider/disable-non-page-content-blocks.js +65 -13
  35. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  36. package/build/components/provider/index.js +9 -13
  37. package/build/components/provider/index.js.map +1 -1
  38. package/build/components/provider/use-block-editor-settings.js +3 -1
  39. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  40. package/build/components/start-page-options/index.js +20 -107
  41. package/build/components/start-page-options/index.js.map +1 -1
  42. package/build/components/template-part-menu-items/index.js +2 -10
  43. package/build/components/template-part-menu-items/index.js.map +1 -1
  44. package/build/store/actions.js +0 -2
  45. package/build/store/actions.js.map +1 -1
  46. package/build/store/constants.js +1 -3
  47. package/build/store/constants.js.map +1 -1
  48. package/build/store/private-actions.js +1 -1
  49. package/build/store/private-actions.js.map +1 -1
  50. package/build/store/utils/notice-builder.js +3 -8
  51. package/build/store/utils/notice-builder.js.map +1 -1
  52. package/build/utils/get-item-title.js +32 -0
  53. package/build/utils/get-item-title.js.map +1 -0
  54. package/build/utils/media-sideload/index.js +21 -0
  55. package/build/utils/media-sideload/index.js.map +1 -0
  56. package/build/utils/media-sideload/index.native.js +8 -0
  57. package/build/utils/media-sideload/index.native.js.map +1 -0
  58. package/build/utils/media-upload/index.js +5 -2
  59. package/build/utils/media-upload/index.js.map +1 -1
  60. package/build-module/components/commands/index.js +28 -0
  61. package/build-module/components/commands/index.js.map +1 -1
  62. package/build-module/components/document-bar/index.js +2 -1
  63. package/build-module/components/document-bar/index.js.map +1 -1
  64. package/build-module/components/document-tools/index.js +4 -7
  65. package/build-module/components/document-tools/index.js.map +1 -1
  66. package/build-module/components/editor-help/intro-to-blocks.native.js +1 -1
  67. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  68. package/build-module/components/entities-saved-states/index.js +2 -1
  69. package/build-module/components/entities-saved-states/index.js.map +1 -1
  70. package/build-module/components/error-boundary/index.native.js +2 -2
  71. package/build-module/components/error-boundary/index.native.js.map +1 -1
  72. package/build-module/components/more-menu/index.js +0 -1
  73. package/build-module/components/more-menu/index.js.map +1 -1
  74. package/build-module/components/post-actions/actions.js +9 -4
  75. package/build-module/components/post-actions/actions.js.map +1 -1
  76. package/build-module/components/post-actions/index.js +18 -15
  77. package/build-module/components/post-actions/index.js.map +1 -1
  78. package/build-module/components/post-actions/set-as-homepage.js +22 -33
  79. package/build-module/components/post-actions/set-as-homepage.js.map +1 -1
  80. package/build-module/components/post-actions/set-as-posts-page.js +146 -0
  81. package/build-module/components/post-actions/set-as-posts-page.js.map +1 -0
  82. package/build-module/components/post-card-panel/index.js +11 -6
  83. package/build-module/components/post-card-panel/index.js.map +1 -1
  84. package/build-module/components/post-publish-panel/maybe-upload-media.js +2 -2
  85. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  86. package/build-module/components/preferences-modal/index.js +2 -4
  87. package/build-module/components/preferences-modal/index.js.map +1 -1
  88. package/build-module/components/preview-dropdown/index.js +0 -1
  89. package/build-module/components/preview-dropdown/index.js.map +1 -1
  90. package/build-module/components/provider/disable-non-page-content-blocks.js +65 -13
  91. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  92. package/build-module/components/provider/index.js +10 -14
  93. package/build-module/components/provider/index.js.map +1 -1
  94. package/build-module/components/provider/use-block-editor-settings.js +3 -1
  95. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  96. package/build-module/components/start-page-options/index.js +21 -107
  97. package/build-module/components/start-page-options/index.js.map +1 -1
  98. package/build-module/components/template-part-menu-items/index.js +2 -10
  99. package/build-module/components/template-part-menu-items/index.js.map +1 -1
  100. package/build-module/store/actions.js +0 -2
  101. package/build-module/store/actions.js.map +1 -1
  102. package/build-module/store/constants.js +0 -2
  103. package/build-module/store/constants.js.map +1 -1
  104. package/build-module/store/private-actions.js +1 -1
  105. package/build-module/store/private-actions.js.map +1 -1
  106. package/build-module/store/utils/notice-builder.js +3 -8
  107. package/build-module/store/utils/notice-builder.js.map +1 -1
  108. package/build-module/utils/get-item-title.js +26 -0
  109. package/build-module/utils/get-item-title.js.map +1 -0
  110. package/build-module/utils/media-sideload/index.js +14 -0
  111. package/build-module/utils/media-sideload/index.js.map +1 -0
  112. package/build-module/utils/media-sideload/index.native.js +2 -0
  113. package/build-module/utils/media-sideload/index.native.js.map +1 -0
  114. package/build-module/utils/media-upload/index.js +5 -2
  115. package/build-module/utils/media-upload/index.js.map +1 -1
  116. package/build-style/style-rtl.css +5 -25
  117. package/build-style/style.css +5 -25
  118. package/build-types/components/commands/index.d.ts.map +1 -1
  119. package/build-types/components/document-bar/index.d.ts.map +1 -1
  120. package/build-types/components/document-tools/index.d.ts.map +1 -1
  121. package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
  122. package/build-types/components/more-menu/index.d.ts.map +1 -1
  123. package/build-types/components/post-actions/actions.d.ts.map +1 -1
  124. package/build-types/components/post-actions/index.d.ts.map +1 -1
  125. package/build-types/components/post-actions/set-as-homepage.d.ts.map +1 -1
  126. package/build-types/components/post-actions/set-as-posts-page.d.ts +10 -0
  127. package/build-types/components/post-actions/set-as-posts-page.d.ts.map +1 -0
  128. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  129. package/build-types/components/preferences-modal/index.d.ts.map +1 -1
  130. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  131. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  132. package/build-types/components/provider/index.d.ts.map +1 -1
  133. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  134. package/build-types/components/start-page-options/index.d.ts +1 -2
  135. package/build-types/components/start-page-options/index.d.ts.map +1 -1
  136. package/build-types/store/actions.d.ts.map +1 -1
  137. package/build-types/store/constants.d.ts +0 -2
  138. package/build-types/store/constants.d.ts.map +1 -1
  139. package/build-types/store/private-actions.d.ts.map +1 -1
  140. package/build-types/store/utils/notice-builder.d.ts.map +1 -1
  141. package/build-types/utils/get-item-title.d.ts +10 -0
  142. package/build-types/utils/get-item-title.d.ts.map +1 -0
  143. package/build-types/utils/media-sideload/index.d.ts +3 -0
  144. package/build-types/utils/media-sideload/index.d.ts.map +1 -0
  145. package/build-types/utils/media-upload/index.d.ts +3 -1
  146. package/build-types/utils/media-upload/index.d.ts.map +1 -1
  147. package/package.json +37 -37
  148. package/src/components/commands/index.js +29 -0
  149. package/src/components/document-bar/index.js +2 -1
  150. package/src/components/document-tools/index.js +3 -6
  151. package/src/components/document-tools/style.scss +0 -6
  152. package/src/components/editor-help/intro-to-blocks.native.js +1 -1
  153. package/src/components/entities-saved-states/index.js +5 -1
  154. package/src/components/error-boundary/index.native.js +2 -2
  155. package/src/components/more-menu/index.js +0 -1
  156. package/src/components/post-actions/actions.js +12 -4
  157. package/src/components/post-actions/index.js +19 -17
  158. package/src/components/post-actions/set-as-homepage.js +29 -45
  159. package/src/components/post-actions/set-as-posts-page.js +164 -0
  160. package/src/components/post-card-panel/index.js +8 -6
  161. package/src/components/post-card-panel/style.scss +4 -13
  162. package/src/components/post-publish-panel/maybe-upload-media.js +2 -2
  163. package/src/components/preferences-modal/index.js +8 -13
  164. package/src/components/preview-dropdown/index.js +0 -1
  165. package/src/components/provider/disable-non-page-content-blocks.js +64 -13
  166. package/src/components/provider/index.js +13 -27
  167. package/src/components/provider/use-block-editor-settings.js +3 -0
  168. package/src/components/start-page-options/index.js +28 -119
  169. package/src/components/template-part-menu-items/index.js +2 -11
  170. package/src/store/actions.js +0 -2
  171. package/src/store/constants.ts +0 -2
  172. package/src/store/private-actions.js +1 -1
  173. package/src/store/utils/notice-builder.js +3 -8
  174. package/src/store/utils/test/notice-builder.js +3 -4
  175. package/src/utils/get-item-title.js +25 -0
  176. package/src/utils/media-sideload/index.js +13 -0
  177. package/src/utils/media-sideload/index.native.js +1 -0
  178. package/src/utils/media-upload/index.js +4 -1
  179. package/tsconfig.json +1 -4
  180. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSetAsPostsPageAction = void 0;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _element = require("@wordpress/element");
9
+ var _components = require("@wordpress/components");
10
+ var _data = require("@wordpress/data");
11
+ var _coreData = require("@wordpress/core-data");
12
+ var _notices = require("@wordpress/notices");
13
+ var _getItemTitle = require("../../utils/get-item-title");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+
23
+ const SetAsPostsPageModal = ({
24
+ items,
25
+ closeModal
26
+ }) => {
27
+ const [item] = items;
28
+ const pageTitle = (0, _getItemTitle.getItemTitle)(item);
29
+ const {
30
+ currentPostsPage,
31
+ isPageForPostsSet,
32
+ isSaving
33
+ } = (0, _data.useSelect)(select => {
34
+ const {
35
+ getEntityRecord,
36
+ isSavingEntityRecord
37
+ } = select(_coreData.store);
38
+ const siteSettings = getEntityRecord('root', 'site');
39
+ const currentPostsPageItem = getEntityRecord('postType', 'page', siteSettings?.page_for_posts);
40
+ return {
41
+ currentPostsPage: currentPostsPageItem,
42
+ isPageForPostsSet: siteSettings?.page_for_posts !== 0,
43
+ isSaving: isSavingEntityRecord('root', 'site')
44
+ };
45
+ });
46
+ const {
47
+ saveEntityRecord
48
+ } = (0, _data.useDispatch)(_coreData.store);
49
+ const {
50
+ createSuccessNotice,
51
+ createErrorNotice
52
+ } = (0, _data.useDispatch)(_notices.store);
53
+ async function onSetPageAsPostsPage(event) {
54
+ event.preventDefault();
55
+ try {
56
+ await saveEntityRecord('root', 'site', {
57
+ page_for_posts: item.id,
58
+ show_on_front: 'page'
59
+ });
60
+ createSuccessNotice((0, _i18n.__)('Posts page updated.'), {
61
+ type: 'snackbar'
62
+ });
63
+ } catch (error) {
64
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while setting the posts page.');
65
+ createErrorNotice(errorMessage, {
66
+ type: 'snackbar'
67
+ });
68
+ } finally {
69
+ closeModal?.();
70
+ }
71
+ }
72
+ const modalWarning = isPageForPostsSet && currentPostsPage ? (0, _i18n.sprintf)(
73
+ // translators: %s: title of the current posts page.
74
+ (0, _i18n.__)('This will replace the current posts page: "%s"'), (0, _getItemTitle.getItemTitle)(currentPostsPage)) : (0, _i18n.__)('This page will show the latest posts.');
75
+ const modalText = (0, _i18n.sprintf)(
76
+ // translators: %1$s: title of the page to be set as the posts page, %2$s: posts page replacement warning message.
77
+ (0, _i18n.__)('Set "%1$s" as the posts page? %2$s'), pageTitle, modalWarning);
78
+
79
+ // translators: Button label to confirm setting the specified page as the posts page.
80
+ const modalButtonLabel = (0, _i18n.__)('Set posts page');
81
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
82
+ onSubmit: onSetPageAsPostsPage,
83
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
84
+ spacing: "5",
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
86
+ children: modalText
87
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
88
+ justify: "right",
89
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
90
+ __next40pxDefaultSize: true,
91
+ variant: "tertiary",
92
+ onClick: () => {
93
+ closeModal?.();
94
+ },
95
+ disabled: isSaving,
96
+ accessibleWhenDisabled: true,
97
+ children: (0, _i18n.__)('Cancel')
98
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
99
+ __next40pxDefaultSize: true,
100
+ variant: "primary",
101
+ type: "submit",
102
+ disabled: isSaving,
103
+ accessibleWhenDisabled: true,
104
+ children: modalButtonLabel
105
+ })]
106
+ })]
107
+ })
108
+ });
109
+ };
110
+ const useSetAsPostsPageAction = () => {
111
+ const {
112
+ pageOnFront,
113
+ pageForPosts
114
+ } = (0, _data.useSelect)(select => {
115
+ const {
116
+ getEntityRecord,
117
+ canUser
118
+ } = select(_coreData.store);
119
+ const siteSettings = canUser('read', {
120
+ kind: 'root',
121
+ name: 'site'
122
+ }) ? getEntityRecord('root', 'site') : undefined;
123
+ return {
124
+ pageOnFront: siteSettings?.page_on_front,
125
+ pageForPosts: siteSettings?.page_for_posts
126
+ };
127
+ });
128
+ return (0, _element.useMemo)(() => ({
129
+ id: 'set-as-posts-page',
130
+ label: (0, _i18n.__)('Set as posts page'),
131
+ isEligible(post) {
132
+ if (post.status !== 'publish') {
133
+ return false;
134
+ }
135
+ if (post.type !== 'page') {
136
+ return false;
137
+ }
138
+
139
+ // Don't show the action if the page is already set as the homepage.
140
+ if (pageOnFront === post.id) {
141
+ return false;
142
+ }
143
+
144
+ // Don't show the action if the page is already set as the page for posts.
145
+ if (pageForPosts === post.id) {
146
+ return false;
147
+ }
148
+ return true;
149
+ },
150
+ RenderModal: SetAsPostsPageModal
151
+ }), [pageForPosts, pageOnFront]);
152
+ };
153
+ exports.useSetAsPostsPageAction = useSetAsPostsPageAction;
154
+ //# sourceMappingURL=set-as-posts-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_element","_components","_data","_coreData","_notices","_getItemTitle","_jsxRuntime","SetAsPostsPageModal","items","closeModal","item","pageTitle","getItemTitle","currentPostsPage","isPageForPostsSet","isSaving","useSelect","select","getEntityRecord","isSavingEntityRecord","coreStore","siteSettings","currentPostsPageItem","page_for_posts","saveEntityRecord","useDispatch","createSuccessNotice","createErrorNotice","noticesStore","onSetPageAsPostsPage","event","preventDefault","id","show_on_front","__","type","error","errorMessage","message","code","modalWarning","sprintf","modalText","modalButtonLabel","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","__experimentalText","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","onClick","disabled","accessibleWhenDisabled","useSetAsPostsPageAction","pageOnFront","pageForPosts","canUser","kind","name","undefined","page_on_front","useMemo","label","isEligible","post","status","RenderModal","exports"],"sources":["@wordpress/editor/src/components/post-actions/set-as-posts-page.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle } from '../../utils/get-item-title';\n\nconst SetAsPostsPageModal = ( { items, closeModal } ) => {\n\tconst [ item ] = items;\n\tconst pageTitle = getItemTitle( item );\n\tconst { currentPostsPage, isPageForPostsSet, isSaving } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, isSavingEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst currentPostsPageItem = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\tsiteSettings?.page_for_posts\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcurrentPostsPage: currentPostsPageItem,\n\t\t\t\tisPageForPostsSet: siteSettings?.page_for_posts !== 0,\n\t\t\t\tisSaving: isSavingEntityRecord( 'root', 'site' ),\n\t\t\t};\n\t\t}\n\t);\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function onSetPageAsPostsPage( event ) {\n\t\tevent.preventDefault();\n\n\t\ttry {\n\t\t\tawait saveEntityRecord( 'root', 'site', {\n\t\t\t\tpage_for_posts: item.id,\n\t\t\t\tshow_on_front: 'page',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice( __( 'Posts page updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while setting the posts page.' );\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t} finally {\n\t\t\tcloseModal?.();\n\t\t}\n\t}\n\n\tconst modalWarning =\n\t\tisPageForPostsSet && currentPostsPage\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: title of the current posts page.\n\t\t\t\t\t__( 'This will replace the current posts page: \"%s\"' ),\n\t\t\t\t\tgetItemTitle( currentPostsPage )\n\t\t\t )\n\t\t\t: __( 'This page will show the latest posts.' );\n\n\tconst modalText = sprintf(\n\t\t// translators: %1$s: title of the page to be set as the posts page, %2$s: posts page replacement warning message.\n\t\t__( 'Set \"%1$s\" as the posts page? %2$s' ),\n\t\tpageTitle,\n\t\tmodalWarning\n\t);\n\n\t// translators: Button label to confirm setting the specified page as the posts page.\n\tconst modalButtonLabel = __( 'Set posts page' );\n\n\treturn (\n\t\t<form onSubmit={ onSetPageAsPostsPage }>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>{ modalText }</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ modalButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n};\n\nexport const useSetAsPostsPageAction = () => {\n\tconst { pageOnFront, pageForPosts } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, canUser } = select( coreStore );\n\t\tconst siteSettings = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t};\n\t} );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'set-as-posts-page',\n\t\t\tlabel: __( 'Set as posts page' ),\n\t\t\tisEligible( post ) {\n\t\t\t\tif ( post.status !== 'publish' ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( post.type !== 'page' ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the action if the page is already set as the homepage.\n\t\t\t\tif ( pageOnFront === post.id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the action if the page is already set as the page for posts.\n\t\t\t\tif ( pageForPosts === post.id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tRenderModal: SetAsPostsPageModal,\n\t\t} ),\n\t\t[ pageForPosts, pageOnFront ]\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ var _coreData = require("@wordpress/core-data");
10
10
  var _data = require("@wordpress/data");
11
11
  var _element = require("@wordpress/element");
12
12
  var _i18n = require("@wordpress/i18n");
13
- var _htmlEntities = require("@wordpress/html-entities");
13
+ var _dom = require("@wordpress/dom");
14
14
  var _store = require("../../store");
15
15
  var _constants = require("../../store/constants");
16
16
  var _lockUnlock = require("../../lock-unlock");
@@ -26,6 +26,10 @@ var _jsxRuntime = require("react/jsx-runtime");
26
26
  * Internal dependencies
27
27
  */
28
28
 
29
+ const {
30
+ Badge
31
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
32
+
29
33
  /**
30
34
  * Renders a title of the post type and the available quick actions available within a 3-dot dropdown.
31
35
  *
@@ -34,7 +38,8 @@ var _jsxRuntime = require("react/jsx-runtime");
34
38
  * @param {string|string[]} [props.postId] - The post id or list of post ids.
35
39
  * @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.
36
40
  * @return {React.ReactNode} The rendered component.
37
- */function PostCardPanel({
41
+ */
42
+ function PostCardPanel({
38
43
  postType,
39
44
  postId,
40
45
  onActionPerformed
@@ -81,7 +86,7 @@ var _jsxRuntime = require("react/jsx-runtime");
81
86
  // translators: %i number of selected items %s: Name of the plural post type e.g: "Posts".
82
87
  (0, _i18n.__)('%i %s'), postId.length, labels?.name);
83
88
  } else if (postTitle) {
84
- title = (0, _htmlEntities.decodeEntities)(postTitle);
89
+ title = (0, _dom.__unstableStripHTML)(postTitle);
85
90
  }
86
91
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
87
92
  spacing: 1,
@@ -98,8 +103,10 @@ var _jsxRuntime = require("react/jsx-runtime");
98
103
  truncate: true,
99
104
  className: "editor-post-card-panel__title",
100
105
  as: "h2",
101
- children: [title, pageTypeBadge && postIds.length === 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
102
- className: "editor-post-card-panel__title-badge",
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
107
+ className: "editor-post-card-panel__title-name",
108
+ children: title
109
+ }), pageTypeBadge && postIds.length === 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
103
110
  children: pageTypeBadge
104
111
  })]
105
112
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_postActions.default, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","_htmlEntities","_store","_constants","_lockUnlock","_postActions","_interopRequireDefault","_pageTypeBadge","_getTemplateInfo","_jsxRuntime","PostCardPanel","postType","postId","onActionPerformed","postIds","useMemo","Array","isArray","postTitle","icon","labels","useSelect","select","getEditedEntityRecord","getEntityRecord","getPostType","coreStore","getPostIcon","unlock","editorStore","_title","_record","length","_getEntityRecord","default_template_types","templateTypes","_templateInfo","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","includes","getTemplateInfo","template","title","area","pageTypeBadge","usePageTypeBadge","__","name","sprintf","decodeEntities","jsxs","__experimentalVStack","spacing","className","children","__experimentalHStack","align","jsx","Icon","__experimentalText","numberOfLines","truncate","as","default","toLowerCase"],"sources":["@wordpress/editor/src/components/post-card-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport PostActions from '../post-actions';\nimport usePageTypeBadge from '../../utils/pageTypeBadge';\nimport { getTemplateInfo } from '../../utils/get-template-info';\n\n/**\n * Renders a title of the post type and the available quick actions available within a 3-dot dropdown.\n *\n * @param {Object} props - Component props.\n * @param {string} [props.postType] - The post type string.\n * @param {string|string[]} [props.postId] - The post id or list of post ids.\n * @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.\n * @return {React.ReactNode} The rendered component.\n */\nexport default function PostCardPanel( {\n\tpostType,\n\tpostId,\n\tonActionPerformed,\n} ) {\n\tconst postIds = useMemo(\n\t\t() => ( Array.isArray( postId ) ? postId : [ postId ] ),\n\t\t[ postId ]\n\t);\n\tconst { postTitle, icon, labels } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecord, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getPostIcon } = unlock( select( editorStore ) );\n\t\t\tlet _title = '';\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostIds[ 0 ]\n\t\t\t);\n\t\t\tif ( postIds.length === 1 ) {\n\t\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\t\tgetEntityRecord( 'root', '__unstableBase' ) ?? {};\n\n\t\t\t\tconst _templateInfo = [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t].includes( postType )\n\t\t\t\t\t? getTemplateInfo( {\n\t\t\t\t\t\t\ttemplate: _record,\n\t\t\t\t\t\t\ttemplateTypes,\n\t\t\t\t\t } )\n\t\t\t\t\t: {};\n\t\t\t\t_title = _templateInfo?.title || _record?.title;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpostTitle: _title,\n\t\t\t\ticon: getPostIcon( postType, {\n\t\t\t\t\tarea: _record?.area,\n\t\t\t\t} ),\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t};\n\t\t},\n\t\t[ postIds, postType ]\n\t);\n\n\tconst pageTypeBadge = usePageTypeBadge( postId );\n\tlet title = __( 'No title' );\n\tif ( labels?.name && postIds.length > 1 ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: %i number of selected items %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t__( '%i %s' ),\n\t\t\tpostId.length,\n\t\t\tlabels?.name\n\t\t);\n\t} else if ( postTitle ) {\n\t\ttitle = decodeEntities( postTitle );\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 1 } className=\"editor-post-card-panel\">\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"editor-post-card-panel__header\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Icon className=\"editor-post-card-panel__icon\" icon={ icon } />\n\t\t\t\t<Text\n\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\ttruncate\n\t\t\t\t\tclassName=\"editor-post-card-panel__title\"\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t\t{ pageTypeBadge && postIds.length === 1 && (\n\t\t\t\t\t\t<span className=\"editor-post-card-panel__title-badge\">\n\t\t\t\t\t\t\t{ pageTypeBadge }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<PostActions\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ postIds.length > 1 && (\n\t\t\t\t<Text className=\"editor-post-card-panel__description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t\t\t\t__( 'Changes will be applied to all selected %s.' ),\n\t\t\t\t\t\tlabels?.name.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","_dom","_store","_constants","_lockUnlock","_postActions","_interopRequireDefault","_pageTypeBadge","_getTemplateInfo","_jsxRuntime","Badge","unlock","componentsPrivateApis","PostCardPanel","postType","postId","onActionPerformed","postIds","useMemo","Array","isArray","postTitle","icon","labels","useSelect","select","getEditedEntityRecord","getEntityRecord","getPostType","coreStore","getPostIcon","editorStore","_title","_record","length","_getEntityRecord","default_template_types","templateTypes","_templateInfo","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","includes","getTemplateInfo","template","title","area","pageTypeBadge","usePageTypeBadge","__","name","sprintf","stripHTML","jsxs","__experimentalVStack","spacing","className","children","__experimentalHStack","align","jsx","Icon","__experimentalText","numberOfLines","truncate","as","default","toLowerCase"],"sources":["@wordpress/editor/src/components/post-card-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport PostActions from '../post-actions';\nimport usePageTypeBadge from '../../utils/pageTypeBadge';\nimport { getTemplateInfo } from '../../utils/get-template-info';\nconst { Badge } = unlock( componentsPrivateApis );\n\n/**\n * Renders a title of the post type and the available quick actions available within a 3-dot dropdown.\n *\n * @param {Object} props - Component props.\n * @param {string} [props.postType] - The post type string.\n * @param {string|string[]} [props.postId] - The post id or list of post ids.\n * @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.\n * @return {React.ReactNode} The rendered component.\n */\nexport default function PostCardPanel( {\n\tpostType,\n\tpostId,\n\tonActionPerformed,\n} ) {\n\tconst postIds = useMemo(\n\t\t() => ( Array.isArray( postId ) ? postId : [ postId ] ),\n\t\t[ postId ]\n\t);\n\tconst { postTitle, icon, labels } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecord, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getPostIcon } = unlock( select( editorStore ) );\n\t\t\tlet _title = '';\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostIds[ 0 ]\n\t\t\t);\n\t\t\tif ( postIds.length === 1 ) {\n\t\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\t\tgetEntityRecord( 'root', '__unstableBase' ) ?? {};\n\n\t\t\t\tconst _templateInfo = [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t].includes( postType )\n\t\t\t\t\t? getTemplateInfo( {\n\t\t\t\t\t\t\ttemplate: _record,\n\t\t\t\t\t\t\ttemplateTypes,\n\t\t\t\t\t } )\n\t\t\t\t\t: {};\n\t\t\t\t_title = _templateInfo?.title || _record?.title;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpostTitle: _title,\n\t\t\t\ticon: getPostIcon( postType, {\n\t\t\t\t\tarea: _record?.area,\n\t\t\t\t} ),\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t};\n\t\t},\n\t\t[ postIds, postType ]\n\t);\n\n\tconst pageTypeBadge = usePageTypeBadge( postId );\n\tlet title = __( 'No title' );\n\tif ( labels?.name && postIds.length > 1 ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: %i number of selected items %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t__( '%i %s' ),\n\t\t\tpostId.length,\n\t\t\tlabels?.name\n\t\t);\n\t} else if ( postTitle ) {\n\t\ttitle = stripHTML( postTitle );\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 1 } className=\"editor-post-card-panel\">\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"editor-post-card-panel__header\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Icon className=\"editor-post-card-panel__icon\" icon={ icon } />\n\t\t\t\t<Text\n\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\ttruncate\n\t\t\t\t\tclassName=\"editor-post-card-panel__title\"\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"editor-post-card-panel__title-name\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ pageTypeBadge && postIds.length === 1 && (\n\t\t\t\t\t\t<Badge>{ pageTypeBadge }</Badge>\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<PostActions\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ postIds.length > 1 && (\n\t\t\t\t<Text className=\"editor-post-card-panel__description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t\t\t\t__( 'Changes will be applied to all selected %s.' ),\n\t\t\t\t\t\tlabels?.name.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -251,7 +251,7 @@ function MaybeUploadMediaPanel() {
251
251
  size: "compact",
252
252
  variant: "primary",
253
253
  onClick: uploadImages,
254
- children: (0, _i18n.__)('Upload')
254
+ children: (0, _i18n._x)('Upload', 'verb')
255
255
  })]
256
256
  }), hadUploadError && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
257
257
  children: (0, _i18n.__)('Upload failed, try again.')
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_i18n","_blockEditor","_element","_blob","_mediaUtil","_jsxRuntime","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","hasExternalMedia","name","attributes","url","id","mediaUrl","mediaId","undefined","getMediaInfo","alt","mediaAlt","Image","clientId","selectBlock","useDispatch","blockEditorStore","jsx","__unstableMotion","img","tabIndex","role","__","onClick","onKeyDown","event","key","preventDefault","src","animate","opacity","exit","scale","style","width","height","objectFit","borderRadius","cursor","whileHover","MaybeUploadMediaPanel","isUploading","setIsUploading","useState","isAnimating","setIsAnimating","hadUploadError","setHadUploadError","editorBlocks","mediaUpload","useSelect","select","getBlocks","getSettings","blocksWithExternalMedia","filter","updateBlockAttributes","length","panelBodyTitle","className","children","updateBlockWithUploadedMedia","media","uploadImages","mediaUrls","Set","map","uploadPromises","Object","fromEntries","entries","fetchMedia","filePromise","uploadPromise","then","blob","Promise","resolve","reject","filesList","onFileChange","isBlobURL","onError","allSettled","catch","finally","jsxs","PanelBody","initialOpen","title","display","flexWrap","gap","__unstableAnimatePresence","onExitComplete","Spinner","Button","size","variant"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\tSpinner,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { fetchMedia } from './media-util';\n\nfunction flattenBlocks( blocks ) {\n\tconst result = [];\n\n\tblocks.forEach( ( block ) => {\n\t\tresult.push( block );\n\t\tresult.push( ...flattenBlocks( block.innerBlocks ) );\n\t} );\n\n\treturn result;\n}\n\n/**\n * Determine whether a block has external media.\n *\n * Different blocks use different attribute names (and potentially\n * different logic as well) in determining whether the media is\n * present, and whether it's external.\n *\n * @param {{name: string, attributes: Object}} block The block.\n * @return {boolean?} Whether the block has external media\n */\nfunction hasExternalMedia( block ) {\n\tif ( block.name === 'core/image' || block.name === 'core/cover' ) {\n\t\treturn block.attributes.url && ! block.attributes.id;\n\t}\n\n\tif ( block.name === 'core/media-text' ) {\n\t\treturn block.attributes.mediaUrl && ! block.attributes.mediaId;\n\t}\n\n\treturn undefined;\n}\n\n/**\n * Retrieve media info from a block.\n *\n * Different blocks use different attribute names, so we need this\n * function to normalize things into a consistent naming scheme.\n *\n * @param {{name: string, attributes: Object}} block The block.\n * @return {{url: ?string, alt: ?string, id: ?number}} The media info for the block.\n */\nfunction getMediaInfo( block ) {\n\tif ( block.name === 'core/image' || block.name === 'core/cover' ) {\n\t\tconst { url, alt, id } = block.attributes;\n\t\treturn { url, alt, id };\n\t}\n\n\tif ( block.name === 'core/media-text' ) {\n\t\tconst { mediaUrl: url, mediaAlt: alt, mediaId: id } = block.attributes;\n\t\treturn { url, alt, id };\n\t}\n\n\treturn {};\n}\n\n// Image component to represent a single image in the upload dialog.\nfunction Image( { clientId, alt, url } ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<motion.img\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Select image block.' ) }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( clientId );\n\t\t\t} }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tkey={ clientId }\n\t\t\talt={ alt }\n\t\t\tsrc={ url }\n\t\t\tanimate={ { opacity: 1 } }\n\t\t\texit={ { opacity: 0, scale: 0 } }\n\t\t\tstyle={ {\n\t\t\t\twidth: '32px',\n\t\t\t\theight: '32px',\n\t\t\t\tobjectFit: 'cover',\n\t\t\t\tborderRadius: '2px',\n\t\t\t\tcursor: 'pointer',\n\t\t\t} }\n\t\t\twhileHover={ { scale: 1.08 } }\n\t\t/>\n\t);\n}\n\nexport default function MaybeUploadMediaPanel() {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst [ isAnimating, setIsAnimating ] = useState( false );\n\tconst [ hadUploadError, setHadUploadError ] = useState( false );\n\tconst { editorBlocks, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorBlocks: select( blockEditorStore ).getBlocks(),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Get a list of blocks with external media.\n\tconst blocksWithExternalMedia = flattenBlocks( editorBlocks ).filter(\n\t\t( block ) => hasExternalMedia( block )\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tif ( ! mediaUpload || ! blocksWithExternalMedia.length ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'External media' ) }\n\t\t</span>,\n\t];\n\n\t/**\n\t * Update an individual block to point to newly-added library media.\n\t *\n\t * Different blocks use different attribute names, so we need this\n\t * function to ensure we modify the correct attributes for each type.\n\t *\n\t * @param {{name: string, attributes: Object}} block The block.\n\t * @param {{id: number, url: string}} media Media library file info.\n\t */\n\tfunction updateBlockWithUploadedMedia( block, media ) {\n\t\tif ( block.name === 'core/image' || block.name === 'core/cover' ) {\n\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\tid: media.id,\n\t\t\t\turl: media.url,\n\t\t\t} );\n\t\t}\n\n\t\tif ( block.name === 'core/media-text' ) {\n\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\tmediaId: media.id,\n\t\t\t\tmediaUrl: media.url,\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Handle fetching and uploading all external media in the post.\n\tfunction uploadImages() {\n\t\tsetIsUploading( true );\n\t\tsetHadUploadError( false );\n\n\t\t// Multiple blocks can be using the same URL, so we\n\t\t// should ensure we only fetch and upload each of them once.\n\t\tconst mediaUrls = new Set(\n\t\t\tblocksWithExternalMedia.map( ( block ) => {\n\t\t\t\tconst { url } = getMediaInfo( block );\n\t\t\t\treturn url;\n\t\t\t} )\n\t\t);\n\n\t\t// Create an upload promise for each URL, that we can wait for in all\n\t\t// blocks that make use of that media.\n\t\tconst uploadPromises = Object.fromEntries(\n\t\t\tObject.entries( fetchMedia( [ ...mediaUrls ] ) ).map(\n\t\t\t\t( [ url, filePromise ] ) => {\n\t\t\t\t\tconst uploadPromise = filePromise.then(\n\t\t\t\t\t\t( blob ) =>\n\t\t\t\t\t\t\tnew Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isBlobURL( media.url ) ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonError() {\n\t\t\t\t\t\t\t\t\t\treject();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [ url, uploadPromise ];\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\n\t\t// Wait for all blocks to be updated with library media.\n\t\tPromise.allSettled(\n\t\t\tblocksWithExternalMedia.map( ( block ) => {\n\t\t\t\tconst { url } = getMediaInfo( block );\n\n\t\t\t\treturn uploadPromises[ url ]\n\t\t\t\t\t.then( ( media ) =>\n\t\t\t\t\t\tupdateBlockWithUploadedMedia( block, media )\n\t\t\t\t\t)\n\t\t\t\t\t.then( () => setIsAnimating( true ) )\n\t\t\t\t\t.catch( () => setHadUploadError( true ) );\n\t\t\t} )\n\t\t).finally( () => {\n\t\t\tsetIsUploading( false );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Upload external images to the Media Library. Images from different domains may load slowly, display incorrectly, or be removed unexpectedly.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\tgap: '8px',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AnimatePresence\n\t\t\t\t\tonExitComplete={ () => setIsAnimating( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ blocksWithExternalMedia.map( ( block ) => {\n\t\t\t\t\t\tconst { url, alt } = getMediaInfo( block );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\tkey={ block.clientId }\n\t\t\t\t\t\t\t\tclientId={ block.clientId }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isUploading || isAnimating ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ uploadImages }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ hadUploadError && <p>{ __( 'Upload failed, try again.' ) }</p> }\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_data","_i18n","_blockEditor","_element","_blob","_mediaUtil","_jsxRuntime","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","hasExternalMedia","name","attributes","url","id","mediaUrl","mediaId","undefined","getMediaInfo","alt","mediaAlt","Image","clientId","selectBlock","useDispatch","blockEditorStore","jsx","__unstableMotion","img","tabIndex","role","__","onClick","onKeyDown","event","key","preventDefault","src","animate","opacity","exit","scale","style","width","height","objectFit","borderRadius","cursor","whileHover","MaybeUploadMediaPanel","isUploading","setIsUploading","useState","isAnimating","setIsAnimating","hadUploadError","setHadUploadError","editorBlocks","mediaUpload","useSelect","select","getBlocks","getSettings","blocksWithExternalMedia","filter","updateBlockAttributes","length","panelBodyTitle","className","children","updateBlockWithUploadedMedia","media","uploadImages","mediaUrls","Set","map","uploadPromises","Object","fromEntries","entries","fetchMedia","filePromise","uploadPromise","then","blob","Promise","resolve","reject","filesList","onFileChange","isBlobURL","onError","allSettled","catch","finally","jsxs","PanelBody","initialOpen","title","display","flexWrap","gap","__unstableAnimatePresence","onExitComplete","Spinner","Button","size","variant","_x"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\tSpinner,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { fetchMedia } from './media-util';\n\nfunction flattenBlocks( blocks ) {\n\tconst result = [];\n\n\tblocks.forEach( ( block ) => {\n\t\tresult.push( block );\n\t\tresult.push( ...flattenBlocks( block.innerBlocks ) );\n\t} );\n\n\treturn result;\n}\n\n/**\n * Determine whether a block has external media.\n *\n * Different blocks use different attribute names (and potentially\n * different logic as well) in determining whether the media is\n * present, and whether it's external.\n *\n * @param {{name: string, attributes: Object}} block The block.\n * @return {boolean?} Whether the block has external media\n */\nfunction hasExternalMedia( block ) {\n\tif ( block.name === 'core/image' || block.name === 'core/cover' ) {\n\t\treturn block.attributes.url && ! block.attributes.id;\n\t}\n\n\tif ( block.name === 'core/media-text' ) {\n\t\treturn block.attributes.mediaUrl && ! block.attributes.mediaId;\n\t}\n\n\treturn undefined;\n}\n\n/**\n * Retrieve media info from a block.\n *\n * Different blocks use different attribute names, so we need this\n * function to normalize things into a consistent naming scheme.\n *\n * @param {{name: string, attributes: Object}} block The block.\n * @return {{url: ?string, alt: ?string, id: ?number}} The media info for the block.\n */\nfunction getMediaInfo( block ) {\n\tif ( block.name === 'core/image' || block.name === 'core/cover' ) {\n\t\tconst { url, alt, id } = block.attributes;\n\t\treturn { url, alt, id };\n\t}\n\n\tif ( block.name === 'core/media-text' ) {\n\t\tconst { mediaUrl: url, mediaAlt: alt, mediaId: id } = block.attributes;\n\t\treturn { url, alt, id };\n\t}\n\n\treturn {};\n}\n\n// Image component to represent a single image in the upload dialog.\nfunction Image( { clientId, alt, url } ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<motion.img\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Select image block.' ) }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( clientId );\n\t\t\t} }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tkey={ clientId }\n\t\t\talt={ alt }\n\t\t\tsrc={ url }\n\t\t\tanimate={ { opacity: 1 } }\n\t\t\texit={ { opacity: 0, scale: 0 } }\n\t\t\tstyle={ {\n\t\t\t\twidth: '32px',\n\t\t\t\theight: '32px',\n\t\t\t\tobjectFit: 'cover',\n\t\t\t\tborderRadius: '2px',\n\t\t\t\tcursor: 'pointer',\n\t\t\t} }\n\t\t\twhileHover={ { scale: 1.08 } }\n\t\t/>\n\t);\n}\n\nexport default function MaybeUploadMediaPanel() {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst [ isAnimating, setIsAnimating ] = useState( false );\n\tconst [ hadUploadError, setHadUploadError ] = useState( false );\n\tconst { editorBlocks, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorBlocks: select( blockEditorStore ).getBlocks(),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Get a list of blocks with external media.\n\tconst blocksWithExternalMedia = flattenBlocks( editorBlocks ).filter(\n\t\t( block ) => hasExternalMedia( block )\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tif ( ! mediaUpload || ! blocksWithExternalMedia.length ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'External media' ) }\n\t\t</span>,\n\t];\n\n\t/**\n\t * Update an individual block to point to newly-added library media.\n\t *\n\t * Different blocks use different attribute names, so we need this\n\t * function to ensure we modify the correct attributes for each type.\n\t *\n\t * @param {{name: string, attributes: Object}} block The block.\n\t * @param {{id: number, url: string}} media Media library file info.\n\t */\n\tfunction updateBlockWithUploadedMedia( block, media ) {\n\t\tif ( block.name === 'core/image' || block.name === 'core/cover' ) {\n\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\tid: media.id,\n\t\t\t\turl: media.url,\n\t\t\t} );\n\t\t}\n\n\t\tif ( block.name === 'core/media-text' ) {\n\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\tmediaId: media.id,\n\t\t\t\tmediaUrl: media.url,\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Handle fetching and uploading all external media in the post.\n\tfunction uploadImages() {\n\t\tsetIsUploading( true );\n\t\tsetHadUploadError( false );\n\n\t\t// Multiple blocks can be using the same URL, so we\n\t\t// should ensure we only fetch and upload each of them once.\n\t\tconst mediaUrls = new Set(\n\t\t\tblocksWithExternalMedia.map( ( block ) => {\n\t\t\t\tconst { url } = getMediaInfo( block );\n\t\t\t\treturn url;\n\t\t\t} )\n\t\t);\n\n\t\t// Create an upload promise for each URL, that we can wait for in all\n\t\t// blocks that make use of that media.\n\t\tconst uploadPromises = Object.fromEntries(\n\t\t\tObject.entries( fetchMedia( [ ...mediaUrls ] ) ).map(\n\t\t\t\t( [ url, filePromise ] ) => {\n\t\t\t\t\tconst uploadPromise = filePromise.then(\n\t\t\t\t\t\t( blob ) =>\n\t\t\t\t\t\t\tnew Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isBlobURL( media.url ) ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonError() {\n\t\t\t\t\t\t\t\t\t\treject();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [ url, uploadPromise ];\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\n\t\t// Wait for all blocks to be updated with library media.\n\t\tPromise.allSettled(\n\t\t\tblocksWithExternalMedia.map( ( block ) => {\n\t\t\t\tconst { url } = getMediaInfo( block );\n\n\t\t\t\treturn uploadPromises[ url ]\n\t\t\t\t\t.then( ( media ) =>\n\t\t\t\t\t\tupdateBlockWithUploadedMedia( block, media )\n\t\t\t\t\t)\n\t\t\t\t\t.then( () => setIsAnimating( true ) )\n\t\t\t\t\t.catch( () => setHadUploadError( true ) );\n\t\t\t} )\n\t\t).finally( () => {\n\t\t\tsetIsUploading( false );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Upload external images to the Media Library. Images from different domains may load slowly, display incorrectly, or be removed unexpectedly.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\tgap: '8px',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AnimatePresence\n\t\t\t\t\tonExitComplete={ () => setIsAnimating( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ blocksWithExternalMedia.map( ( block ) => {\n\t\t\t\t\t\tconst { url, alt } = getMediaInfo( block );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\tkey={ block.clientId }\n\t\t\t\t\t\t\t\tclientId={ block.clientId }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isUploading || isAnimating ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ uploadImages }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ hadUploadError && <p>{ __( 'Upload failed, try again.' ) }</p> }\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,6 @@ var _check3 = _interopRequireDefault(require("../page-attributes/check"));
23
23
  var _postTypeSupportCheck = _interopRequireDefault(require("../post-type-support-check"));
24
24
  var _store = require("../../store");
25
25
  var _lockUnlock = require("../../lock-unlock");
26
- var _startPageOptions = require("../start-page-options");
27
26
  var _jsxRuntime = require("react/jsx-runtime");
28
27
  /**
29
28
  * WordPress dependencies
@@ -83,7 +82,6 @@ function PreferencesModalContents({
83
82
  const {
84
83
  set: setPreference
85
84
  } = (0, _data.useDispatch)(_preferences.store);
86
- const hasStarterPatterns = !!(0, _startPageOptions.useStartPatterns)().length;
87
85
  const sections = (0, _element.useMemo)(() => [{
88
86
  name: 'general',
89
87
  tabLabel: (0, _i18n.__)('General'),
@@ -105,7 +103,7 @@ function PreferencesModalContents({
105
103
  featureName: "allowRightClickOverrides",
106
104
  help: (0, _i18n.__)('Allows contextual List View menus via right-click, overriding browser defaults.'),
107
105
  label: (0, _i18n.__)('Allow right-click contextual menus')
108
- }), hasStarterPatterns && /*#__PURE__*/(0, _jsxRuntime.jsx)(PreferenceToggleControl, {
106
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PreferenceToggleControl, {
109
107
  scope: "core",
110
108
  featureName: "enableChoosePatternModal",
111
109
  help: (0, _i18n.__)('Shows starter patterns when creating a new page.'),
@@ -239,7 +237,7 @@ function PreferencesModalContents({
239
237
  })]
240
238
  })
241
239
  })
242
- }].filter(Boolean), [showBlockBreadcrumbsOption, extraSections, setIsInserterOpened, setIsListViewOpened, setPreference, isLargeViewport, hasStarterPatterns]);
240
+ }].filter(Boolean), [showBlockBreadcrumbsOption, extraSections, setIsInserterOpened, setIsListViewOpened, setPreference, isLargeViewport]);
243
241
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(PreferencesModalTabs, {
244
242
  sections: sections
245
243
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_compose","_data","_element","_preferences","_interface","_enablePanel","_interopRequireDefault","_enablePluginDocumentSettingPanel","_enablePublishSidebar","_blockVisibility","_postTaxonomies","_check","_check2","_check3","_postTypeSupportCheck","_store","_lockUnlock","_startPageOptions","_jsxRuntime","PreferencesModal","PreferencesModalTabs","PreferencesModalSection","PreferenceToggleControl","unlock","preferencesPrivateApis","EditorPreferencesModal","extraSections","isActive","useSelect","select","interfaceStore","isModalActive","closeModal","useDispatch","jsx","children","PreferencesModalContents","isLargeViewport","useViewportMatch","showBlockBreadcrumbsOption","getEditorSettings","editorStore","get","preferencesStore","isRichEditingEnabled","richEditingEnabled","isDistractionFreeEnabled","setIsListViewOpened","setIsInserterOpened","set","setPreference","hasStarterPatterns","useStartPatterns","length","sections","useMemo","name","tabLabel","__","content","jsxs","Fragment","title","scope","featureName","help","label","description","default","Slot","taxonomyWrapper","taxonomy","labels","menu_name","panelName","slug","supportKeys","general","onToggle","appearance","window","__experimentalMediaProcessing","filter","Boolean"],"sources":["@wordpress/editor/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tstore as preferencesStore,\n\tprivateApis as preferencesPrivateApis,\n} from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport EnablePanelOption from './enable-panel';\nimport EnablePluginDocumentSettingPanelOption from './enable-plugin-document-setting-panel';\nimport EnablePublishSidebarOption from './enable-publish-sidebar';\nimport BlockVisibility from './block-visibility';\nimport PostTaxonomies from '../post-taxonomies';\nimport PostFeaturedImageCheck from '../post-featured-image/check';\nimport PostExcerptCheck from '../post-excerpt/check';\nimport PageAttributesCheck from '../page-attributes/check';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useStartPatterns } from '../start-page-options';\n\nconst {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tPreferenceToggleControl,\n} = unlock( preferencesPrivateApis );\n\nexport default function EditorPreferencesModal( { extraSections = {} } ) {\n\tconst isActive = useSelect( ( select ) => {\n\t\treturn select( interfaceStore ).isModalActive( 'editor/preferences' );\n\t}, [] );\n\tconst { closeModal } = useDispatch( interfaceStore );\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\t// Please wrap all contents inside PreferencesModalContents to prevent all\n\t// hooks from executing when the modal is not open.\n\treturn (\n\t\t<PreferencesModal closeModal={ closeModal }>\n\t\t\t<PreferencesModalContents extraSections={ extraSections } />\n\t\t</PreferencesModal>\n\t);\n}\n\nfunction PreferencesModalContents( { extraSections = {} } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst showBlockBreadcrumbsOption = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst isRichEditingEnabled = getEditorSettings().richEditingEnabled;\n\t\t\tconst isDistractionFreeEnabled = get( 'core', 'distractionFree' );\n\t\t\treturn (\n\t\t\t\t! isDistractionFreeEnabled &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tisRichEditingEnabled\n\t\t\t);\n\t\t},\n\t\t[ isLargeViewport ]\n\t);\n\tconst { setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst hasStarterPatterns = !! useStartPatterns().length;\n\n\tconst sections = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tname: 'general',\n\t\t\t\t\ttabLabel: __( 'General' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Interface' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Opens the List View sidebar by default.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always open List View' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ showBlockBreadcrumbsOption && (\n\t\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Display the block hierarchy trail at the bottom of the editor.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show block breadcrumbs' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"allowRightClickOverrides\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Allows contextual List View menus via right-click, overriding browser defaults.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Allow right-click contextual menus'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ hasStarterPatterns && (\n\t\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\t\tfeatureName=\"enableChoosePatternModal\"\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Shows starter patterns when creating a new page.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show starter patterns' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Document settings' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Select what settings are shown in the document panel.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePluginDocumentSettingPanelOption.Slot />\n\t\t\t\t\t\t\t\t<PostTaxonomies\n\t\t\t\t\t\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => (\n\t\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\t\tlabel={ taxonomy.labels.menu_name }\n\t\t\t\t\t\t\t\t\t\t\tpanelName={ `taxonomy-panel-${ taxonomy.slug }` }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"featured-image\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t<PostExcerptCheck>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Excerpt' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"post-excerpt\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PostExcerptCheck>\n\t\t\t\t\t\t\t\t<PostTypeSupportCheck\n\t\t\t\t\t\t\t\t\tsupportKeys={ [ 'comments', 'trackbacks' ] }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Discussion' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"discussion-panel\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PostTypeSupportCheck>\n\t\t\t\t\t\t\t\t<PageAttributesCheck>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Page attributes' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"page-attributes\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PageAttributesCheck>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Publishing' ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EnablePublishSidebarOption\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Review settings, such as visibility and tags.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Enable pre-publish checks'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ extraSections?.general }\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'appearance',\n\t\t\t\t\ttabLabel: __( 'Appearance' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Customize the editor interface to suit your needs.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"fixedToolbar\"\n\t\t\t\t\t\t\t\tonToggle={ () =>\n\t\t\t\t\t\t\t\t\tsetPreference(\n\t\t\t\t\t\t\t\t\t\t'core',\n\t\t\t\t\t\t\t\t\t\t'distractionFree',\n\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Access all block and document tools in a single place.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\t\t\tonToggle={ () => {\n\t\t\t\t\t\t\t\t\tsetPreference(\n\t\t\t\t\t\t\t\t\t\t'core',\n\t\t\t\t\t\t\t\t\t\t'fixedToolbar',\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tsetIsInserterOpened( false );\n\t\t\t\t\t\t\t\t\tsetIsListViewOpened( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ extraSections?.appearance }\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'accessibility',\n\t\t\t\t\ttabLabel: __( 'Accessibility' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Navigation' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Optimize the editing experience for enhanced control.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Contain text cursor inside block'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Interface' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Show text instead of icons on buttons across the interface.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'blocks',\n\t\t\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection title={ __( 'Inserter' ) }>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"mostUsedBlocks\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Adds a category with the most frequently used blocks in the inserter.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show most used blocks' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Manage block visibility' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t\"Disable blocks that you don't want to appear in the inserter. They can always be toggled back on later.\"\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockVisibility />\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\twindow.__experimentalMediaProcessing && {\n\t\t\t\t\tname: 'media',\n\t\t\t\t\ttabLabel: __( 'Media' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'General' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Customize options related to the media upload flow.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core/media\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"optimizeOnUpload\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Compress media items before uploading to the server.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Pre-upload compression' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core/media\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"requireApproval\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Require approval step when optimizing existing media.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Approval step' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[\n\t\t\tshowBlockBreadcrumbsOption,\n\t\t\textraSections,\n\t\t\tsetIsInserterOpened,\n\t\t\tsetIsListViewOpened,\n\t\t\tsetPreference,\n\t\t\tisLargeViewport,\n\t\t\thasStarterPatterns,\n\t\t]\n\t);\n\n\treturn <PreferencesModalTabs sections={ sections } />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_compose","_data","_element","_preferences","_interface","_enablePanel","_interopRequireDefault","_enablePluginDocumentSettingPanel","_enablePublishSidebar","_blockVisibility","_postTaxonomies","_check","_check2","_check3","_postTypeSupportCheck","_store","_lockUnlock","_jsxRuntime","PreferencesModal","PreferencesModalTabs","PreferencesModalSection","PreferenceToggleControl","unlock","preferencesPrivateApis","EditorPreferencesModal","extraSections","isActive","useSelect","select","interfaceStore","isModalActive","closeModal","useDispatch","jsx","children","PreferencesModalContents","isLargeViewport","useViewportMatch","showBlockBreadcrumbsOption","getEditorSettings","editorStore","get","preferencesStore","isRichEditingEnabled","richEditingEnabled","isDistractionFreeEnabled","setIsListViewOpened","setIsInserterOpened","set","setPreference","sections","useMemo","name","tabLabel","__","content","jsxs","Fragment","title","scope","featureName","help","label","description","default","Slot","taxonomyWrapper","taxonomy","labels","menu_name","panelName","slug","supportKeys","general","onToggle","appearance","window","__experimentalMediaProcessing","filter","Boolean"],"sources":["@wordpress/editor/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tstore as preferencesStore,\n\tprivateApis as preferencesPrivateApis,\n} from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport EnablePanelOption from './enable-panel';\nimport EnablePluginDocumentSettingPanelOption from './enable-plugin-document-setting-panel';\nimport EnablePublishSidebarOption from './enable-publish-sidebar';\nimport BlockVisibility from './block-visibility';\nimport PostTaxonomies from '../post-taxonomies';\nimport PostFeaturedImageCheck from '../post-featured-image/check';\nimport PostExcerptCheck from '../post-excerpt/check';\nimport PageAttributesCheck from '../page-attributes/check';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tPreferenceToggleControl,\n} = unlock( preferencesPrivateApis );\n\nexport default function EditorPreferencesModal( { extraSections = {} } ) {\n\tconst isActive = useSelect( ( select ) => {\n\t\treturn select( interfaceStore ).isModalActive( 'editor/preferences' );\n\t}, [] );\n\tconst { closeModal } = useDispatch( interfaceStore );\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\t// Please wrap all contents inside PreferencesModalContents to prevent all\n\t// hooks from executing when the modal is not open.\n\treturn (\n\t\t<PreferencesModal closeModal={ closeModal }>\n\t\t\t<PreferencesModalContents extraSections={ extraSections } />\n\t\t</PreferencesModal>\n\t);\n}\n\nfunction PreferencesModalContents( { extraSections = {} } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst showBlockBreadcrumbsOption = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst isRichEditingEnabled = getEditorSettings().richEditingEnabled;\n\t\t\tconst isDistractionFreeEnabled = get( 'core', 'distractionFree' );\n\t\t\treturn (\n\t\t\t\t! isDistractionFreeEnabled &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tisRichEditingEnabled\n\t\t\t);\n\t\t},\n\t\t[ isLargeViewport ]\n\t);\n\tconst { setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst sections = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tname: 'general',\n\t\t\t\t\ttabLabel: __( 'General' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Interface' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Opens the List View sidebar by default.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always open List View' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ showBlockBreadcrumbsOption && (\n\t\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Display the block hierarchy trail at the bottom of the editor.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show block breadcrumbs' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"allowRightClickOverrides\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Allows contextual List View menus via right-click, overriding browser defaults.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Allow right-click contextual menus'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"enableChoosePatternModal\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Shows starter patterns when creating a new page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show starter patterns' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Document settings' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Select what settings are shown in the document panel.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePluginDocumentSettingPanelOption.Slot />\n\t\t\t\t\t\t\t\t<PostTaxonomies\n\t\t\t\t\t\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => (\n\t\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\t\tlabel={ taxonomy.labels.menu_name }\n\t\t\t\t\t\t\t\t\t\t\tpanelName={ `taxonomy-panel-${ taxonomy.slug }` }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"featured-image\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t<PostExcerptCheck>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Excerpt' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"post-excerpt\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PostExcerptCheck>\n\t\t\t\t\t\t\t\t<PostTypeSupportCheck\n\t\t\t\t\t\t\t\t\tsupportKeys={ [ 'comments', 'trackbacks' ] }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Discussion' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"discussion-panel\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PostTypeSupportCheck>\n\t\t\t\t\t\t\t\t<PageAttributesCheck>\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Page attributes' ) }\n\t\t\t\t\t\t\t\t\t\tpanelName=\"page-attributes\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PageAttributesCheck>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Publishing' ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EnablePublishSidebarOption\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Review settings, such as visibility and tags.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Enable pre-publish checks'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ extraSections?.general }\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'appearance',\n\t\t\t\t\ttabLabel: __( 'Appearance' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Customize the editor interface to suit your needs.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"fixedToolbar\"\n\t\t\t\t\t\t\t\tonToggle={ () =>\n\t\t\t\t\t\t\t\t\tsetPreference(\n\t\t\t\t\t\t\t\t\t\t'core',\n\t\t\t\t\t\t\t\t\t\t'distractionFree',\n\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Access all block and document tools in a single place.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\t\t\tonToggle={ () => {\n\t\t\t\t\t\t\t\t\tsetPreference(\n\t\t\t\t\t\t\t\t\t\t'core',\n\t\t\t\t\t\t\t\t\t\t'fixedToolbar',\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tsetIsInserterOpened( false );\n\t\t\t\t\t\t\t\t\tsetIsListViewOpened( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ extraSections?.appearance }\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'accessibility',\n\t\t\t\t\ttabLabel: __( 'Accessibility' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Navigation' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Optimize the editing experience for enhanced control.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Contain text cursor inside block'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Interface' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Show text instead of icons on buttons across the interface.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'blocks',\n\t\t\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection title={ __( 'Inserter' ) }>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"mostUsedBlocks\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Adds a category with the most frequently used blocks in the inserter.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show most used blocks' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'Manage block visibility' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t\"Disable blocks that you don't want to appear in the inserter. They can always be toggled back on later.\"\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockVisibility />\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\twindow.__experimentalMediaProcessing && {\n\t\t\t\t\tname: 'media',\n\t\t\t\t\ttabLabel: __( 'Media' ),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\t\ttitle={ __( 'General' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Customize options related to the media upload flow.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core/media\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"optimizeOnUpload\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Compress media items before uploading to the server.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Pre-upload compression' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core/media\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"requireApproval\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Require approval step when optimizing existing media.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Approval step' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[\n\t\t\tshowBlockBreadcrumbsOption,\n\t\t\textraSections,\n\t\t\tsetIsInserterOpened,\n\t\t\tsetIsListViewOpened,\n\t\t\tsetPreference,\n\t\t\tisLargeViewport,\n\t\t]\n\t);\n\n\treturn <PreferencesModalTabs sections={ sections } />;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -178,7 +178,6 @@ function PreviewDropdown({
178
178
  })
179
179
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_interface.ActionItem.Slot, {
180
180
  name: "core/plugin-preview-menu",
181
- as: _components.MenuGroup,
182
181
  fillProps: {
183
182
  onClick: onClose
184
183
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_i18n","_icons","_data","_coreData","_preferences","_interface","_store","_blockEditor","_postPreviewButton","_lockUnlock","_jsxRuntime","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","isTemplateHidden","templateId","useSelect","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getCurrentTemplateId","editorStore","getRenderingMode","unlock","getEntityRecord","getPostType","coreStore","get","preferencesStore","_currentPostType","home","viewable","setDeviceType","setRenderingMode","useDispatch","resetZoomLevel","blockEditorStore","handleDevicePreviewChange","newDeviceType","isMobile","useViewportMatch","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","__","deviceIcons","desktop","mobile","tablet","choices","value","label","icon","jsx","DropdownMenu","clsx","toLowerCase","disableOpenOnArrowDown","children","onClose","jsxs","Fragment","MenuGroup","MenuItemsChoice","onSelect","MenuItem","href","target","external","onClick","VisuallyHidden","as","check","undefined","isSelected","role","default","textContent","Icon","onPreview","ActionItem","Slot","name","fillProps"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external, check } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { ActionItem } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport PostPreviewButton from '../post-preview-button';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst {\n\t\tdeviceType,\n\t\thomeUrl,\n\t\tisTemplate,\n\t\tisViewable,\n\t\tshowIconLabels,\n\t\tisTemplateHidden,\n\t\ttemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getDeviceType, getCurrentPostType, getCurrentTemplateId } =\n\t\t\tselect( editorStore );\n\t\tconst { getRenderingMode } = unlock( select( editorStore ) );\n\t\tconst { getEntityRecord, getPostType } = select( coreStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst _currentPostType = getCurrentPostType();\n\t\treturn {\n\t\t\tdeviceType: getDeviceType(),\n\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t};\n\t}, [] );\n\tconst { setDeviceType, setRenderingMode } = useDispatch( editorStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst handleDevicePreviewChange = ( newDeviceType ) => {\n\t\tsetDeviceType( newDeviceType );\n\t\tresetZoomLevel();\n\t};\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Tablet',\n\t\t\tlabel: __( 'Tablet' ),\n\t\t\ticon: tablet,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Mobile',\n\t\t\tlabel: __( 'Mobile' ),\n\t\t\ticon: mobile,\n\t\t},\n\t];\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ deviceType }\n\t\t\t\t\t\t\tonSelect={ handleDevicePreviewChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTemplate && !! templateId && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t\t: 'post-only'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Show template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-preview-menu\"\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_i18n","_icons","_data","_coreData","_preferences","_interface","_store","_blockEditor","_postPreviewButton","_lockUnlock","_jsxRuntime","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","isTemplateHidden","templateId","useSelect","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getCurrentTemplateId","editorStore","getRenderingMode","unlock","getEntityRecord","getPostType","coreStore","get","preferencesStore","_currentPostType","home","viewable","setDeviceType","setRenderingMode","useDispatch","resetZoomLevel","blockEditorStore","handleDevicePreviewChange","newDeviceType","isMobile","useViewportMatch","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","__","deviceIcons","desktop","mobile","tablet","choices","value","label","icon","jsx","DropdownMenu","clsx","toLowerCase","disableOpenOnArrowDown","children","onClose","jsxs","Fragment","MenuGroup","MenuItemsChoice","onSelect","MenuItem","href","target","external","onClick","VisuallyHidden","as","check","undefined","isSelected","role","default","textContent","Icon","onPreview","ActionItem","Slot","name","fillProps"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external, check } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { ActionItem } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport PostPreviewButton from '../post-preview-button';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst {\n\t\tdeviceType,\n\t\thomeUrl,\n\t\tisTemplate,\n\t\tisViewable,\n\t\tshowIconLabels,\n\t\tisTemplateHidden,\n\t\ttemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getDeviceType, getCurrentPostType, getCurrentTemplateId } =\n\t\t\tselect( editorStore );\n\t\tconst { getRenderingMode } = unlock( select( editorStore ) );\n\t\tconst { getEntityRecord, getPostType } = select( coreStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst _currentPostType = getCurrentPostType();\n\t\treturn {\n\t\t\tdeviceType: getDeviceType(),\n\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t};\n\t}, [] );\n\tconst { setDeviceType, setRenderingMode } = useDispatch( editorStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst handleDevicePreviewChange = ( newDeviceType ) => {\n\t\tsetDeviceType( newDeviceType );\n\t\tresetZoomLevel();\n\t};\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Tablet',\n\t\t\tlabel: __( 'Tablet' ),\n\t\t\ticon: tablet,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Mobile',\n\t\t\tlabel: __( 'Mobile' ),\n\t\t\ticon: mobile,\n\t\t},\n\t];\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ deviceType }\n\t\t\t\t\t\t\tonSelect={ handleDevicePreviewChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTemplate && !! templateId && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t\t: 'post-only'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Show template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-preview-menu\"\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}