@wordpress/edit-site 5.12.1 → 5.12.3

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 (153) hide show
  1. package/build/components/add-new-pattern/index.js +9 -9
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/add-new-template/new-template.js +69 -14
  4. package/build/components/add-new-template/new-template.js.map +1 -1
  5. package/build/components/create-pattern-modal/index.js +1 -1
  6. package/build/components/create-pattern-modal/index.js.map +1 -1
  7. package/build/components/create-template-part-modal/index.js +1 -1
  8. package/build/components/create-template-part-modal/index.js.map +1 -1
  9. package/build/components/editor/index.js +1 -0
  10. package/build/components/editor/index.js.map +1 -1
  11. package/build/components/global-styles/ui.js +7 -2
  12. package/build/components/global-styles/ui.js.map +1 -1
  13. package/build/components/header-edit-mode/index.js +36 -9
  14. package/build/components/header-edit-mode/index.js.map +1 -1
  15. package/build/components/header-edit-mode/more-menu/index.js +36 -2
  16. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  17. package/build/components/keyboard-shortcuts/edit-mode.js +32 -1
  18. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  19. package/build/components/keyboard-shortcuts/register.js +9 -0
  20. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  21. package/build/components/layout/index.js +86 -12
  22. package/build/components/layout/index.js.map +1 -1
  23. package/build/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  24. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  25. package/build/components/page-library/grid-item.js +11 -7
  26. package/build/components/page-library/grid-item.js.map +1 -1
  27. package/build/components/preferences-modal/enable-feature.js +5 -1
  28. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  29. package/build/components/preferences-modal/index.js +30 -0
  30. package/build/components/preferences-modal/index.js.map +1 -1
  31. package/build/components/sidebar-edit-mode/index.js +4 -2
  32. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  33. package/build/components/sidebar-navigation-screen/index.js +7 -3
  34. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  35. package/build/components/sidebar-navigation-screen-global-styles/index.js +15 -3
  36. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  37. package/build/components/sidebar-navigation-screen-library/category-item.js +1 -1
  38. package/build/components/sidebar-navigation-screen-library/category-item.js.map +1 -1
  39. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  40. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  41. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +10 -1
  42. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  43. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  44. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  45. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +14 -3
  46. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  47. package/build/hooks/commands/use-common-commands.js +22 -0
  48. package/build/hooks/commands/use-common-commands.js.map +1 -1
  49. package/build/hooks/commands/use-edit-mode-commands.js +170 -42
  50. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  51. package/build/index.js +1 -0
  52. package/build/index.js.map +1 -1
  53. package/build/store/selectors.js +2 -1
  54. package/build/store/selectors.js.map +1 -1
  55. package/build-module/components/add-new-pattern/index.js +8 -8
  56. package/build-module/components/add-new-pattern/index.js.map +1 -1
  57. package/build-module/components/add-new-template/new-template.js +72 -17
  58. package/build-module/components/add-new-template/new-template.js.map +1 -1
  59. package/build-module/components/create-pattern-modal/index.js +1 -1
  60. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  61. package/build-module/components/create-template-part-modal/index.js +1 -1
  62. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  63. package/build-module/components/editor/index.js +1 -0
  64. package/build-module/components/editor/index.js.map +1 -1
  65. package/build-module/components/global-styles/ui.js +8 -3
  66. package/build-module/components/global-styles/ui.js.map +1 -1
  67. package/build-module/components/header-edit-mode/index.js +38 -11
  68. package/build-module/components/header-edit-mode/index.js.map +1 -1
  69. package/build-module/components/header-edit-mode/more-menu/index.js +35 -3
  70. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  71. package/build-module/components/keyboard-shortcuts/edit-mode.js +29 -1
  72. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  73. package/build-module/components/keyboard-shortcuts/register.js +9 -0
  74. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  75. package/build-module/components/layout/index.js +86 -12
  76. package/build-module/components/layout/index.js.map +1 -1
  77. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  78. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  79. package/build-module/components/page-library/grid-item.js +11 -7
  80. package/build-module/components/page-library/grid-item.js.map +1 -1
  81. package/build-module/components/preferences-modal/enable-feature.js +5 -1
  82. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  83. package/build-module/components/preferences-modal/index.js +27 -0
  84. package/build-module/components/preferences-modal/index.js.map +1 -1
  85. package/build-module/components/sidebar-edit-mode/index.js +4 -2
  86. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  87. package/build-module/components/sidebar-navigation-screen/index.js +7 -3
  88. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  89. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +14 -3
  90. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  91. package/build-module/components/sidebar-navigation-screen-library/category-item.js +1 -1
  92. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +1 -1
  93. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  94. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  95. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +11 -1
  96. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  97. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  98. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  99. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +14 -4
  100. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  101. package/build-module/hooks/commands/use-common-commands.js +23 -1
  102. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  103. package/build-module/hooks/commands/use-edit-mode-commands.js +170 -44
  104. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  105. package/build-module/index.js +1 -0
  106. package/build-module/index.js.map +1 -1
  107. package/build-module/store/selectors.js +2 -1
  108. package/build-module/store/selectors.js.map +1 -1
  109. package/build-style/style-rtl.css +110 -18
  110. package/build-style/style.css +110 -18
  111. package/package.json +15 -15
  112. package/src/components/add-new-pattern/index.js +8 -10
  113. package/src/components/add-new-template/new-template.js +120 -24
  114. package/src/components/add-new-template/style.scss +30 -2
  115. package/src/components/create-pattern-modal/index.js +1 -1
  116. package/src/components/create-template-part-modal/index.js +1 -1
  117. package/src/components/editor/index.js +1 -0
  118. package/src/components/editor/style.scss +4 -0
  119. package/src/components/global-styles/ui.js +34 -24
  120. package/src/components/header-edit-mode/index.js +96 -54
  121. package/src/components/header-edit-mode/more-menu/index.js +52 -7
  122. package/src/components/keyboard-shortcuts/edit-mode.js +35 -2
  123. package/src/components/keyboard-shortcuts/register.js +10 -0
  124. package/src/components/layout/index.js +115 -46
  125. package/src/components/layout/style.scss +58 -1
  126. package/src/components/page-content-focus-manager/back-to-page-notification.js +7 -2
  127. package/src/components/page-library/grid-item.js +9 -9
  128. package/src/components/page-library/style.scss +2 -2
  129. package/src/components/preferences-modal/enable-feature.js +5 -2
  130. package/src/components/preferences-modal/index.js +25 -0
  131. package/src/components/sidebar-button/style.scss +1 -1
  132. package/src/components/sidebar-edit-mode/index.js +4 -2
  133. package/src/components/sidebar-navigation-item/style.scss +1 -1
  134. package/src/components/sidebar-navigation-screen/index.js +4 -2
  135. package/src/components/sidebar-navigation-screen/style.scss +2 -1
  136. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -1
  137. package/src/components/sidebar-navigation-screen-global-styles/index.js +15 -3
  138. package/src/components/sidebar-navigation-screen-library/category-item.js +1 -1
  139. package/src/components/sidebar-navigation-screen-library/style.scss +0 -4
  140. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  141. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +12 -1
  142. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -2
  143. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  144. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +31 -8
  145. package/src/components/sidebar-navigation-screen-pattern/style.scss +25 -0
  146. package/src/components/sidebar-navigation-screen-template/style.scss +15 -15
  147. package/src/components/site-hub/style.scss +4 -3
  148. package/src/hooks/commands/use-common-commands.js +20 -1
  149. package/src/hooks/commands/use-edit-mode-commands.js +155 -36
  150. package/src/index.js +1 -0
  151. package/src/store/selectors.js +5 -0
  152. package/src/store/test/selectors.js +2 -0
  153. package/src/style.scss +1 -0
@@ -8,12 +8,12 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { Button, Modal, __experimentalGrid as Grid, __experimentalText as Text, __experimentalVStack as VStack } from '@wordpress/components';
11
+ import { Button, Modal, __experimentalGrid as Grid, __experimentalText as Text, __experimentalVStack as VStack, Flex, Icon } from '@wordpress/components';
12
12
  import { decodeEntities } from '@wordpress/html-entities';
13
13
  import { useState } from '@wordpress/element';
14
- import { useDispatch } from '@wordpress/data';
14
+ import { useSelect, useDispatch } from '@wordpress/data';
15
15
  import { store as coreStore } from '@wordpress/core-data';
16
- import { plus } from '@wordpress/icons';
16
+ import { archive, blockMeta, calendar, category, commentAuthorAvatar, edit, home, layout, list, media, notFound, page, plus, pin, postList, search, tag } from '@wordpress/icons';
17
17
  import { __, sprintf } from '@wordpress/i18n';
18
18
  import { store as noticesStore } from '@wordpress/notices';
19
19
  import { privateApis as routerPrivateApis } from '@wordpress/router';
@@ -31,29 +31,59 @@ const {
31
31
  useHistory
32
32
  } = unlock(routerPrivateApis);
33
33
  const DEFAULT_TEMPLATE_SLUGS = ['front-page', 'home', 'single', 'page', 'index', 'archive', 'author', 'category', 'date', 'tag', 'search', '404'];
34
+ const TEMPLATE_ICONS = {
35
+ 'front-page': home,
36
+ home: postList,
37
+ single: pin,
38
+ page,
39
+ archive,
40
+ search,
41
+ 404: notFound,
42
+ index: list,
43
+ category,
44
+ author: commentAuthorAvatar,
45
+ taxonomy: blockMeta,
46
+ date: calendar,
47
+ tag,
48
+ attachment: media
49
+ };
34
50
 
35
51
  function TemplateListItem({
36
52
  title,
53
+ direction,
54
+ className,
37
55
  description,
38
- onClick
56
+ icon,
57
+ onClick,
58
+ children
39
59
  }) {
40
60
  return createElement(Button, {
41
- onClick: onClick
42
- }, createElement(VStack, {
61
+ className: className,
62
+ onClick: onClick,
63
+ label: description,
64
+ showTooltip: !!description
65
+ }, createElement(Flex, {
43
66
  as: "span",
44
67
  spacing: 2,
45
- justify: "flex-start",
68
+ align: "center",
69
+ justify: "center",
46
70
  style: {
47
71
  width: '100%'
48
- }
72
+ },
73
+ direction: direction
74
+ }, createElement("div", {
75
+ className: "edit-site-add-new-template__template-icon"
76
+ }, createElement(Icon, {
77
+ icon: icon
78
+ })), createElement(VStack, {
79
+ className: "edit-site-add-new-template__template-name",
80
+ alignment: "center",
81
+ spacing: 0
49
82
  }, createElement(Text, {
50
83
  weight: 500,
51
84
  lineHeight: 1.53846153846 // 20px
52
85
 
53
- }, title), createElement(Text, {
54
- lineHeight: 1.53846153846 // 20px
55
-
56
- }, description)));
86
+ }, title), children)));
57
87
  }
58
88
 
59
89
  const modalContentMap = {
@@ -81,6 +111,22 @@ export default function NewTemplate({
81
111
  const {
82
112
  setTemplate
83
113
  } = unlock(useDispatch(editSiteStore));
114
+ const {
115
+ homeUrl
116
+ } = useSelect(select => {
117
+ const {
118
+ getUnstableBase // Site index.
119
+
120
+ } = select(coreStore);
121
+ return {
122
+ homeUrl: getUnstableBase()?.home
123
+ };
124
+ }, []);
125
+ const TEMPLATE_SHORT_DESCRIPTIONS = {
126
+ 'front-page': homeUrl,
127
+ date: sprintf( // translators: %s: The homepage url.
128
+ __('E.g. %s'), homeUrl + '/' + new Date().getFullYear())
129
+ };
84
130
 
85
131
  async function createTemplate(template, isWPSuggestion = true) {
86
132
  if (isCreatingTemplate) {
@@ -171,24 +217,33 @@ export default function NewTemplate({
171
217
  align: "flex-start",
172
218
  justify: "center",
173
219
  className: "edit-site-add-new-template__template-list__contents"
174
- }, missingTemplates.map(template => {
220
+ }, createElement(Flex, {
221
+ className: "edit-site-add-new-template__template-list__prompt"
222
+ }, __('Select what the new template should apply to:')), missingTemplates.map(template => {
175
223
  const {
176
224
  title,
177
- description,
178
225
  slug,
179
226
  onClick
180
227
  } = template;
181
228
  return createElement(TemplateListItem, {
182
229
  key: slug,
183
230
  title: title,
184
- description: description,
231
+ direction: "column",
232
+ className: "edit-site-add-new-template__template-button",
233
+ description: TEMPLATE_SHORT_DESCRIPTIONS[slug],
234
+ icon: TEMPLATE_ICONS[slug] || layout,
185
235
  onClick: () => onClick ? onClick(template) : createTemplate(template)
186
236
  });
187
237
  }), createElement(TemplateListItem, {
188
238
  title: __('Custom template'),
189
- description: __('A custom template can be manually applied to any post or page.'),
239
+ direction: "row",
240
+ className: "edit-site-add-new-template__custom-template-button",
241
+ icon: edit,
190
242
  onClick: () => setModalContent(modalContentMap.customGenericTemplate)
191
- })), modalContent === modalContentMap.customTemplate && createElement(AddCustomTemplateModalContent, {
243
+ }, createElement(Text, {
244
+ lineHeight: 1.53846153846 // 20px
245
+
246
+ }, __('A custom template can be manually applied to any post or page.')))), modalContent === modalContentMap.customTemplate && createElement(AddCustomTemplateModalContent, {
192
247
  onSelect: createTemplate,
193
248
  entityForSuggestions: entityForSuggestions
194
249
  }), modalContent === modalContentMap.customGenericTemplate && createElement(AddCustomGenericTemplateModalContent, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","decodeEntities","useState","useDispatch","store","coreStore","plus","__","sprintf","noticesStore","privateApis","routerPrivateApis","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","editSiteStore","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TemplateListItem","title","description","onClick","width","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","setTemplate","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","id","push","postId","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","as","Toggle","restToggleProps","modalTitle","labels","singular_name","add_new_item","undefined","map","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { plus } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nfunction TemplateListItem( { title, description, onClick } ) {\n\treturn (\n\t\t<Button onClick={ onClick }>\n\t\t\t<VStack\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Text>\n\t\t\t\t<Text\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { setTemplate } = unlock( useDispatch( editSiteStore ) );\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Set template before navigating away to avoid initial stale value.\n\t\t\tsetTemplate( newTemplate.id, newTemplate.slug );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\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 creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, description, slug, onClick } =\n\t\t\t\t\t\t\t\t\ttemplate;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdescription={ description }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\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} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\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</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","plus","pin","postList","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","editSiteStore","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","width","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","setTemplate","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","id","push","postId","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","as","Toggle","restToggleProps","modalTitle","labels","singular_name","add_new_item","undefined","map","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tplus,\n\tpin,\n\tpostList,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: postList,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { setTemplate } = unlock( useDispatch( editSiteStore ) );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Set template before navigating away to avoid initial stale value.\n\t\t\tsetTemplate( newTemplate.id, newTemplate.slug );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\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 creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_ICONS[ slug ] || layout\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\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} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\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<Text\n\t\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TemplateListItem>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"]}
@@ -67,7 +67,7 @@ export default function CreatePatternModal({
67
67
  }
68
68
 
69
69
  return createElement(Modal, {
70
- title: __('Create a pattern'),
70
+ title: __('Create pattern'),
71
71
  onRequestClose: closeModal,
72
72
  overlayClassName: "edit-site-create-pattern-modal"
73
73
  }, createElement("p", null, __('Turn this block into a pattern to reuse later')), createElement("form", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/create-pattern-modal/index.js"],"names":["TextControl","Button","Modal","ToggleControl","__experimentalHStack","HStack","__experimentalVStack","VStack","store","coreStore","__","useState","noticesStore","useDispatch","SYNC_TYPES","USER_PATTERN_CATEGORY","CreatePatternModal","closeModal","onCreate","onError","name","setName","syncType","setSyncType","full","isSubmitting","setIsSubmitting","onSyncChange","unsynced","createErrorNotice","saveEntityRecord","createPattern","type","pattern","title","content","status","meta","sync_status","throwOnError","categoryId","error","errorMessage","message","code","event","preventDefault"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\tToggleControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY } from '../page-library/utils';\n\nexport default function CreatePatternModal( {\n\tcloseModal,\n\tonCreate,\n\tonError,\n} ) {\n\tconst [ name, setName ] = useState( '' );\n\tconst [ syncType, setSyncType ] = useState( SYNC_TYPES.full );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\n\tconst onSyncChange = () => {\n\t\tsetSyncType(\n\t\t\tsyncType === SYNC_TYPES.full ? SYNC_TYPES.unsynced : SYNC_TYPES.full\n\t\t);\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function createPattern() {\n\t\tif ( ! name ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a pattern name.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst pattern = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\ttitle: name || __( 'Untitled Pattern' ),\n\t\t\t\t\tcontent: '',\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\tmeta: { sync_status: syncType },\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonCreate( { pattern, categoryId: USER_PATTERN_CATEGORY } );\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 creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\tonError();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create a pattern' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-pattern-modal\"\n\t\t>\n\t\t\t<p>{ __( 'Turn this block into a pattern to reuse later' ) }</p>\n\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! name ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createPattern();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tclassName=\"edit-site-create-pattern-modal__input\"\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tonChange={ setName }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\tonChange={ onSyncChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tsyncType === SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? __( 'Content is synced' )\n\t\t\t\t\t\t\t\t: __( 'Content is not synced' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ syncType === SYNC_TYPES.full }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! name }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/create-pattern-modal/index.js"],"names":["TextControl","Button","Modal","ToggleControl","__experimentalHStack","HStack","__experimentalVStack","VStack","store","coreStore","__","useState","noticesStore","useDispatch","SYNC_TYPES","USER_PATTERN_CATEGORY","CreatePatternModal","closeModal","onCreate","onError","name","setName","syncType","setSyncType","full","isSubmitting","setIsSubmitting","onSyncChange","unsynced","createErrorNotice","saveEntityRecord","createPattern","type","pattern","title","content","status","meta","sync_status","throwOnError","categoryId","error","errorMessage","message","code","event","preventDefault"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\tToggleControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY } from '../page-library/utils';\n\nexport default function CreatePatternModal( {\n\tcloseModal,\n\tonCreate,\n\tonError,\n} ) {\n\tconst [ name, setName ] = useState( '' );\n\tconst [ syncType, setSyncType ] = useState( SYNC_TYPES.full );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\n\tconst onSyncChange = () => {\n\t\tsetSyncType(\n\t\t\tsyncType === SYNC_TYPES.full ? SYNC_TYPES.unsynced : SYNC_TYPES.full\n\t\t);\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function createPattern() {\n\t\tif ( ! name ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a pattern name.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst pattern = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\ttitle: name || __( 'Untitled Pattern' ),\n\t\t\t\t\tcontent: '',\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\tmeta: { sync_status: syncType },\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonCreate( { pattern, categoryId: USER_PATTERN_CATEGORY } );\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 creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\tonError();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-pattern-modal\"\n\t\t>\n\t\t\t<p>{ __( 'Turn this block into a pattern to reuse later' ) }</p>\n\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! name ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createPattern();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tclassName=\"edit-site-create-pattern-modal__input\"\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tonChange={ setName }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\tonChange={ onSyncChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tsyncType === SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? __( 'Content is synced' )\n\t\t\t\t\t\t\t\t: __( 'Content is not synced' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ syncType === SYNC_TYPES.full }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! name }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -68,7 +68,7 @@ export default function CreateTemplatePartModal({
68
68
  }
69
69
 
70
70
  return createElement(Modal, {
71
- title: __('Create a template part'),
71
+ title: __('Create template part'),
72
72
  onRequestClose: closeModal,
73
73
  overlayClassName: "edit-site-create-template-part-modal"
74
74
  }, createElement("form", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"names":["useSelect","useDispatch","Icon","BaseControl","TextControl","Flex","FlexItem","FlexBlock","Button","Modal","__experimentalRadioGroup","RadioGroup","__experimentalRadio","Radio","__experimentalHStack","HStack","__experimentalVStack","VStack","__","useState","useInstanceId","store","editorStore","noticesStore","coreStore","check","serialize","TEMPLATE_PART_AREA_GENERAL","useExistingTemplateParts","getUniqueTemplatePartTitle","getCleanTemplatePartSlug","CreateTemplatePartModal","closeModal","blocks","onCreate","onError","createErrorNotice","saveEntityRecord","existingTemplateParts","title","setTitle","area","setArea","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","type","uniqueTitle","cleanSlug","templatePart","slug","content","throwOnError","error","errorMessage","message","code","event","preventDefault","map","icon","label","value","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tcloseModal,\n\tblocks = [],\n\tonCreate,\n\tonError,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a title.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\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: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create a template part' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! title ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createTemplatePart();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"names":["useSelect","useDispatch","Icon","BaseControl","TextControl","Flex","FlexItem","FlexBlock","Button","Modal","__experimentalRadioGroup","RadioGroup","__experimentalRadio","Radio","__experimentalHStack","HStack","__experimentalVStack","VStack","__","useState","useInstanceId","store","editorStore","noticesStore","coreStore","check","serialize","TEMPLATE_PART_AREA_GENERAL","useExistingTemplateParts","getUniqueTemplatePartTitle","getCleanTemplatePartSlug","CreateTemplatePartModal","closeModal","blocks","onCreate","onError","createErrorNotice","saveEntityRecord","existingTemplateParts","title","setTitle","area","setArea","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","type","uniqueTitle","cleanSlug","templatePart","slug","content","throwOnError","error","errorMessage","message","code","event","preventDefault","map","icon","label","value","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tcloseModal,\n\tblocks = [],\n\tonCreate,\n\tonError,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a title.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\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: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create template part' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! title ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createTemplatePart();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -159,6 +159,7 @@ export default function Editor({
159
159
  }, createElement(BlockContextProvider, {
160
160
  value: blockContext
161
161
  }, createElement(SidebarComplementaryAreaFills, null), isEditMode && createElement(StartTemplateOptions, null), createElement(InterfaceSkeleton, {
162
+ isDistractionFree: true,
162
163
  enableRegionNavigation: false,
163
164
  className: classnames('edit-site-editor__interface-skeleton', {
164
165
  'show-icon-labels': showIconLabels,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["classnames","useMemo","useSelect","useDispatch","Notice","EntityProvider","store","preferencesStore","BlockContextProvider","BlockBreadcrumb","blockEditorStore","privateApis","blockEditorPrivateApis","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","__","sprintf","SidebarComplementaryAreaFills","BlockEditor","CodeEditor","KeyboardShortcutsEditMode","InserterSidebar","ListViewSidebar","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasSpinner","unlock","useEditedEntityRecord","SidebarFixedBottomSlot","BlockRemovalWarningModal","interfaceLabels","body","sidebar","actions","footer","typeLabels","wp_template","wp_template_part","wp_block","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","id","editedPostId","type","editedPostType","context","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","showIconLabels","showBlockBreadcrumbs","hasPageContentFocus","select","getEditedPostContext","getEditorMode","getCanvasMode","isInserterOpened","isListViewOpened","_hasPageContentFocus","__unstableGetEditorMode","getActiveComplementaryArea","name","get","setEditedPostContext","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","blockContext","postType","postId","nonPostFields","queryContext","page","newQueryContext","title","secondarySidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { EntityProvider } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { EditorNotices, EditorSnackbars } from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { SidebarComplementaryAreaFills } from '../sidebar-edit-mode';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport { SidebarFixedBottomSlot } from '../sidebar-edit-mode/sidebar-fixed-bottom';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nconst typeLabels = {\n\twp_template: __( 'Template Part' ),\n\twp_template_part: __( 'Template Part' ),\n\twp_block: __( 'Pattern' ),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { id: editedPostId, type: editedPostType } = editedPost;\n\n\tconst {\n\t\tcontext,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\thasPageContentFocus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostContext,\n\t\t\tgetEditorMode,\n\t\t\tgetCanvasMode,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: getEditedPostContext(),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\thasPageContentFocus: _hasPageContentFocus(),\n\t\t};\n\t}, [] );\n\tconst { setEditedPostContext } = useDispatch( editSiteStore );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst blockContext = useMemo( () => {\n\t\tconst { postType, postId, ...nonPostFields } = context ?? {};\n\t\treturn {\n\t\t\t...( hasPageContentFocus ? context : nonPostFields ),\n\t\t\tqueryContext: [\n\t\t\t\tcontext?.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetEditedPostContext( {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t...context?.queryContext,\n\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t};\n\t}, [ hasPageContentFocus, context, setEditedPostContext ] );\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\tconst type = typeLabels[ editedPostType ] ?? __( 'Template' );\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail in browser tab. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s ‹ Editor' ),\n\t\t\tgetTitle(),\n\t\t\ttype\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\treturn (\n\t\t<>\n\t\t\t{ isLoading ? <CanvasSpinner /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ editedPostType }\n\t\t\t\t\tid={ editedPostId }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t\t\t'is-loading': isLoading,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t\t{ showVisualEditor && editedPost && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<BlockEditor />\n\t\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal />\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\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\teditedPost &&\n\t\t\t\t\t\t\t\t\t\tisEditMode && <CodeEditor /> }\n\t\t\t\t\t\t\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\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\tsecondarySidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\t( ( shouldShowInserter && (\n\t\t\t\t\t\t\t\t\t<InserterSidebar />\n\t\t\t\t\t\t\t\t) ) ||\n\t\t\t\t\t\t\t\t\t( shouldShowListView && (\n\t\t\t\t\t\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t\t\t\t\t\t) ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t<SidebarFixedBottomSlot />\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\tfooter={\n\t\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\trootLabelText={\n\t\t\t\t\t\t\t\t\t\t\thasPageContentFocus\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Page' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Template' )\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}\n\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["classnames","useMemo","useSelect","useDispatch","Notice","EntityProvider","store","preferencesStore","BlockContextProvider","BlockBreadcrumb","blockEditorStore","privateApis","blockEditorPrivateApis","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","__","sprintf","SidebarComplementaryAreaFills","BlockEditor","CodeEditor","KeyboardShortcutsEditMode","InserterSidebar","ListViewSidebar","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasSpinner","unlock","useEditedEntityRecord","SidebarFixedBottomSlot","BlockRemovalWarningModal","interfaceLabels","body","sidebar","actions","footer","typeLabels","wp_template","wp_template_part","wp_block","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","id","editedPostId","type","editedPostType","context","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","showIconLabels","showBlockBreadcrumbs","hasPageContentFocus","select","getEditedPostContext","getEditorMode","getCanvasMode","isInserterOpened","isListViewOpened","_hasPageContentFocus","__unstableGetEditorMode","getActiveComplementaryArea","name","get","setEditedPostContext","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","blockContext","postType","postId","nonPostFields","queryContext","page","newQueryContext","title","secondarySidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { EntityProvider } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { EditorNotices, EditorSnackbars } from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { SidebarComplementaryAreaFills } from '../sidebar-edit-mode';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport { SidebarFixedBottomSlot } from '../sidebar-edit-mode/sidebar-fixed-bottom';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nconst typeLabels = {\n\twp_template: __( 'Template Part' ),\n\twp_template_part: __( 'Template Part' ),\n\twp_block: __( 'Pattern' ),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { id: editedPostId, type: editedPostType } = editedPost;\n\n\tconst {\n\t\tcontext,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\thasPageContentFocus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostContext,\n\t\t\tgetEditorMode,\n\t\t\tgetCanvasMode,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: getEditedPostContext(),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\thasPageContentFocus: _hasPageContentFocus(),\n\t\t};\n\t}, [] );\n\tconst { setEditedPostContext } = useDispatch( editSiteStore );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst blockContext = useMemo( () => {\n\t\tconst { postType, postId, ...nonPostFields } = context ?? {};\n\t\treturn {\n\t\t\t...( hasPageContentFocus ? context : nonPostFields ),\n\t\t\tqueryContext: [\n\t\t\t\tcontext?.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetEditedPostContext( {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t...context?.queryContext,\n\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t};\n\t}, [ hasPageContentFocus, context, setEditedPostContext ] );\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\tconst type = typeLabels[ editedPostType ] ?? __( 'Template' );\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail in browser tab. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s ‹ Editor' ),\n\t\t\tgetTitle(),\n\t\t\ttype\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\treturn (\n\t\t<>\n\t\t\t{ isLoading ? <CanvasSpinner /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ editedPostType }\n\t\t\t\t\tid={ editedPostId }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\tisDistractionFree={ true }\n\t\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t\t\t'is-loading': isLoading,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t\t{ showVisualEditor && editedPost && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<BlockEditor />\n\t\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal />\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\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\teditedPost &&\n\t\t\t\t\t\t\t\t\t\tisEditMode && <CodeEditor /> }\n\t\t\t\t\t\t\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\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\tsecondarySidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\t( ( shouldShowInserter && (\n\t\t\t\t\t\t\t\t\t<InserterSidebar />\n\t\t\t\t\t\t\t\t) ) ||\n\t\t\t\t\t\t\t\t\t( shouldShowListView && (\n\t\t\t\t\t\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t\t\t\t\t\t) ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t<SidebarFixedBottomSlot />\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\tfooter={\n\t\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\trootLabelText={\n\t\t\t\t\t\t\t\t\t\t\thasPageContentFocus\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Page' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Template' )\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}\n\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t</>\n\t);\n}\n"]}
@@ -8,7 +8,7 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen, __experimentalUseNavigator as useNavigator, createSlotFill, DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
11
+ import { __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen, __experimentalUseNavigator as useNavigator, createSlotFill, Button, DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
12
12
  import { getBlockTypes, store as blocksStore } from '@wordpress/blocks';
13
13
  import { useSelect, useDispatch } from '@wordpress/data';
14
14
  import { privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
@@ -131,7 +131,7 @@ function GlobalStylesRevisionsMenu() {
131
131
  };
132
132
 
133
133
  const hasRevisions = revisionsCount >= 2;
134
- return createElement(GlobalStylesMenuFill, null, createElement(DropdownMenu, {
134
+ return createElement(GlobalStylesMenuFill, null, canReset || hasRevisions ? createElement(DropdownMenu, {
135
135
  icon: backup,
136
136
  label: __('Revisions')
137
137
  }, ({
@@ -145,7 +145,12 @@ function GlobalStylesRevisionsMenu() {
145
145
  onClose();
146
146
  },
147
147
  disabled: !canReset
148
- }, __('Reset to defaults')))));
148
+ }, __('Reset to defaults')))) : createElement(Button, {
149
+ label: __('Revisions'),
150
+ icon: backup,
151
+ disabled: true,
152
+ __experimentalIsFocusable: true
153
+ }));
149
154
  }
150
155
 
151
156
  function GlobalStylesNavigationScreen({