@wordpress/edit-site 5.20.1 → 5.21.1-next.f8d8eceb.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +121 -0
  3. package/build/components/actions/index.js.map +1 -0
  4. package/build/components/add-new-template/add-custom-template-modal-content.js +17 -13
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  6. package/build/components/block-editor/resize-handle.js +2 -1
  7. package/build/components/block-editor/resize-handle.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +12 -4
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/create-template-part-modal/index.js +10 -6
  11. package/build/components/create-template-part-modal/index.js.map +1 -1
  12. package/build/components/dataviews/context.js +15 -0
  13. package/build/components/dataviews/context.js.map +1 -0
  14. package/build/components/dataviews/dataviews.js +50 -33
  15. package/build/components/dataviews/dataviews.js.map +1 -1
  16. package/build/components/dataviews/filters.js +74 -0
  17. package/build/components/dataviews/filters.js.map +1 -0
  18. package/build/components/dataviews/in-filter.js +49 -0
  19. package/build/components/dataviews/in-filter.js.map +1 -0
  20. package/build/components/dataviews/index.js +0 -7
  21. package/build/components/dataviews/index.js.map +1 -1
  22. package/build/components/dataviews/item-actions.js +62 -0
  23. package/build/components/dataviews/item-actions.js.map +1 -0
  24. package/build/components/dataviews/pagination.js +74 -45
  25. package/build/components/dataviews/pagination.js.map +1 -1
  26. package/build/components/dataviews/{text-filter.js → search.js} +21 -15
  27. package/build/components/dataviews/search.js.map +1 -0
  28. package/build/components/dataviews/view-actions.js +94 -56
  29. package/build/components/dataviews/view-actions.js.map +1 -1
  30. package/build/components/dataviews/view-grid.js +59 -0
  31. package/build/components/dataviews/view-grid.js.map +1 -0
  32. package/build/components/dataviews/view-list.js +283 -0
  33. package/build/components/dataviews/view-list.js.map +1 -0
  34. package/build/components/editor/index.js +2 -1
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/context.js +16 -10
  37. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/font-collection.js +20 -6
  39. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  40. package/build/components/global-styles/screen-block.js +2 -10
  41. package/build/components/global-styles/screen-block.js.map +1 -1
  42. package/build/components/global-styles/screen-root.js +1 -2
  43. package/build/components/global-styles/screen-root.js.map +1 -1
  44. package/build/components/global-styles/ui.js +3 -4
  45. package/build/components/global-styles/ui.js.map +1 -1
  46. package/build/components/layout/index.js +10 -2
  47. package/build/components/layout/index.js.map +1 -1
  48. package/build/components/media/index.js +34 -0
  49. package/build/components/media/index.js.map +1 -0
  50. package/build/components/page-actions/index.js +0 -2
  51. package/build/components/page-actions/index.js.map +1 -1
  52. package/build/components/page-pages/default-views.js +60 -0
  53. package/build/components/page-pages/default-views.js.map +1 -0
  54. package/build/components/page-pages/index.js +174 -107
  55. package/build/components/page-pages/index.js.map +1 -1
  56. package/build/components/page-patterns/delete-category-menu-item.js +89 -0
  57. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -0
  58. package/build/components/page-patterns/duplicate-menu-item.js +52 -131
  59. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  60. package/build/components/page-patterns/grid-item.js +1 -0
  61. package/build/components/page-patterns/grid-item.js.map +1 -1
  62. package/build/components/page-patterns/header.js +25 -3
  63. package/build/components/page-patterns/header.js.map +1 -1
  64. package/build/components/page-patterns/rename-category-menu-item.js +49 -0
  65. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -0
  66. package/build/components/page-patterns/rename-menu-item.js +1 -1
  67. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -0
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/pattern-modal/duplicate.js +65 -0
  71. package/build/components/pattern-modal/duplicate.js.map +1 -0
  72. package/build/components/pattern-modal/index.js +24 -0
  73. package/build/components/pattern-modal/index.js.map +1 -0
  74. package/build/components/pattern-modal/rename.js +42 -0
  75. package/build/components/pattern-modal/rename.js.map +1 -0
  76. package/build/components/sidebar/index.js +3 -1
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/index.js +72 -0
  79. package/build/components/sidebar-dataviews/index.js.map +1 -0
  80. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  81. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  83. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  85. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
  87. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  88. package/build/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  89. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  90. package/build/hooks/commands/use-common-commands.js +1 -2
  91. package/build/hooks/commands/use-common-commands.js.map +1 -1
  92. package/build/hooks/commands/use-edit-mode-commands.js +50 -0
  93. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  94. package/build/lock-unlock.js +1 -1
  95. package/build/lock-unlock.js.map +1 -1
  96. package/build/store/selectors.js +4 -5
  97. package/build/store/selectors.js.map +1 -1
  98. package/build-module/components/actions/index.js +108 -0
  99. package/build-module/components/actions/index.js.map +1 -0
  100. package/build-module/components/add-new-template/add-custom-template-modal-content.js +16 -12
  101. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  102. package/build-module/components/block-editor/resize-handle.js +2 -1
  103. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  104. package/build-module/components/block-editor/use-site-editor-settings.js +12 -4
  105. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  106. package/build-module/components/create-template-part-modal/index.js +10 -6
  107. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  108. package/build-module/components/dataviews/context.js +7 -0
  109. package/build-module/components/dataviews/context.js.map +1 -0
  110. package/build-module/components/dataviews/dataviews.js +49 -32
  111. package/build-module/components/dataviews/dataviews.js.map +1 -1
  112. package/build-module/components/dataviews/filters.js +66 -0
  113. package/build-module/components/dataviews/filters.js.map +1 -0
  114. package/build-module/components/dataviews/in-filter.js +41 -0
  115. package/build-module/components/dataviews/in-filter.js.map +1 -0
  116. package/build-module/components/dataviews/index.js +0 -1
  117. package/build-module/components/dataviews/index.js.map +1 -1
  118. package/build-module/components/dataviews/item-actions.js +55 -0
  119. package/build-module/components/dataviews/item-actions.js.map +1 -0
  120. package/build-module/components/dataviews/pagination.js +73 -46
  121. package/build-module/components/dataviews/pagination.js.map +1 -1
  122. package/build-module/components/dataviews/search.js +42 -0
  123. package/build-module/components/dataviews/search.js.map +1 -0
  124. package/build-module/components/dataviews/view-actions.js +95 -54
  125. package/build-module/components/dataviews/view-actions.js.map +1 -1
  126. package/build-module/components/dataviews/view-grid.js +51 -0
  127. package/build-module/components/dataviews/view-grid.js.map +1 -0
  128. package/build-module/components/dataviews/view-list.js +274 -0
  129. package/build-module/components/dataviews/view-list.js.map +1 -0
  130. package/build-module/components/editor/index.js +2 -1
  131. package/build-module/components/editor/index.js.map +1 -1
  132. package/build-module/components/global-styles/font-library-modal/context.js +16 -10
  133. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  134. package/build-module/components/global-styles/font-library-modal/font-collection.js +20 -6
  135. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  136. package/build-module/components/global-styles/screen-block.js +2 -10
  137. package/build-module/components/global-styles/screen-block.js.map +1 -1
  138. package/build-module/components/global-styles/screen-root.js +1 -2
  139. package/build-module/components/global-styles/screen-root.js.map +1 -1
  140. package/build-module/components/global-styles/ui.js +3 -4
  141. package/build-module/components/global-styles/ui.js.map +1 -1
  142. package/build-module/components/layout/index.js +11 -3
  143. package/build-module/components/layout/index.js.map +1 -1
  144. package/build-module/components/media/index.js +26 -0
  145. package/build-module/components/media/index.js.map +1 -0
  146. package/build-module/components/page-actions/index.js +0 -2
  147. package/build-module/components/page-actions/index.js.map +1 -1
  148. package/build-module/components/page-pages/default-views.js +53 -0
  149. package/build-module/components/page-pages/default-views.js.map +1 -0
  150. package/build-module/components/page-pages/index.js +175 -110
  151. package/build-module/components/page-pages/index.js.map +1 -1
  152. package/build-module/components/page-patterns/delete-category-menu-item.js +82 -0
  153. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -0
  154. package/build-module/components/page-patterns/duplicate-menu-item.js +54 -133
  155. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  156. package/build-module/components/page-patterns/grid-item.js +1 -0
  157. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  158. package/build-module/components/page-patterns/header.js +26 -4
  159. package/build-module/components/page-patterns/header.js.map +1 -1
  160. package/build-module/components/page-patterns/rename-category-menu-item.js +42 -0
  161. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -0
  162. package/build-module/components/page-patterns/rename-menu-item.js +1 -1
  163. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  164. package/build-module/components/page-patterns/use-patterns.js +1 -0
  165. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  166. package/build-module/components/pattern-modal/duplicate.js +57 -0
  167. package/build-module/components/pattern-modal/duplicate.js.map +1 -0
  168. package/build-module/components/pattern-modal/index.js +14 -0
  169. package/build-module/components/pattern-modal/index.js.map +1 -0
  170. package/build-module/components/pattern-modal/rename.js +34 -0
  171. package/build-module/components/pattern-modal/rename.js.map +1 -0
  172. package/build-module/components/sidebar/index.js +3 -1
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-dataviews/index.js +64 -0
  175. package/build-module/components/sidebar-dataviews/index.js.map +1 -0
  176. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  177. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  179. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  181. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
  183. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  184. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  185. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  186. package/build-module/hooks/commands/use-common-commands.js +1 -2
  187. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  188. package/build-module/hooks/commands/use-edit-mode-commands.js +51 -1
  189. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  190. package/build-module/lock-unlock.js +1 -1
  191. package/build-module/lock-unlock.js.map +1 -1
  192. package/build-module/store/selectors.js +4 -5
  193. package/build-module/store/selectors.js.map +1 -1
  194. package/build-style/style-rtl.css +48 -11
  195. package/build-style/style.css +48 -11
  196. package/package.json +40 -40
  197. package/src/components/actions/index.js +123 -0
  198. package/src/components/add-new-template/add-custom-template-modal-content.js +22 -17
  199. package/src/components/block-editor/resize-handle.js +1 -0
  200. package/src/components/block-editor/use-site-editor-settings.js +21 -13
  201. package/src/components/create-template-part-modal/index.js +9 -5
  202. package/src/components/dataviews/README.md +194 -0
  203. package/src/components/dataviews/context.js +7 -0
  204. package/src/components/dataviews/dataviews.js +55 -34
  205. package/src/components/dataviews/filters.js +75 -0
  206. package/src/components/dataviews/in-filter.js +45 -0
  207. package/src/components/dataviews/index.js +0 -1
  208. package/src/components/dataviews/item-actions.js +69 -0
  209. package/src/components/dataviews/pagination.js +80 -59
  210. package/src/components/dataviews/search.js +41 -0
  211. package/src/components/dataviews/style.scss +18 -3
  212. package/src/components/dataviews/view-actions.js +108 -63
  213. package/src/components/dataviews/view-grid.js +65 -0
  214. package/src/components/dataviews/view-list.js +348 -0
  215. package/src/components/editor/index.js +2 -0
  216. package/src/components/global-styles/font-library-modal/context.js +17 -11
  217. package/src/components/global-styles/font-library-modal/font-collection.js +19 -11
  218. package/src/components/global-styles/screen-block.js +2 -9
  219. package/src/components/global-styles/screen-root.js +1 -2
  220. package/src/components/global-styles/style.scss +16 -4
  221. package/src/components/global-styles/ui.js +1 -2
  222. package/src/components/layout/index.js +12 -4
  223. package/src/components/media/index.js +25 -0
  224. package/src/components/page-actions/index.js +1 -7
  225. package/src/components/page-pages/default-views.js +58 -0
  226. package/src/components/page-pages/index.js +181 -108
  227. package/src/components/page-pages/style.scss +3 -0
  228. package/src/components/page-patterns/delete-category-menu-item.js +104 -0
  229. package/src/components/page-patterns/duplicate-menu-item.js +68 -181
  230. package/src/components/page-patterns/grid-item.js +1 -0
  231. package/src/components/page-patterns/header.js +42 -6
  232. package/src/components/page-patterns/rename-category-menu-item.js +45 -0
  233. package/src/components/page-patterns/rename-menu-item.js +2 -2
  234. package/src/components/page-patterns/style.scss +8 -0
  235. package/src/components/page-patterns/use-patterns.js +5 -0
  236. package/src/components/pattern-modal/duplicate.js +53 -0
  237. package/src/components/pattern-modal/index.js +19 -0
  238. package/src/components/pattern-modal/rename.js +29 -0
  239. package/src/components/sidebar/index.js +2 -0
  240. package/src/components/sidebar-dataviews/index.js +65 -0
  241. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +4 -0
  242. package/src/components/sidebar-navigation-screen/style.scss +17 -5
  243. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -7
  244. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -8
  245. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
  246. package/src/components/sidebar-navigation-screen-template/home-template-details.js +21 -7
  247. package/src/hooks/commands/use-common-commands.js +1 -2
  248. package/src/hooks/commands/use-edit-mode-commands.js +43 -0
  249. package/src/lock-unlock.js +1 -1
  250. package/src/store/selectors.js +9 -10
  251. package/src/style.scss +1 -0
  252. package/build/components/dataviews/list-view.js +0 -89
  253. package/build/components/dataviews/list-view.js.map +0 -1
  254. package/build/components/dataviews/text-filter.js.map +0 -1
  255. package/build-module/components/dataviews/list-view.js +0 -80
  256. package/build-module/components/dataviews/list-view.js.map +0 -1
  257. package/build-module/components/dataviews/text-filter.js +0 -36
  258. package/build-module/components/dataviews/text-filter.js.map +0 -1
  259. package/src/components/dataviews/list-view.js +0 -106
  260. package/src/components/dataviews/text-filter.js +0 -37
@@ -1 +1 @@
1
- {"version":3,"names":["_rememo","_interopRequireDefault","require","_coreData","_data","_deprecated","_mediaUtils","_element","_preferences","_blockEditor","_utils","_constants","__unstableGetPreference","createRegistrySelector","select","state","name","preferencesStore","get","exports","isFeatureActive","featureName","deprecated","since","alternative","__experimentalGetPreviewDeviceType","deviceType","getCanUserCreateMedia","coreDataStore","canUser","getReusableBlocks","isWeb","Platform","OS","getEntityRecords","per_page","getSettings","createSelector","setIsInserterOpen","settings","outlineMode","focusMode","isDistractionFree","hasFixedToolbar","keepCaretInsideBlock","showIconLabels","__experimentalSetIsInserterOpened","__experimentalReusableBlocks","__experimentalPreferPatternsOnRoot","TEMPLATE_POST_TYPE","getEditedPostType","canUserCreateMedia","mediaUpload","onError","rest","uploadMedia","wpAllowedMimeTypes","allowedMimeTypes","message","getHomeTemplateId","version","editedPost","postType","getEditedPostId","id","getEditedPostContext","context","getPage","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","filterValue","hasPageContentFocus","postContentClientId","blockEditorStore","__experimentalGetGlobalBlocksByName","undefined","isListViewOpened","listViewPanel","isSaveViewOpened","saveViewPanel","getCurrentTemplateTemplateParts","templateType","templateId","template","getEditedEntityRecord","templateParts","TEMPLATE_PART_POST_TYPE","getFilteredTemplatePartBlocks","blocks","getEditorMode","getCurrentTemplateNavigationPanelSubMenu","getNavigationPanelActiveMenu","isNavigationOpened","isPage","postId"],"sources":["@wordpress/edit-site/src/store/selectors.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { Platform } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { getFilteredTemplatePartBlocks } from './utils';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../utils/constants';\n/**\n * @typedef {'template'|'template_type'} TemplateType Template type.\n */\n\n/**\n * Helper for getting a preference from the preferences store.\n *\n * This is only present so that `getSettings` doesn't need to be made a\n * registry selector.\n *\n * It's unstable because the selector needs to be exported and so part of the\n * public API to work.\n */\nexport const __unstableGetPreference = createRegistrySelector(\n\t( select ) => ( state, name ) =>\n\t\tselect( preferencesStore ).get( 'core/edit-site', name )\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @deprecated\n * @param {Object} state Global application state.\n * @param {string} featureName Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, featureName ) {\n\tdeprecated( `select( 'core/edit-site' ).isFeatureActive`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\treturn !! __unstableGetPreference( state, featureName );\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport function __experimentalGetPreviewDeviceType( state ) {\n\treturn state.deviceType;\n}\n\n/**\n * Returns whether the current user can create media or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Whether the current user can create media or not.\n */\nexport const getCanUserCreateMedia = createRegistrySelector(\n\t( select ) => () => select( coreDataStore ).canUser( 'create', 'media' )\n);\n\n/**\n * Returns any available Reusable blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} The available reusable blocks.\n */\nexport const getReusableBlocks = createRegistrySelector( ( select ) => () => {\n\tconst isWeb = Platform.OS === 'web';\n\treturn isWeb\n\t\t? select( coreDataStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\tper_page: -1,\n\t\t } )\n\t\t: [];\n} );\n\n/**\n * Returns the settings, taking into account active features and permissions.\n *\n * @param {Object} state Global application state.\n * @param {Function} setIsInserterOpen Setter for the open state of the global inserter.\n *\n * @return {Object} Settings.\n */\nexport const getSettings = createSelector(\n\t( state, setIsInserterOpen ) => {\n\t\tconst settings = {\n\t\t\t...state.settings,\n\t\t\toutlineMode: true,\n\t\t\tfocusMode: !! __unstableGetPreference( state, 'focusMode' ),\n\t\t\tisDistractionFree: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasFixedToolbar: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tshowIconLabels: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpen,\n\t\t\t__experimentalReusableBlocks: getReusableBlocks( state ),\n\t\t\t__experimentalPreferPatternsOnRoot:\n\t\t\t\tTEMPLATE_POST_TYPE === getEditedPostType( state ),\n\t\t};\n\n\t\tconst canUserCreateMedia = getCanUserCreateMedia( state );\n\t\tif ( ! canUserCreateMedia ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tsettings.mediaUpload = ( { onError, ...rest } ) => {\n\t\t\tuploadMedia( {\n\t\t\t\twpAllowedMimeTypes: state.settings.allowedMimeTypes,\n\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t...rest,\n\t\t\t} );\n\t\t};\n\t\treturn settings;\n\t},\n\t( state ) => [\n\t\tgetCanUserCreateMedia( state ),\n\t\tstate.settings,\n\t\t__unstableGetPreference( state, 'focusMode' ),\n\t\t__unstableGetPreference( state, 'distractionFree' ),\n\t\t__unstableGetPreference( state, 'fixedToolbar' ),\n\t\t__unstableGetPreference( state, 'keepCaretInsideBlock' ),\n\t\t__unstableGetPreference( state, 'showIconLabels' ),\n\t\tgetReusableBlocks( state ),\n\t\tgetEditedPostType( state ),\n\t]\n);\n\n/**\n * @deprecated\n */\nexport function getHomeTemplateId() {\n\tdeprecated( \"select( 'core/edit-site' ).getHomeTemplateId\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * Returns the current edited post type (wp_template or wp_template_part).\n *\n * @param {Object} state Global application state.\n *\n * @return {TemplateType?} Template type.\n */\nexport function getEditedPostType( state ) {\n\treturn state.editedPost.postType;\n}\n\n/**\n * Returns the ID of the currently edited template or template part.\n *\n * @param {Object} state Global application state.\n *\n * @return {string?} Post ID.\n */\nexport function getEditedPostId( state ) {\n\treturn state.editedPost.id;\n}\n\n/**\n * Returns the edited post's context object.\n *\n * @deprecated\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getEditedPostContext( state ) {\n\treturn state.editedPost.context;\n}\n\n/**\n * Returns the current page object.\n *\n * @deprecated\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getPage( state ) {\n\treturn { context: state.editedPost.context };\n}\n\n/**\n * Returns the current opened/closed state of the inserter panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the inserter panel should be open; false if closed.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport const __experimentalGetInsertionPoint = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tif ( typeof state.blockInserterPanel === 'object' ) {\n\t\t\tconst { rootClientId, insertionIndex, filterValue } =\n\t\t\t\tstate.blockInserterPanel;\n\t\t\treturn { rootClientId, insertionIndex, filterValue };\n\t\t}\n\n\t\tif ( hasPageContentFocus( state ) ) {\n\t\t\tconst [ postContentClientId ] =\n\t\t\t\tselect( blockEditorStore ).__experimentalGetGlobalBlocksByName(\n\t\t\t\t\t'core/post-content'\n\t\t\t\t);\n\t\t\tif ( postContentClientId ) {\n\t\t\t\treturn {\n\t\t\t\t\trootClientId: postContentClientId,\n\t\t\t\t\tinsertionIndex: undefined,\n\t\t\t\t\tfilterValue: undefined,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\trootClientId: undefined,\n\t\t\tinsertionIndex: undefined,\n\t\t\tfilterValue: undefined,\n\t\t};\n\t}\n);\n\n/**\n * Returns the current opened/closed state of the list view panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the list view panel should be open; false if closed.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n\n/**\n * Returns the current opened/closed state of the save panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the save panel should be open; false if closed.\n */\nexport function isSaveViewOpened( state ) {\n\treturn state.saveViewPanel;\n}\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplateType,\n\t\t\ttemplateId\n\t\t);\n\n\t\tconst templateParts = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 }\n\t\t);\n\n\t\treturn getFilteredTemplatePartBlocks( template.blocks, templateParts );\n\t}\n);\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn __unstableGetPreference( state, 'editorMode' );\n}\n\n/**\n * @deprecated\n */\nexport function getCurrentTemplateNavigationPanelSubMenu() {\n\tdeprecated(\n\t\t\"dispatch( 'core/edit-site' ).getCurrentTemplateNavigationPanelSubMenu\",\n\t\t{\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t}\n\t);\n}\n\n/**\n * @deprecated\n */\nexport function getNavigationPanelActiveMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).getNavigationPanelActiveMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * @deprecated\n */\nexport function isNavigationOpened() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).isNavigationOpened\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * Whether or not the editor has a page loaded into it.\n *\n * @see setPage\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether or not the editor has a page loaded into it.\n */\nexport function isPage( state ) {\n\treturn !! state.editedPost.context?.postId;\n}\n\n/**\n * Whether or not the editor allows only page content to be edited.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether or not focus is on editing page content.\n */\nexport function hasPageContentFocus( state ) {\n\treturn isPage( state ) ? state.hasPageContentFocus : false;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAKA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AApBA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMU,uBAAuB,GAAG,IAAAC,4BAAsB,EAC1DC,MAAM,IAAM,CAAEC,KAAK,EAAEC,IAAI,KAC1BF,MAAM,CAAEG,kBAAiB,CAAC,CAACC,GAAG,CAAE,gBAAgB,EAAEF,IAAK,CACzD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAG,OAAA,CAAAP,uBAAA,GAAAA,uBAAA;AASO,SAASQ,eAAeA,CAAEL,KAAK,EAAEM,WAAW,EAAG;EACrD,IAAAC,mBAAU,EAAG,4CAA2C,EAAE;IACzDC,KAAK,EAAE,KAAK;IACZC,WAAW,EAAG;EACf,CAAE,CAAC;EAEH,OAAO,CAAC,CAAEZ,uBAAuB,CAAEG,KAAK,EAAEM,WAAY,CAAC;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,kCAAkCA,CAAEV,KAAK,EAAG;EAC3D,OAAOA,KAAK,CAACW,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAG,IAAAd,4BAAsB,EACxDC,MAAM,IAAM,MAAMA,MAAM,CAAEc,eAAc,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE,OAAQ,CACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAV,OAAA,CAAAQ,qBAAA,GAAAA,qBAAA;AAOO,MAAMG,iBAAiB,GAAG,IAAAjB,4BAAsB,EAAIC,MAAM,IAAM,MAAM;EAC5E,MAAMiB,KAAK,GAAGC,iBAAQ,CAACC,EAAE,KAAK,KAAK;EACnC,OAAOF,KAAK,GACTjB,MAAM,CAAEc,eAAc,CAAC,CAACM,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE;IAClEC,QAAQ,EAAE,CAAC;EACX,CAAE,CAAC,GACH,EAAE;AACN,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAhB,OAAA,CAAAW,iBAAA,GAAAA,iBAAA;AAQO,MAAMM,WAAW,GAAG,IAAAC,eAAc,EACxC,CAAEtB,KAAK,EAAEuB,iBAAiB,KAAM;EAC/B,MAAMC,QAAQ,GAAG;IAChB,GAAGxB,KAAK,CAACwB,QAAQ;IACjBC,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE,CAAC,CAAE7B,uBAAuB,CAAEG,KAAK,EAAE,WAAY,CAAC;IAC3D2B,iBAAiB,EAAE,CAAC,CAAE9B,uBAAuB,CAC5CG,KAAK,EACL,iBACD,CAAC;IACD4B,eAAe,EAAE,CAAC,CAAE/B,uBAAuB,CAC1CG,KAAK,EACL,cACD,CAAC;IACD6B,oBAAoB,EAAE,CAAC,CAAEhC,uBAAuB,CAC/CG,KAAK,EACL,sBACD,CAAC;IACD8B,cAAc,EAAE,CAAC,CAAEjC,uBAAuB,CACzCG,KAAK,EACL,gBACD,CAAC;IACD+B,iCAAiC,EAAER,iBAAiB;IACpDS,4BAA4B,EAAEjB,iBAAiB,CAAEf,KAAM,CAAC;IACxDiC,kCAAkC,EACjCC,6BAAkB,KAAKC,iBAAiB,CAAEnC,KAAM;EAClD,CAAC;EAED,MAAMoC,kBAAkB,GAAGxB,qBAAqB,CAAEZ,KAAM,CAAC;EACzD,IAAK,CAAEoC,kBAAkB,EAAG;IAC3B,OAAOZ,QAAQ;EAChB;EAEAA,QAAQ,CAACa,WAAW,GAAG,CAAE;IAAEC,OAAO;IAAE,GAAGC;EAAK,CAAC,KAAM;IAClD,IAAAC,uBAAW,EAAE;MACZC,kBAAkB,EAAEzC,KAAK,CAACwB,QAAQ,CAACkB,gBAAgB;MACnDJ,OAAO,EAAEA,CAAE;QAAEK;MAAQ,CAAC,KAAML,OAAO,CAAEK,OAAQ,CAAC;MAC9C,GAAGJ;IACJ,CAAE,CAAC;EACJ,CAAC;EACD,OAAOf,QAAQ;AAChB,CAAC,EACCxB,KAAK,IAAM,CACZY,qBAAqB,CAAEZ,KAAM,CAAC,EAC9BA,KAAK,CAACwB,QAAQ,EACd3B,uBAAuB,CAAEG,KAAK,EAAE,WAAY,CAAC,EAC7CH,uBAAuB,CAAEG,KAAK,EAAE,iBAAkB,CAAC,EACnDH,uBAAuB,CAAEG,KAAK,EAAE,cAAe,CAAC,EAChDH,uBAAuB,CAAEG,KAAK,EAAE,sBAAuB,CAAC,EACxDH,uBAAuB,CAAEG,KAAK,EAAE,gBAAiB,CAAC,EAClDe,iBAAiB,CAAEf,KAAM,CAAC,EAC1BmC,iBAAiB,CAAEnC,KAAM,CAAC,CAE5B,CAAC;;AAED;AACA;AACA;AAFAI,OAAA,CAAAiB,WAAA,GAAAA,WAAA;AAGO,SAASuB,iBAAiBA,CAAA,EAAG;EACnC,IAAArC,mBAAU,EAAE,8CAA8C,EAAE;IAC3DC,KAAK,EAAE,KAAK;IACZqC,OAAO,EAAE;EACV,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASV,iBAAiBA,CAAEnC,KAAK,EAAG;EAC1C,OAAOA,KAAK,CAAC8C,UAAU,CAACC,QAAQ;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAAEhD,KAAK,EAAG;EACxC,OAAOA,KAAK,CAAC8C,UAAU,CAACG,EAAE;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAElD,KAAK,EAAG;EAC7C,OAAOA,KAAK,CAAC8C,UAAU,CAACK,OAAO;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAAEpD,KAAK,EAAG;EAChC,OAAO;IAAEmD,OAAO,EAAEnD,KAAK,CAAC8C,UAAU,CAACK;EAAQ,CAAC;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAAErD,KAAK,EAAG;EACzC,OAAO,CAAC,CAAEA,KAAK,CAACsD,kBAAkB;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,+BAA+B,GAAG,IAAAzD,4BAAsB,EAClEC,MAAM,IAAQC,KAAK,IAAM;EAC1B,IAAK,OAAOA,KAAK,CAACsD,kBAAkB,KAAK,QAAQ,EAAG;IACnD,MAAM;MAAEE,YAAY;MAAEC,cAAc;MAAEC;IAAY,CAAC,GAClD1D,KAAK,CAACsD,kBAAkB;IACzB,OAAO;MAAEE,YAAY;MAAEC,cAAc;MAAEC;IAAY,CAAC;EACrD;EAEA,IAAKC,mBAAmB,CAAE3D,KAAM,CAAC,EAAG;IACnC,MAAM,CAAE4D,mBAAmB,CAAE,GAC5B7D,MAAM,CAAE8D,kBAAiB,CAAC,CAACC,mCAAmC,CAC7D,mBACD,CAAC;IACF,IAAKF,mBAAmB,EAAG;MAC1B,OAAO;QACNJ,YAAY,EAAEI,mBAAmB;QACjCH,cAAc,EAAEM,SAAS;QACzBL,WAAW,EAAEK;MACd,CAAC;IACF;EACD;EAEA,OAAO;IACNP,YAAY,EAAEO,SAAS;IACvBN,cAAc,EAAEM,SAAS;IACzBL,WAAW,EAAEK;EACd,CAAC;AACF,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANA3D,OAAA,CAAAmD,+BAAA,GAAAA,+BAAA;AAOO,SAASS,gBAAgBA,CAAEhE,KAAK,EAAG;EACzC,OAAOA,KAAK,CAACiE,aAAa;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAElE,KAAK,EAAG;EACzC,OAAOA,KAAK,CAACmE,aAAa;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,+BAA+B,GAAG,IAAAtE,4BAAsB,EAClEC,MAAM,IAAQC,KAAK,IAAM;EAC1B,MAAMqE,YAAY,GAAGlC,iBAAiB,CAAEnC,KAAM,CAAC;EAC/C,MAAMsE,UAAU,GAAGtB,eAAe,CAAEhD,KAAM,CAAC;EAC3C,MAAMuE,QAAQ,GAAGxE,MAAM,CAAEc,eAAc,CAAC,CAAC2D,qBAAqB,CAC7D,UAAU,EACVH,YAAY,EACZC,UACD,CAAC;EAED,MAAMG,aAAa,GAAG1E,MAAM,CAAEc,eAAc,CAAC,CAACM,gBAAgB,CAC7D,UAAU,EACVuD,kCAAuB,EACvB;IAAEtD,QAAQ,EAAE,CAAC;EAAE,CAChB,CAAC;EAED,OAAO,IAAAuD,oCAA6B,EAAEJ,QAAQ,CAACK,MAAM,EAAEH,aAAc,CAAC;AACvE,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANArE,OAAA,CAAAgE,+BAAA,GAAAA,+BAAA;AAOO,SAASS,aAAaA,CAAE7E,KAAK,EAAG;EACtC,OAAOH,uBAAuB,CAAEG,KAAK,EAAE,YAAa,CAAC;AACtD;;AAEA;AACA;AACA;AACO,SAAS8E,wCAAwCA,CAAA,EAAG;EAC1D,IAAAvE,mBAAU,EACT,uEAAuE,EACvE;IACCC,KAAK,EAAE,KAAK;IACZqC,OAAO,EAAE;EACV,CACD,CAAC;AACF;;AAEA;AACA;AACA;AACO,SAASkC,4BAA4BA,CAAA,EAAG;EAC9C,IAAAxE,mBAAU,EAAE,2DAA2D,EAAE;IACxEC,KAAK,EAAE,KAAK;IACZqC,OAAO,EAAE;EACV,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACO,SAASmC,kBAAkBA,CAAA,EAAG;EACpC,IAAAzE,mBAAU,EAAE,iDAAiD,EAAE;IAC9DC,KAAK,EAAE,KAAK;IACZqC,OAAO,EAAE;EACV,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASoC,MAAMA,CAAEjF,KAAK,EAAG;EAC/B,OAAO,CAAC,CAAEA,KAAK,CAAC8C,UAAU,CAACK,OAAO,EAAE+B,MAAM;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASvB,mBAAmBA,CAAE3D,KAAK,EAAG;EAC5C,OAAOiF,MAAM,CAAEjF,KAAM,CAAC,GAAGA,KAAK,CAAC2D,mBAAmB,GAAG,KAAK;AAC3D"}
1
+ {"version":3,"names":["_rememo","_interopRequireDefault","require","_coreData","_data","_deprecated","_mediaUtils","_element","_preferences","_blockEditor","_utils","_constants","__unstableGetPreference","createRegistrySelector","select","state","name","preferencesStore","get","exports","isFeatureActive","featureName","deprecated","since","alternative","__experimentalGetPreviewDeviceType","deviceType","getCanUserCreateMedia","coreDataStore","canUser","getReusableBlocks","isWeb","Platform","OS","getEntityRecords","per_page","getSettings","createSelector","setIsInserterOpen","settings","outlineMode","focusMode","isDistractionFree","hasFixedToolbar","keepCaretInsideBlock","showIconLabels","__experimentalSetIsInserterOpened","__experimentalReusableBlocks","__experimentalPreferPatternsOnRoot","TEMPLATE_POST_TYPE","getEditedPostType","canUserCreateMedia","mediaUpload","onError","rest","uploadMedia","wpAllowedMimeTypes","allowedMimeTypes","message","getHomeTemplateId","version","editedPost","postType","getEditedPostId","id","getEditedPostContext","context","getPage","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","filterValue","hasPageContentFocus","postContentClientId","blockEditorStore","__experimentalGetGlobalBlocksByName","undefined","isListViewOpened","listViewPanel","isSaveViewOpened","saveViewPanel","getCurrentTemplateTemplateParts","templateParts","TEMPLATE_PART_POST_TYPE","clientIds","blocks","getBlocksByClientId","getFilteredTemplatePartBlocks","getEditorMode","getCurrentTemplateNavigationPanelSubMenu","getNavigationPanelActiveMenu","isNavigationOpened","isPage","postId"],"sources":["@wordpress/edit-site/src/store/selectors.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { Platform } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { getFilteredTemplatePartBlocks } from './utils';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../utils/constants';\n/**\n * @typedef {'template'|'template_type'} TemplateType Template type.\n */\n\n/**\n * Helper for getting a preference from the preferences store.\n *\n * This is only present so that `getSettings` doesn't need to be made a\n * registry selector.\n *\n * It's unstable because the selector needs to be exported and so part of the\n * public API to work.\n */\nexport const __unstableGetPreference = createRegistrySelector(\n\t( select ) => ( state, name ) =>\n\t\tselect( preferencesStore ).get( 'core/edit-site', name )\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @deprecated\n * @param {Object} state Global application state.\n * @param {string} featureName Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, featureName ) {\n\tdeprecated( `select( 'core/edit-site' ).isFeatureActive`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\treturn !! __unstableGetPreference( state, featureName );\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport function __experimentalGetPreviewDeviceType( state ) {\n\treturn state.deviceType;\n}\n\n/**\n * Returns whether the current user can create media or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Whether the current user can create media or not.\n */\nexport const getCanUserCreateMedia = createRegistrySelector(\n\t( select ) => () => select( coreDataStore ).canUser( 'create', 'media' )\n);\n\n/**\n * Returns any available Reusable blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} The available reusable blocks.\n */\nexport const getReusableBlocks = createRegistrySelector( ( select ) => () => {\n\tconst isWeb = Platform.OS === 'web';\n\treturn isWeb\n\t\t? select( coreDataStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\tper_page: -1,\n\t\t } )\n\t\t: [];\n} );\n\n/**\n * Returns the settings, taking into account active features and permissions.\n *\n * @param {Object} state Global application state.\n * @param {Function} setIsInserterOpen Setter for the open state of the global inserter.\n *\n * @return {Object} Settings.\n */\nexport const getSettings = createSelector(\n\t( state, setIsInserterOpen ) => {\n\t\tconst settings = {\n\t\t\t...state.settings,\n\t\t\toutlineMode: true,\n\t\t\tfocusMode: !! __unstableGetPreference( state, 'focusMode' ),\n\t\t\tisDistractionFree: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasFixedToolbar: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tshowIconLabels: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpen,\n\t\t\t__experimentalReusableBlocks: getReusableBlocks( state ),\n\t\t\t__experimentalPreferPatternsOnRoot:\n\t\t\t\tTEMPLATE_POST_TYPE === getEditedPostType( state ),\n\t\t};\n\n\t\tconst canUserCreateMedia = getCanUserCreateMedia( state );\n\t\tif ( ! canUserCreateMedia ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tsettings.mediaUpload = ( { onError, ...rest } ) => {\n\t\t\tuploadMedia( {\n\t\t\t\twpAllowedMimeTypes: state.settings.allowedMimeTypes,\n\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t...rest,\n\t\t\t} );\n\t\t};\n\t\treturn settings;\n\t},\n\t( state ) => [\n\t\tgetCanUserCreateMedia( state ),\n\t\tstate.settings,\n\t\t__unstableGetPreference( state, 'focusMode' ),\n\t\t__unstableGetPreference( state, 'distractionFree' ),\n\t\t__unstableGetPreference( state, 'fixedToolbar' ),\n\t\t__unstableGetPreference( state, 'keepCaretInsideBlock' ),\n\t\t__unstableGetPreference( state, 'showIconLabels' ),\n\t\tgetReusableBlocks( state ),\n\t\tgetEditedPostType( state ),\n\t]\n);\n\n/**\n * @deprecated\n */\nexport function getHomeTemplateId() {\n\tdeprecated( \"select( 'core/edit-site' ).getHomeTemplateId\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * Returns the current edited post type (wp_template or wp_template_part).\n *\n * @param {Object} state Global application state.\n *\n * @return {TemplateType?} Template type.\n */\nexport function getEditedPostType( state ) {\n\treturn state.editedPost.postType;\n}\n\n/**\n * Returns the ID of the currently edited template or template part.\n *\n * @param {Object} state Global application state.\n *\n * @return {string?} Post ID.\n */\nexport function getEditedPostId( state ) {\n\treturn state.editedPost.id;\n}\n\n/**\n * Returns the edited post's context object.\n *\n * @deprecated\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getEditedPostContext( state ) {\n\treturn state.editedPost.context;\n}\n\n/**\n * Returns the current page object.\n *\n * @deprecated\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getPage( state ) {\n\treturn { context: state.editedPost.context };\n}\n\n/**\n * Returns the current opened/closed state of the inserter panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the inserter panel should be open; false if closed.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport const __experimentalGetInsertionPoint = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tif ( typeof state.blockInserterPanel === 'object' ) {\n\t\t\tconst { rootClientId, insertionIndex, filterValue } =\n\t\t\t\tstate.blockInserterPanel;\n\t\t\treturn { rootClientId, insertionIndex, filterValue };\n\t\t}\n\n\t\tif ( hasPageContentFocus( state ) ) {\n\t\t\tconst [ postContentClientId ] =\n\t\t\t\tselect( blockEditorStore ).__experimentalGetGlobalBlocksByName(\n\t\t\t\t\t'core/post-content'\n\t\t\t\t);\n\t\t\tif ( postContentClientId ) {\n\t\t\t\treturn {\n\t\t\t\t\trootClientId: postContentClientId,\n\t\t\t\t\tinsertionIndex: undefined,\n\t\t\t\t\tfilterValue: undefined,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\trootClientId: undefined,\n\t\t\tinsertionIndex: undefined,\n\t\t\tfilterValue: undefined,\n\t\t};\n\t}\n);\n\n/**\n * Returns the current opened/closed state of the list view panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the list view panel should be open; false if closed.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n\n/**\n * Returns the current opened/closed state of the save panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the save panel should be open; false if closed.\n */\nexport function isSaveViewOpened( state ) {\n\treturn state.saveViewPanel;\n}\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst templateParts = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 }\n\t\t);\n\n\t\tconst clientIds =\n\t\t\tselect( blockEditorStore ).__experimentalGetGlobalBlocksByName(\n\t\t\t\t'core/template-part'\n\t\t\t);\n\t\tconst blocks =\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds );\n\n\t\treturn getFilteredTemplatePartBlocks( blocks, templateParts );\n\t}\n);\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn __unstableGetPreference( state, 'editorMode' );\n}\n\n/**\n * @deprecated\n */\nexport function getCurrentTemplateNavigationPanelSubMenu() {\n\tdeprecated(\n\t\t\"dispatch( 'core/edit-site' ).getCurrentTemplateNavigationPanelSubMenu\",\n\t\t{\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t}\n\t);\n}\n\n/**\n * @deprecated\n */\nexport function getNavigationPanelActiveMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).getNavigationPanelActiveMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * @deprecated\n */\nexport function isNavigationOpened() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).isNavigationOpened\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * Whether or not the editor has a page loaded into it.\n *\n * @see setPage\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether or not the editor has a page loaded into it.\n */\nexport function isPage( state ) {\n\treturn !! state.editedPost.context?.postId;\n}\n\n/**\n * Whether or not the editor allows only page content to be edited.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether or not focus is on editing page content.\n */\nexport function hasPageContentFocus( state ) {\n\treturn isPage( state ) ? state.hasPageContentFocus : false;\n}\n"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { external, trash } from '@wordpress/icons';
5
+ import { addQueryArgs } from '@wordpress/url';
6
+ import { useDispatch } from '@wordpress/data';
7
+ import { decodeEntities } from '@wordpress/html-entities';
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ import { __, sprintf } from '@wordpress/i18n';
10
+ import { store as noticesStore } from '@wordpress/notices';
11
+ import { useMemo } from '@wordpress/element';
12
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import { unlock } from '../../lock-unlock';
17
+ const {
18
+ useHistory
19
+ } = unlock(routerPrivateApis);
20
+ export function useTrashPostAction() {
21
+ const {
22
+ createSuccessNotice,
23
+ createErrorNotice
24
+ } = useDispatch(noticesStore);
25
+ const {
26
+ deleteEntityRecord
27
+ } = useDispatch(coreStore);
28
+ return useMemo(() => ({
29
+ id: 'move-to-trash',
30
+ label: __('Move to Trash'),
31
+ isPrimary: true,
32
+ icon: trash,
33
+ isEligible({
34
+ status
35
+ }) {
36
+ return status !== 'trash';
37
+ },
38
+ async perform(post) {
39
+ try {
40
+ await deleteEntityRecord('postType', post.type, post.id, {}, {
41
+ throwOnError: true
42
+ });
43
+ createSuccessNotice(sprintf( /* translators: The page's title. */
44
+ __('"%s" moved to the Trash.'), decodeEntities(post.title.rendered)), {
45
+ type: 'snackbar',
46
+ id: 'edit-site-page-trashed'
47
+ });
48
+ } catch (error) {
49
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while moving the page to the trash.');
50
+ createErrorNotice(errorMessage, {
51
+ type: 'snackbar'
52
+ });
53
+ }
54
+ }
55
+ }), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
56
+ }
57
+ export const viewPostAction = {
58
+ id: 'view-post',
59
+ label: __('View'),
60
+ isPrimary: true,
61
+ icon: external,
62
+ isEligible(post) {
63
+ return post.status !== 'trash';
64
+ },
65
+ perform(post) {
66
+ document.location.href = post.link;
67
+ }
68
+ };
69
+ export function useEditPostAction() {
70
+ const history = useHistory();
71
+ return useMemo(() => ({
72
+ id: 'edit-post',
73
+ label: __('Edit'),
74
+ isEligible({
75
+ status
76
+ }) {
77
+ return status !== 'trash';
78
+ },
79
+ perform(post) {
80
+ history.push({
81
+ postId: post.id,
82
+ postType: post.type,
83
+ canvas: 'edit'
84
+ });
85
+ }
86
+ }), [history]);
87
+ }
88
+ export const postRevisionsAction = {
89
+ id: 'view-post-revisions',
90
+ label: __('View revisions'),
91
+ isPrimary: false,
92
+ isEligible: post => {
93
+ var _post$_links$predeces, _post$_links$version;
94
+ if (post.status === 'trash') {
95
+ return false;
96
+ }
97
+ const lastRevisionId = (_post$_links$predeces = post?._links?.['predecessor-version']?.[0]?.id) !== null && _post$_links$predeces !== void 0 ? _post$_links$predeces : null;
98
+ const revisionsCount = (_post$_links$version = post?._links?.['version-history']?.[0]?.count) !== null && _post$_links$version !== void 0 ? _post$_links$version : 0;
99
+ return lastRevisionId && revisionsCount > 1;
100
+ },
101
+ perform(post) {
102
+ const href = addQueryArgs('revision.php', {
103
+ revision: post?._links?.['predecessor-version']?.[0]?.id
104
+ });
105
+ document.location.href = href;
106
+ }
107
+ };
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["external","trash","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","unlock","useHistory","useTrashPostAction","createSuccessNotice","createErrorNotice","deleteEntityRecord","id","label","isPrimary","icon","isEligible","status","perform","post","type","throwOnError","title","rendered","error","errorMessage","message","code","viewPostAction","document","location","href","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","revision"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useTrashPostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'move-to-trash',\n\t\t\tlabel: __( 'Move to Trash' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tasync perform( post ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while moving the page to the trash.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tperform( post ) {\n\t\tdocument.location.href = post.link;\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tperform( post ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tperform( post ) {\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
@@ -4,30 +4,35 @@ import { createElement, Fragment } from "react";
4
4
  */
5
5
  import { useState, useMemo, useEffect } from '@wordpress/element';
6
6
  import { __ } from '@wordpress/i18n';
7
- import { Button, Flex, FlexItem, SearchControl, TextHighlight, __experimentalText as Text, __experimentalVStack as VStack, __unstableComposite as Composite, __unstableUseCompositeState as useCompositeState, __unstableCompositeItem as CompositeItem } from '@wordpress/components';
7
+ import { Button, Flex, FlexItem, SearchControl, TextHighlight, privateApis as componentsPrivateApis, __experimentalText as Text, __experimentalVStack as VStack } from '@wordpress/components';
8
8
  import { useEntityRecords } from '@wordpress/core-data';
9
9
  import { decodeEntities } from '@wordpress/html-entities';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
+ import { unlock } from '../../lock-unlock';
14
15
  import useDebouncedInput from '../../utils/use-debounced-input';
15
16
  import { mapToIHasNameAndId } from './utils';
17
+ const {
18
+ CompositeV2: Composite,
19
+ CompositeItemV2: CompositeItem,
20
+ useCompositeStoreV2: useCompositeStore
21
+ } = unlock(componentsPrivateApis);
16
22
  const EMPTY_ARRAY = [];
17
23
  function SuggestionListItem({
18
24
  suggestion,
19
25
  search,
20
26
  onSelect,
21
- entityForSuggestions,
22
- composite
27
+ entityForSuggestions
23
28
  }) {
24
29
  const baseCssClass = 'edit-site-custom-template-modal__suggestions_list__list-item';
25
30
  return createElement(CompositeItem, {
26
- role: "option",
27
- as: Button,
28
- ...composite,
29
- className: baseCssClass,
30
- onClick: () => onSelect(entityForSuggestions.config.getSpecificTemplate(suggestion))
31
+ render: createElement(Button, {
32
+ role: "option",
33
+ className: baseCssClass,
34
+ onClick: () => onSelect(entityForSuggestions.config.getSpecificTemplate(suggestion))
35
+ })
31
36
  }, createElement(Text, {
32
37
  size: "body",
33
38
  lineHeight: 1.53846153846 // 20px
@@ -79,7 +84,7 @@ function SuggestionList({
79
84
  entityForSuggestions,
80
85
  onSelect
81
86
  }) {
82
- const composite = useCompositeState({
87
+ const composite = useCompositeStore({
83
88
  orientation: 'vertical'
84
89
  });
85
90
  const [search, setSearch, debouncedSearch] = useDebouncedInput();
@@ -98,7 +103,7 @@ function SuggestionList({
98
103
  label: labels.search_items,
99
104
  placeholder: labels.search_items
100
105
  }), !!suggestions?.length && createElement(Composite, {
101
- ...composite,
106
+ store: composite,
102
107
  role: "listbox",
103
108
  className: "edit-site-custom-template-modal__suggestions_list",
104
109
  "aria-label": __('Suggestions list')
@@ -107,8 +112,7 @@ function SuggestionList({
107
112
  suggestion: suggestion,
108
113
  search: debouncedSearch,
109
114
  onSelect: onSelect,
110
- entityForSuggestions: entityForSuggestions,
111
- composite: composite
115
+ entityForSuggestions: entityForSuggestions
112
116
  }))), debouncedSearch && !suggestions?.length && createElement(Text, {
113
117
  as: "p",
114
118
  className: "edit-site-custom-template-modal__no-results"
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","__experimentalText","Text","__experimentalVStack","VStack","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useEntityRecords","decodeEntities","useDebouncedInput","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","createElement","role","as","className","onClick","config","getSpecificTemplate","size","lineHeight","weight","text","name","highlight","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","Fragment","__nextHasNoMarginBottom","onChange","value","label","search_items","placeholder","map","key","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","spacing","alignment","gap","align","isBlock","title","description","templatePrefix","template","all_items","singular_name"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","privateApis","componentsPrivateApis","__experimentalText","Text","__experimentalVStack","VStack","useEntityRecords","decodeEntities","unlock","useDebouncedInput","mapToIHasNameAndId","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","baseCssClass","createElement","render","role","className","onClick","config","getSpecificTemplate","size","lineHeight","weight","text","name","highlight","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","composite","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","Fragment","__nextHasNoMarginBottom","onChange","value","label","search_items","placeholder","store","map","key","as","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","spacing","alignment","gap","align","isBlock","title","description","templatePrefix","template","all_items","singular_name"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { mapToIHasNameAndId } from './utils';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName={ baseCssClass }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\t\t\tsuggestion\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeStore( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\tstore={ composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\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</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],"mappings":"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"}
@@ -26,7 +26,8 @@ export default function ResizeHandle({
26
26
  className: `resizable-editor__drag-handle is-${direction} is-variation-${variation}`,
27
27
  "aria-label": __('Drag to resize'),
28
28
  "aria-describedby": `resizable-editor__resize-help-${direction}`,
29
- onKeyDown: handleKeyDown
29
+ onKeyDown: handleKeyDown,
30
+ type: "button"
30
31
  }), createElement(VisuallyHidden, {
31
32
  id: `resizable-editor__resize-help-${direction}`
32
33
  }, __('Use left and right arrow keys to resize the canvas.')));
@@ -1 +1 @@
1
- {"version":3,"names":["__","LEFT","RIGHT","VisuallyHidden","DELTA_DISTANCE","ResizeHandle","variation","direction","resizeWidthBy","handleKeyDown","event","keyCode","createElement","Fragment","className","onKeyDown","id"],"sources":["@wordpress/edit-site/src/components/block-editor/resize-handle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { LEFT, RIGHT } from '@wordpress/keycodes';\nimport { VisuallyHidden } from '@wordpress/components';\n\nconst DELTA_DISTANCE = 20; // The distance to resize per keydown in pixels.\n\nexport default function ResizeHandle( {\n\tvariation = 'default',\n\tdirection,\n\tresizeWidthBy,\n} ) {\n\tfunction handleKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\t( direction === 'left' && keyCode === LEFT ) ||\n\t\t\t( direction === 'right' && keyCode === RIGHT )\n\t\t) {\n\t\t\tresizeWidthBy( DELTA_DISTANCE );\n\t\t} else if (\n\t\t\t( direction === 'left' && keyCode === RIGHT ) ||\n\t\t\t( direction === 'right' && keyCode === LEFT )\n\t\t) {\n\t\t\tresizeWidthBy( -DELTA_DISTANCE );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<button\n\t\t\t\tclassName={ `resizable-editor__drag-handle is-${ direction } is-variation-${ variation }` }\n\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\taria-describedby={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t\tonKeyDown={ handleKeyDown }\n\t\t\t/>\n\t\t\t<VisuallyHidden\n\t\t\t\tid={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t>\n\t\t\t\t{ __( 'Use left and right arrow keys to resize the canvas.' ) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,KAAK,QAAQ,qBAAqB;AACjD,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,MAAMC,cAAc,GAAG,EAAE,CAAC,CAAC;;AAE3B,eAAe,SAASC,YAAYA,CAAE;EACrCC,SAAS,GAAG,SAAS;EACrBC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IAEzB,IACGH,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKV,IAAI,IACxCM,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKT,KAAO,EAC7C;MACDM,aAAa,CAAEJ,cAAe,CAAC;IAChC,CAAC,MAAM,IACJG,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKT,KAAK,IACzCK,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKV,IAAM,EAC5C;MACDO,aAAa,CAAE,CAACJ,cAAe,CAAC;IACjC;EACD;EAEA,OACCQ,aAAA,CAAAC,QAAA,QACCD,aAAA;IACCE,SAAS,EAAI,oCAAoCP,SAAW,iBAAiBD,SAAW,EAAG;IAC3F,cAAaN,EAAE,CAAE,gBAAiB,CAAG;IACrC,oBAAoB,iCAAiCO,SAAW,EAAG;IACnEQ,SAAS,EAAGN;EAAe,CAC3B,CAAC,EACFG,aAAA,CAACT,cAAc;IACda,EAAE,EAAI,iCAAiCT,SAAW;EAAG,GAEnDP,EAAE,CAAE,qDAAsD,CAC7C,CACf,CAAC;AAEL"}
1
+ {"version":3,"names":["__","LEFT","RIGHT","VisuallyHidden","DELTA_DISTANCE","ResizeHandle","variation","direction","resizeWidthBy","handleKeyDown","event","keyCode","createElement","Fragment","className","onKeyDown","type","id"],"sources":["@wordpress/edit-site/src/components/block-editor/resize-handle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { LEFT, RIGHT } from '@wordpress/keycodes';\nimport { VisuallyHidden } from '@wordpress/components';\n\nconst DELTA_DISTANCE = 20; // The distance to resize per keydown in pixels.\n\nexport default function ResizeHandle( {\n\tvariation = 'default',\n\tdirection,\n\tresizeWidthBy,\n} ) {\n\tfunction handleKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\t( direction === 'left' && keyCode === LEFT ) ||\n\t\t\t( direction === 'right' && keyCode === RIGHT )\n\t\t) {\n\t\t\tresizeWidthBy( DELTA_DISTANCE );\n\t\t} else if (\n\t\t\t( direction === 'left' && keyCode === RIGHT ) ||\n\t\t\t( direction === 'right' && keyCode === LEFT )\n\t\t) {\n\t\t\tresizeWidthBy( -DELTA_DISTANCE );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<button\n\t\t\t\tclassName={ `resizable-editor__drag-handle is-${ direction } is-variation-${ variation }` }\n\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\taria-describedby={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t\tonKeyDown={ handleKeyDown }\n\t\t\t\ttype=\"button\"\n\t\t\t/>\n\t\t\t<VisuallyHidden\n\t\t\t\tid={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t>\n\t\t\t\t{ __( 'Use left and right arrow keys to resize the canvas.' ) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,KAAK,QAAQ,qBAAqB;AACjD,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,MAAMC,cAAc,GAAG,EAAE,CAAC,CAAC;;AAE3B,eAAe,SAASC,YAAYA,CAAE;EACrCC,SAAS,GAAG,SAAS;EACrBC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IAEzB,IACGH,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKV,IAAI,IACxCM,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKT,KAAO,EAC7C;MACDM,aAAa,CAAEJ,cAAe,CAAC;IAChC,CAAC,MAAM,IACJG,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKT,KAAK,IACzCK,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKV,IAAM,EAC5C;MACDO,aAAa,CAAE,CAACJ,cAAe,CAAC;IACjC;EACD;EAEA,OACCQ,aAAA,CAAAC,QAAA,QACCD,aAAA;IACCE,SAAS,EAAI,oCAAoCP,SAAW,iBAAiBD,SAAW,EAAG;IAC3F,cAAaN,EAAE,CAAE,gBAAiB,CAAG;IACrC,oBAAoB,iCAAiCO,SAAW,EAAG;IACnEQ,SAAS,EAAGN,aAAe;IAC3BO,IAAI,EAAC;EAAQ,CACb,CAAC,EACFJ,aAAA,CAACT,cAAc;IACdc,EAAE,EAAI,iCAAiCV,SAAW;EAAG,GAEnDP,EAAE,CAAE,qDAAsD,CAC7C,CACf,CAAC;AAEL"}
@@ -84,8 +84,13 @@ export default function useSiteEditorSettings() {
84
84
  const {
85
85
  storedSettings,
86
86
  canvasMode,
87
- templateType
87
+ templateType,
88
+ siteSettings
88
89
  } = useSelect(select => {
90
+ const {
91
+ canUser,
92
+ getEntityRecord
93
+ } = select(coreStore);
89
94
  const {
90
95
  getSettings,
91
96
  getCanvasMode,
@@ -94,7 +99,8 @@ export default function useSiteEditorSettings() {
94
99
  return {
95
100
  storedSettings: getSettings(setIsInserterOpened),
96
101
  canvasMode: getCanvasMode(),
97
- templateType: getEditedPostType()
102
+ templateType: getEditedPostType(),
103
+ siteSettings: canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined
98
104
  };
99
105
  }, [setIsInserterOpened]);
100
106
  const settingsBlockPatterns = (_storedSettings$__exp = storedSettings.__experimentalAdditionalBlockPatterns) !== null && _storedSettings$__exp !== void 0 ? _storedSettings$__exp :
@@ -150,8 +156,10 @@ export default function useSiteEditorSettings() {
150
156
  __experimentalUserPatternCategories: userPatternCategories,
151
157
  focusMode: canvasMode === 'view' && focusMode ? false : focusMode,
152
158
  __experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
153
- __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel
159
+ __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
160
+ pageOnFront: siteSettings?.page_on_front,
161
+ pageForPosts: siteSettings?.page_for_posts
154
162
  };
155
- }, [storedSettings, blockPatterns, blockPatternCategories, userPatternCategories, canvasMode, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel]);
163
+ }, [storedSettings, blockPatterns, blockPatternCategories, userPatternCategories, canvasMode, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel, siteSettings?.page_on_front, siteSettings?.page_for_posts]);
156
164
  }
157
165
  //# sourceMappingURL=use-site-editor-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","useMemo","store","coreStore","editSiteStore","unlock","inserterMediaCategories","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useSiteEditorSettings","_storedSettings$__exp","_storedSettings$__exp2","setIsInserterOpened","storedSettings","canvasMode","templateType","getSettings","getCanvasMode","getEditedPostType","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","userPatternCategories","getEditedPostId","getEditedEntityRecord","getUserPatternCategories","usedPostType","usedPostId","_record","getBlockPatterns","getBlockPatternCategories","archiveLabels","blockPatterns","filter","x","index","arr","findIndex","y","postTypes","Array","isArray","includes","blockPatternCategories","focusMode","restStoredSettings","__experimentalUserPatternCategories","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport inserterMediaCategories from './inserter-media-categories';\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nexport default function useSiteEditorSettings() {\n\tconst { setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { storedSettings, canvasMode, templateType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getCanvasMode, getEditedPostType } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tstoredSettings: getSettings( setIsInserterOpened ),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpened ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst {\n\t\trestBlockPatterns,\n\t\trestBlockPatternCategories,\n\t\ttemplateSlug,\n\t\tuserPatternCategories,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEditedEntityRecord, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\tusedPostType,\n\t\t\tusedPostId\n\t\t);\n\t\treturn {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t\ttemplateSlug: _record.slug,\n\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t};\n\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\treturn useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\tfocusMode,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t};\n\t}, [\n\t\tstoredSettings,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tuserPatternCategories,\n\t\tcanvasMode,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useDispatch","useSelect","useMemo","store","coreStore","editSiteStore","unlock","inserterMediaCategories","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useSiteEditorSettings","_storedSettings$__exp","_storedSettings$__exp2","setIsInserterOpened","storedSettings","canvasMode","templateType","siteSettings","canUser","getEntityRecord","getSettings","getCanvasMode","getEditedPostType","undefined","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","userPatternCategories","getEditedPostId","getEditedEntityRecord","getUserPatternCategories","usedPostType","usedPostId","_record","getBlockPatterns","getBlockPatternCategories","archiveLabels","blockPatterns","filter","x","index","arr","findIndex","y","postTypes","Array","isArray","includes","blockPatternCategories","focusMode","restStoredSettings","__experimentalUserPatternCategories","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","pageOnFront","page_on_front","pageForPosts","page_for_posts"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport inserterMediaCategories from './inserter-media-categories';\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nexport default function useSiteEditorSettings() {\n\tconst { setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { storedSettings, canvasMode, templateType, siteSettings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\t\t\t\tconst { getSettings, getCanvasMode, getEditedPostType } =\n\t\t\t\t\tunlock( select( editSiteStore ) );\n\t\t\t\treturn {\n\t\t\t\t\tstoredSettings: getSettings( setIsInserterOpened ),\n\t\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\t\tsiteSettings: canUser( 'read', 'settings' )\n\t\t\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t\t\t: undefined,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ setIsInserterOpened ]\n\t\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst {\n\t\trestBlockPatterns,\n\t\trestBlockPatternCategories,\n\t\ttemplateSlug,\n\t\tuserPatternCategories,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEditedEntityRecord, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\tusedPostType,\n\t\t\tusedPostId\n\t\t);\n\t\treturn {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t\ttemplateSlug: _record.slug,\n\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t};\n\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\treturn useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\tfocusMode,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t};\n\t}, [\n\t\tstoredSettings,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tuserPatternCategories,\n\t\tcanvasMode,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t\tsiteSettings?.page_on_front,\n\t\tsiteSettings?.page_for_posts,\n\t] );\n}\n"],"mappings":"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"}
@@ -19,10 +19,14 @@ import { serialize } from '@wordpress/blocks';
19
19
  import { TEMPLATE_PART_POST_TYPE, TEMPLATE_PART_AREA_DEFAULT_CATEGORY } from '../../utils/constants';
20
20
  import { useExistingTemplateParts, getUniqueTemplatePartTitle, getCleanTemplatePartSlug } from '../../utils/template-part-create';
21
21
  export default function CreateTemplatePartModal({
22
- closeModal,
22
+ defaultArea = TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
23
23
  blocks = [],
24
+ confirmLabel = __('Create'),
25
+ closeModal,
26
+ modalTitle = __('Create template part'),
24
27
  onCreate,
25
- onError
28
+ onError,
29
+ defaultTitle = ''
26
30
  }) {
27
31
  const {
28
32
  createErrorNotice
@@ -31,8 +35,8 @@ export default function CreateTemplatePartModal({
31
35
  saveEntityRecord
32
36
  } = useDispatch(coreStore);
33
37
  const existingTemplateParts = useExistingTemplateParts();
34
- const [title, setTitle] = useState('');
35
- const [area, setArea] = useState(TEMPLATE_PART_AREA_DEFAULT_CATEGORY);
38
+ const [title, setTitle] = useState(defaultTitle);
39
+ const [area, setArea] = useState(defaultArea);
36
40
  const [isSubmitting, setIsSubmitting] = useState(false);
37
41
  const instanceId = useInstanceId(CreateTemplatePartModal);
38
42
  const templatePartAreas = useSelect(select => select(editorStore).__experimentalGetDefaultTemplatePartAreas(), []);
@@ -66,7 +70,7 @@ export default function CreateTemplatePartModal({
66
70
  }
67
71
  }
68
72
  return createElement(Modal, {
69
- title: __('Create template part'),
73
+ title: modalTitle,
70
74
  onRequestClose: closeModal,
71
75
  overlayClassName: "edit-site-create-template-part-modal"
72
76
  }, createElement("form", {
@@ -124,6 +128,6 @@ export default function CreateTemplatePartModal({
124
128
  type: "submit",
125
129
  "aria-disabled": !title || isSubmitting,
126
130
  isBusy: isSubmitting
127
- }, __('Create'))))));
131
+ }, confirmLabel)))));
128
132
  }
129
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"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_POST_TYPE","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","useExistingTemplateParts","getUniqueTemplatePartTitle","getCleanTemplatePartSlug","CreateTemplatePartModal","closeModal","blocks","onCreate","onError","createErrorNotice","saveEntityRecord","existingTemplateParts","title","setTitle","area","setArea","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","uniqueTitle","cleanSlug","templatePart","slug","content","throwOnError","error","errorMessage","message","code","type","createElement","onRequestClose","overlayClassName","onSubmit","event","preventDefault","spacing","__nextHasNoMarginBottom","label","value","onChange","required","id","className","checked","map","icon","description","key","align","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"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 {\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/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_DEFAULT_CATEGORY );\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 || isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSubmitting( true );\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\tTEMPLATE_PART_POST_TYPE,\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} finally {\n\t\t\tsetIsSubmitting( false );\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\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\taria-disabled={ ! title || isSubmitting }\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"],"mappings":"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"}
1
+ {"version":3,"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_POST_TYPE","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","useExistingTemplateParts","getUniqueTemplatePartTitle","getCleanTemplatePartSlug","CreateTemplatePartModal","defaultArea","blocks","confirmLabel","closeModal","modalTitle","onCreate","onError","defaultTitle","createErrorNotice","saveEntityRecord","existingTemplateParts","title","setTitle","area","setArea","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","uniqueTitle","cleanSlug","templatePart","slug","content","throwOnError","error","errorMessage","message","code","type","createElement","onRequestClose","overlayClassName","onSubmit","event","preventDefault","spacing","__nextHasNoMarginBottom","label","value","onChange","required","id","className","checked","map","icon","description","key","align","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"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 {\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tdefaultArea = TEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n\tblocks = [],\n\tconfirmLabel = __( 'Create' ),\n\tcloseModal,\n\tmodalTitle = __( 'Create template part' ),\n\tonCreate,\n\tonError,\n\tdefaultTitle = '',\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\tconst [ area, setArea ] = useState( defaultArea );\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 || isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSubmitting( true );\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\tTEMPLATE_PART_POST_TYPE,\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} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\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\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\taria-disabled={ ! title || isSubmitting }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ confirmLabel }\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"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { createContext } from '@wordpress/element';
5
+ const DataviewsContext = createContext({});
6
+ export default DataviewsContext;
7
+ //# sourceMappingURL=context.js.map