@wordpress/edit-site 5.28.2 → 5.29.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 (258) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +18 -8
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/block-editor/use-site-editor-settings.js +2 -1
  5. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  6. package/build/components/code-editor/index.js +3 -2
  7. package/build/components/code-editor/index.js.map +1 -1
  8. package/build/components/editor/index.js +4 -4
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/editor-canvas-container/index.js +1 -1
  11. package/build/components/editor-canvas-container/index.js.map +1 -1
  12. package/build/components/global-styles/block-preview-panel.js +2 -2
  13. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  15. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/font-collection.js +84 -7
  17. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  19. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/installed-fonts.js +10 -7
  21. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  22. package/build/components/header-edit-mode/document-tools/index.js +1 -2
  23. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  24. package/build/components/header-edit-mode/index.js +3 -1
  25. package/build/components/header-edit-mode/index.js.map +1 -1
  26. package/build/components/header-edit-mode/more-menu/index.js +7 -4
  27. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  28. package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
  29. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  30. package/build/components/keyboard-shortcuts/register.js +0 -18
  31. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  32. package/build/components/layout/index.js +8 -4
  33. package/build/components/layout/index.js.map +1 -1
  34. package/build/components/layout/router.js +26 -5
  35. package/build/components/layout/router.js.map +1 -1
  36. package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
  37. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  38. package/build/components/page-patterns/header.js +2 -1
  39. package/build/components/page-patterns/header.js.map +1 -1
  40. package/build/components/page-patterns/index.js +0 -1
  41. package/build/components/page-patterns/index.js.map +1 -1
  42. package/build/components/page-patterns/use-patterns.js +10 -5
  43. package/build/components/page-patterns/use-patterns.js.map +1 -1
  44. package/build/components/page-templates-template-parts/index.js +1 -0
  45. package/build/components/page-templates-template-parts/index.js.map +1 -1
  46. package/build/components/save-button/index.js +2 -1
  47. package/build/components/save-button/index.js.map +1 -1
  48. package/build/components/sidebar/index.js +5 -2
  49. package/build/components/sidebar/index.js.map +1 -1
  50. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  51. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  52. package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  53. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  54. package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
  55. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  56. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  57. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  58. package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  59. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  60. package/build/components/sidebar-navigation-screen-pages/index.js +3 -1
  61. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  62. package/build/components/style-book/index.js +2 -0
  63. package/build/components/style-book/index.js.map +1 -1
  64. package/build/hooks/commands/use-edit-mode-commands.js +3 -171
  65. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  66. package/build/hooks/index.js +0 -1
  67. package/build/hooks/index.js.map +1 -1
  68. package/build/hooks/push-changes-to-global-styles/index.js +4 -5
  69. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  70. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +91 -0
  71. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  72. package/build/store/actions.js +19 -50
  73. package/build/store/actions.js.map +1 -1
  74. package/build/store/private-actions.js +3 -1
  75. package/build/store/private-actions.js.map +1 -1
  76. package/build/utils/clone-deep.js +15 -0
  77. package/build/utils/clone-deep.js.map +1 -0
  78. package/build-module/components/add-new-pattern/index.js +18 -8
  79. package/build-module/components/add-new-pattern/index.js.map +1 -1
  80. package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
  81. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  82. package/build-module/components/code-editor/index.js +3 -2
  83. package/build-module/components/code-editor/index.js.map +1 -1
  84. package/build-module/components/editor/index.js +4 -4
  85. package/build-module/components/editor/index.js.map +1 -1
  86. package/build-module/components/editor-canvas-container/index.js +2 -2
  87. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  88. package/build-module/components/global-styles/block-preview-panel.js +2 -2
  89. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  90. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  91. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  92. package/build-module/components/global-styles/font-library-modal/font-collection.js +87 -10
  93. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  94. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  95. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  96. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +11 -8
  97. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  98. package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
  99. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  100. package/build-module/components/header-edit-mode/index.js +3 -1
  101. package/build-module/components/header-edit-mode/index.js.map +1 -1
  102. package/build-module/components/header-edit-mode/more-menu/index.js +6 -3
  103. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  104. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
  105. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  106. package/build-module/components/keyboard-shortcuts/register.js +0 -18
  107. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  108. package/build-module/components/layout/index.js +9 -5
  109. package/build-module/components/layout/index.js.map +1 -1
  110. package/build-module/components/layout/router.js +26 -5
  111. package/build-module/components/layout/router.js.map +1 -1
  112. package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
  113. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  114. package/build-module/components/page-patterns/header.js +2 -1
  115. package/build-module/components/page-patterns/header.js.map +1 -1
  116. package/build-module/components/page-patterns/index.js +0 -1
  117. package/build-module/components/page-patterns/index.js.map +1 -1
  118. package/build-module/components/page-patterns/use-patterns.js +10 -5
  119. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  120. package/build-module/components/page-templates-template-parts/index.js +1 -0
  121. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  122. package/build-module/components/save-button/index.js +2 -1
  123. package/build-module/components/save-button/index.js.map +1 -1
  124. package/build-module/components/sidebar/index.js +5 -2
  125. package/build-module/components/sidebar/index.js.map +1 -1
  126. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  127. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  128. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  129. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  130. package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
  131. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  132. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  133. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  134. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  135. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  136. package/build-module/components/sidebar-navigation-screen-pages/index.js +3 -1
  137. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  138. package/build-module/components/style-book/index.js +2 -0
  139. package/build-module/components/style-book/index.js.map +1 -1
  140. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
  141. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  142. package/build-module/hooks/index.js +0 -1
  143. package/build-module/hooks/index.js.map +1 -1
  144. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  145. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  146. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +82 -0
  147. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  148. package/build-module/store/actions.js +19 -50
  149. package/build-module/store/actions.js.map +1 -1
  150. package/build-module/store/private-actions.js +3 -1
  151. package/build-module/store/private-actions.js.map +1 -1
  152. package/build-module/utils/clone-deep.js +9 -0
  153. package/build-module/utils/clone-deep.js.map +1 -0
  154. package/build-style/style-rtl.css +46 -209
  155. package/build-style/style.css +46 -209
  156. package/package.json +43 -42
  157. package/src/components/add-new-pattern/index.js +27 -11
  158. package/src/components/block-editor/use-site-editor-settings.js +1 -0
  159. package/src/components/code-editor/index.js +3 -2
  160. package/src/components/editor/index.js +11 -7
  161. package/src/components/editor-canvas-container/index.js +2 -5
  162. package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
  163. package/src/components/global-styles/block-preview-panel.js +2 -2
  164. package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  165. package/src/components/global-styles/font-library-modal/font-collection.js +118 -13
  166. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  167. package/src/components/global-styles/font-library-modal/installed-fonts.js +25 -23
  168. package/src/components/global-styles/font-library-modal/style.scss +2 -5
  169. package/src/components/global-styles/screen-revisions/style.scss +2 -2
  170. package/src/components/global-styles/style.scss +1 -1
  171. package/src/components/header-edit-mode/document-tools/index.js +1 -2
  172. package/src/components/header-edit-mode/index.js +1 -1
  173. package/src/components/header-edit-mode/more-menu/index.js +8 -3
  174. package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
  175. package/src/components/keyboard-shortcuts/register.js +0 -19
  176. package/src/components/layout/index.js +47 -32
  177. package/src/components/layout/router.js +31 -2
  178. package/src/components/layout/style.scss +7 -0
  179. package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
  180. package/src/components/page-patterns/header.js +1 -0
  181. package/src/components/page-patterns/index.js +0 -1
  182. package/src/components/page-patterns/style.scss +8 -180
  183. package/src/components/page-patterns/use-patterns.js +13 -5
  184. package/src/components/page-templates-template-parts/index.js +1 -0
  185. package/src/components/page-templates-template-parts/style.scss +6 -0
  186. package/src/components/save-button/index.js +2 -1
  187. package/src/components/save-hub/style.scss +1 -1
  188. package/src/components/sidebar/index.js +8 -3
  189. package/src/components/sidebar-button/style.scss +1 -1
  190. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
  191. package/src/components/sidebar-edit-mode/style.scss +4 -0
  192. package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
  193. package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
  194. package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
  195. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
  196. package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  197. package/src/components/sidebar-navigation-screen-pages/index.js +10 -6
  198. package/src/components/style-book/index.js +5 -1
  199. package/src/hooks/commands/use-edit-mode-commands.js +3 -184
  200. package/src/hooks/index.js +0 -1
  201. package/src/hooks/push-changes-to-global-styles/index.js +1 -4
  202. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +964 -0
  203. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +92 -0
  204. package/src/store/actions.js +21 -85
  205. package/src/store/private-actions.js +4 -0
  206. package/src/store/test/actions.js +0 -75
  207. package/src/style.scss +1 -6
  208. package/src/utils/clone-deep.js +8 -0
  209. package/build/components/global-styles/font-library-modal/fonts-grid.js +0 -57
  210. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  211. package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
  212. package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  213. package/build/components/page-patterns/duplicate-menu-item.js +0 -93
  214. package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
  215. package/build/components/page-patterns/grid-item.js +0 -223
  216. package/build/components/page-patterns/grid-item.js.map +0 -1
  217. package/build/components/page-patterns/grid.js +0 -31
  218. package/build/components/page-patterns/grid.js.map +0 -1
  219. package/build/components/page-patterns/no-patterns.js +0 -18
  220. package/build/components/page-patterns/no-patterns.js.map +0 -1
  221. package/build/components/page-patterns/patterns-list.js +0 -168
  222. package/build/components/page-patterns/patterns-list.js.map +0 -1
  223. package/build/components/page-patterns/rename-menu-item.js +0 -105
  224. package/build/components/page-patterns/rename-menu-item.js.map +0 -1
  225. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
  226. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  227. package/build/hooks/navigation-menu-edit.js +0 -82
  228. package/build/hooks/navigation-menu-edit.js.map +0 -1
  229. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +0 -50
  230. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  231. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
  232. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  233. package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
  234. package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
  235. package/build-module/components/page-patterns/grid-item.js +0 -215
  236. package/build-module/components/page-patterns/grid-item.js.map +0 -1
  237. package/build-module/components/page-patterns/grid.js +0 -23
  238. package/build-module/components/page-patterns/grid.js.map +0 -1
  239. package/build-module/components/page-patterns/no-patterns.js +0 -11
  240. package/build-module/components/page-patterns/no-patterns.js.map +0 -1
  241. package/build-module/components/page-patterns/patterns-list.js +0 -160
  242. package/build-module/components/page-patterns/patterns-list.js.map +0 -1
  243. package/build-module/components/page-patterns/rename-menu-item.js +0 -98
  244. package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
  245. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
  246. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  247. package/build-module/hooks/navigation-menu-edit.js +0 -75
  248. package/build-module/hooks/navigation-menu-edit.js.map +0 -1
  249. package/src/components/global-styles/font-library-modal/fonts-grid.js +0 -59
  250. package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
  251. package/src/components/page-patterns/duplicate-menu-item.js +0 -105
  252. package/src/components/page-patterns/grid-item.js +0 -331
  253. package/src/components/page-patterns/grid.js +0 -22
  254. package/src/components/page-patterns/no-patterns.js +0 -12
  255. package/src/components/page-patterns/patterns-list.js +0 -229
  256. package/src/components/page-patterns/rename-menu-item.js +0 -132
  257. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
  258. package/src/hooks/navigation-menu-edit.js +0 -92
@@ -1 +0,0 @@
1
- {"version":3,"names":["classnames","paramCase","kebabCase","BlockPreview","privateApis","blockEditorPrivateApis","Button","__experimentalConfirmDialog","ConfirmDialog","DropdownMenu","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalHStack","HStack","Tooltip","Flex","useDispatch","useState","useId","memo","__","sprintf","Icon","header","footer","symbolFilled","uncategorized","symbol","moreVertical","lockSmall","store","noticesStore","reusableBlocksStore","downloadBlob","RenameMenuItem","DuplicateMenuItem","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","editSiteStore","useLink","unlock","useGlobalStyle","templatePartIcons","GridItem","categoryId","item","props","descriptionId","isDeleteDialogOpen","setIsDeleteDialogOpen","backgroundColor","removeTemplate","__experimentalDeleteReusableBlock","createErrorNotice","createSuccessNotice","isUserPattern","type","user","isNonUserPattern","theme","isTemplatePart","onClick","postType","postId","id","name","categoryType","isEmpty","blocks","length","patternClassNames","previewClassNames","deletePattern","title","error","errorMessage","message","code","deleteItem","exportAsJSON","json","__file","content","patternPost","raw","syncStatus","wp_pattern_sync_status","JSON","stringify","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","ariaDescriptions","push","description","itemIcon","full","undefined","confirmButtonText","confirmPrompt","additionalStyles","css","createElement","className","map","_","index","join","viewportWidth","ariaDescription","key","hidden","justify","alignment","spacing","placement","text","icon","as","gap","level","variant","tabIndex","size","label","popoverProps","toggleProps","describedBy","onClose","isDestructive","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid-item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useId, memo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tmoreVertical,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { downloadBlob } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport RenameMenuItem from './rename-menu-item';\nimport DuplicateMenuItem from './duplicate-menu-item';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst templatePartIcons = { header, footer, uncategorized };\n\nfunction GridItem( { categoryId, item, ...props } ) {\n\tconst descriptionId = useId();\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\n\tconst { removeTemplate } = useDispatch( editSiteStore );\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-patterns__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-patterns__preview', {\n\t\t'is-inactive': isNonUserPattern,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The pattern's title e.g. 'Call to action'.\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t}\n\t};\n\tconst deleteItem = () =>\n\t\tisTemplatePart ? removeTemplate( item ) : deletePattern();\n\tconst exportAsJSON = () => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t};\n\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\tconst ariaDescriptions = [];\n\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\n\tlet itemIcon;\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\n\tconst confirmButtonText = hasThemeFile ? __( 'Clear' ) : __( 'Delete' );\n\tconst confirmPrompt = hasThemeFile\n\t\t? __( 'Are you sure you want to clear these customizations?' )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: The pattern or template part's title e.g. 'Call to action'.\n\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\titem.title || item.name\n\t\t );\n\n\tconst additionalStyles = ! backgroundColor\n\t\t? [ { css: 'body { background: #fff; }' } ]\n\t\t: undefined;\n\n\treturn (\n\t\t<li className={ patternClassNames }>\n\t\t\t<button\n\t\t\t\tclassName={ previewClassNames }\n\t\t\t\tid={ `edit-site-patterns-${ item.name }` }\n\t\t\t\ttype=\"button\"\n\t\t\t\t{ ...props }\n\t\t\t\tonClick={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? onClick : undefined\n\t\t\t\t}\n\t\t\t\taria-disabled={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t\taria-label={ item.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t\t<HStack\n\t\t\t\tclassName=\"edit-site-patterns__footer\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t\t>\n\t\t\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\t<Flex as=\"span\" gap={ 0 } justify=\"left\">\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Heading level={ 5 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t</HStack>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tclassName=\"edit-site-patterns__dropdown\"\n\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ isCustomPattern && ! hasThemeFile && (\n\t\t\t\t\t\t\t\t<RenameMenuItem\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<DuplicateMenuItem\n\t\t\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tlabel={ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ item.type === PATTERN_TYPES.user && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ () => exportAsJSON() }>\n\t\t\t\t\t\t\t\t\t{ __( 'Export as JSON' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomPattern && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tisDestructive={ ! hasThemeFile }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasThemeFile\n\t\t\t\t\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t</HStack>\n\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t\t\tonConfirm={ deleteItem }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ confirmPrompt }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nexport default memo( GridItem );\n"],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * Internal dependencies
4
- */
5
- import GridItem from './grid-item';
6
- export default function Grid({
7
- categoryId,
8
- items,
9
- ...props
10
- }) {
11
- if (!items?.length) {
12
- return null;
13
- }
14
- return createElement("ul", {
15
- className: "edit-site-patterns__grid",
16
- ...props
17
- }, items.map(item => createElement(GridItem, {
18
- key: item.name,
19
- item: item,
20
- categoryId: categoryId
21
- })));
22
- }
23
- //# sourceMappingURL=grid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["GridItem","Grid","categoryId","items","props","length","createElement","className","map","item","key","name"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport GridItem from './grid-item';\n\nexport default function Grid( { categoryId, items, ...props } ) {\n\tif ( ! items?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul className=\"edit-site-patterns__grid\" { ...props }>\n\t\t\t{ items.map( ( item ) => (\n\t\t\t\t<GridItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,aAAa;AAElC,eAAe,SAASC,IAAIA,CAAE;EAAEC,UAAU;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAG;EAC/D,IAAK,CAAED,KAAK,EAAEE,MAAM,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA;IAAIC,SAAS,EAAC,0BAA0B;IAAA,GAAMH;EAAK,GAChDD,KAAK,CAACK,GAAG,CAAIC,IAAI,IAClBH,aAAA,CAACN,QAAQ;IACRU,GAAG,EAAGD,IAAI,CAACE,IAAM;IACjBF,IAAI,EAAGA,IAAM;IACbP,UAAU,EAAGA;EAAY,CACzB,CACA,CACC,CAAC;AAEP"}
@@ -1,11 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { __ } from '@wordpress/i18n';
6
- export default function NoPatterns() {
7
- return createElement("div", {
8
- className: "edit-site-patterns__no-results"
9
- }, __('No patterns found.'));
10
- }
11
- //# sourceMappingURL=no-patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__","NoPatterns","createElement","className"],"sources":["@wordpress/edit-site/src/components/page-patterns/no-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport default function NoPatterns() {\n\treturn (\n\t\t<div className=\"edit-site-patterns__no-results\">\n\t\t\t{ __( 'No patterns found.' ) }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACpC,OACCC,aAAA;IAAKC,SAAS,EAAC;EAAgC,GAC5CH,EAAE,CAAE,oBAAqB,CACvB,CAAC;AAER"}
@@ -1,160 +0,0 @@
1
- import { createElement, Fragment } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';
6
- import { SearchControl, __experimentalVStack as VStack, Flex, FlexBlock, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalHeading as Heading, __experimentalText as Text } from '@wordpress/components';
7
- import { __, _x, isRTL } from '@wordpress/i18n';
8
- import { chevronLeft, chevronRight } from '@wordpress/icons';
9
- import { privateApis as routerPrivateApis } from '@wordpress/router';
10
- import { useAsyncList, useViewportMatch, useDebouncedInput } from '@wordpress/compose';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import PatternsHeader from './header';
16
- import Grid from './grid';
17
- import NoPatterns from './no-patterns';
18
- import usePatterns from './use-patterns';
19
- import SidebarButton from '../sidebar-button';
20
- import { unlock } from '../../lock-unlock';
21
- import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';
22
- import Pagination from '../pagination';
23
- const {
24
- useLocation,
25
- useHistory
26
- } = unlock(routerPrivateApis);
27
- const SYNC_FILTERS = {
28
- all: _x('All', 'Option that shows all patterns'),
29
- [PATTERN_SYNC_TYPES.full]: _x('Synced', 'Option that shows all synchronized patterns'),
30
- [PATTERN_SYNC_TYPES.unsynced]: _x('Not synced', 'Option that shows all patterns that are not synchronized')
31
- };
32
- const SYNC_DESCRIPTIONS = {
33
- all: '',
34
- [PATTERN_SYNC_TYPES.full]: __('Patterns that are kept in sync across the site.'),
35
- [PATTERN_SYNC_TYPES.unsynced]: __('Patterns that can be changed freely without affecting the site.')
36
- };
37
- const PAGE_SIZE = 20;
38
- export default function PatternsList({
39
- categoryId,
40
- type
41
- }) {
42
- const location = useLocation();
43
- const history = useHistory();
44
- const isMobileViewport = useViewportMatch('medium', '<');
45
- const [filterValue, setFilterValue, delayedFilterValue] = useDebouncedInput('');
46
- const deferredFilterValue = useDeferredValue(delayedFilterValue);
47
- const [syncFilter, setSyncFilter] = useState('all');
48
- const [currentPage, setCurrentPage] = useState(1);
49
- const deferredSyncedFilter = useDeferredValue(syncFilter);
50
- const isUncategorizedThemePatterns = type === PATTERN_TYPES.theme && categoryId === 'uncategorized';
51
- const {
52
- patterns,
53
- isResolving
54
- } = usePatterns(type, isUncategorizedThemePatterns ? '' : categoryId, {
55
- search: deferredFilterValue,
56
- syncStatus: deferredSyncedFilter === 'all' ? undefined : deferredSyncedFilter
57
- });
58
- const updateSearchFilter = value => {
59
- setCurrentPage(1);
60
- setFilterValue(value);
61
- };
62
- const updateSyncFilter = value => {
63
- setCurrentPage(1);
64
- setSyncFilter(value);
65
- };
66
- const id = useId();
67
- const titleId = `${id}-title`;
68
- const descriptionId = `${id}-description`;
69
- const hasPatterns = patterns.length;
70
- const title = SYNC_FILTERS[syncFilter];
71
- const description = SYNC_DESCRIPTIONS[syncFilter];
72
- const totalItems = patterns.length;
73
- const pageIndex = currentPage - 1;
74
- const numPages = Math.ceil(patterns.length / PAGE_SIZE);
75
- const list = useMemo(() => {
76
- return patterns.slice(pageIndex * PAGE_SIZE, pageIndex * PAGE_SIZE + PAGE_SIZE);
77
- }, [pageIndex, patterns]);
78
- const asyncList = useAsyncList(list, {
79
- step: 10
80
- });
81
- const changePage = page => {
82
- const scrollContainer = document.querySelector('.edit-site-patterns');
83
- scrollContainer?.scrollTo(0, 0);
84
- setCurrentPage(page);
85
- };
86
- return createElement(Fragment, null, createElement(VStack, {
87
- className: "edit-site-patterns__header",
88
- spacing: 6
89
- }, createElement(PatternsHeader, {
90
- categoryId: categoryId,
91
- type: type,
92
- titleId: titleId,
93
- descriptionId: descriptionId
94
- }), createElement(Flex, {
95
- alignment: "stretch",
96
- wrap: true
97
- }, isMobileViewport && createElement(SidebarButton, {
98
- icon: isRTL() ? chevronRight : chevronLeft,
99
- label: __('Back'),
100
- onClick: () => {
101
- // Go back in history if we came from the Patterns page.
102
- // Otherwise push a stack onto the history.
103
- if (location.state?.backPath === '/patterns') {
104
- history.back();
105
- } else {
106
- history.push({
107
- path: '/patterns'
108
- });
109
- }
110
- }
111
- }), createElement(FlexBlock, {
112
- className: "edit-site-patterns__search-block"
113
- }, createElement(SearchControl, {
114
- className: "edit-site-patterns__search",
115
- onChange: value => updateSearchFilter(value),
116
- placeholder: __('Search patterns'),
117
- label: __('Search patterns'),
118
- value: filterValue,
119
- __nextHasNoMarginBottom: true
120
- })), type === PATTERN_TYPES.theme && createElement(ToggleGroupControl, {
121
- className: "edit-site-patterns__sync-status-filter",
122
- hideLabelFromVision: true,
123
- label: __('Filter by sync status'),
124
- value: syncFilter,
125
- isBlock: true,
126
- onChange: value => updateSyncFilter(value),
127
- __nextHasNoMarginBottom: true
128
- }, Object.entries(SYNC_FILTERS).map(([key, label]) => createElement(ToggleGroupControlOption, {
129
- className: "edit-site-patterns__sync-status-filter-option",
130
- key: key,
131
- value: key,
132
- label: label
133
- }))))), createElement(VStack, {
134
- className: "edit-site-patterns__section",
135
- justify: "flex-start",
136
- spacing: 6
137
- }, syncFilter !== 'all' && createElement(VStack, {
138
- className: "edit-site-patterns__section-header"
139
- }, createElement(Heading, {
140
- as: "h3",
141
- level: 5,
142
- id: titleId
143
- }, title), description ? createElement(Text, {
144
- variant: "muted",
145
- as: "p",
146
- id: descriptionId
147
- }, description) : null), hasPatterns && createElement(Grid, {
148
- categoryId: categoryId,
149
- items: asyncList,
150
- "aria-labelledby": titleId,
151
- "aria-describedby": descriptionId
152
- }), !isResolving && !hasPatterns && createElement(NoPatterns, null)), numPages > 1 && createElement(Pagination, {
153
- className: "edit-site-patterns__pagination",
154
- currentPage: currentPage,
155
- numPages: numPages,
156
- changePage: changePage,
157
- totalItems: totalItems
158
- }));
159
- }
160
- //# sourceMappingURL=patterns-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useState","useDeferredValue","useId","useMemo","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","_x","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useAsyncList","useViewportMatch","useDebouncedInput","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","unlock","PATTERN_SYNC_TYPES","PATTERN_TYPES","Pagination","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PAGE_SIZE","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","currentPage","setCurrentPage","deferredSyncedFilter","isUncategorizedThemePatterns","theme","patterns","isResolving","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","titleId","descriptionId","hasPatterns","length","title","description","totalItems","pageIndex","numPages","Math","ceil","list","slice","asyncList","step","changePage","page","scrollContainer","document","querySelector","scrollTo","createElement","Fragment","className","spacing","alignment","wrap","icon","label","onClick","state","backPath","back","push","path","onChange","placeholder","__nextHasNoMarginBottom","hideLabelFromVision","isBlock","Object","entries","map","key","justify","as","level","variant","items"],"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tuseAsyncList,\n\tuseViewportMatch,\n\tuseDebouncedInput,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';\nimport Pagination from '../pagination';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: _x( 'All', 'Option that shows all patterns' ),\n\t[ PATTERN_SYNC_TYPES.full ]: _x(\n\t\t'Synced',\n\t\t'Option that shows all synchronized patterns'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: _x(\n\t\t'Not synced',\n\t\t'Option that shows all patterns that are not synchronized'\n\t),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ PATTERN_SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nconst PAGE_SIZE = 20;\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\tconst totalItems = patterns.length;\n\tconst pageIndex = currentPage - 1;\n\tconst numPages = Math.ceil( patterns.length / PAGE_SIZE );\n\n\tconst list = useMemo( () => {\n\t\treturn patterns.slice(\n\t\t\tpageIndex * PAGE_SIZE,\n\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t);\n\t}, [ pageIndex, patterns ] );\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack className=\"edit-site-patterns__header\" spacing={ 6 }>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ titleId }\n\t\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t\t/>\n\t\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tlocation.state?.backPath === '/patterns'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\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) }\n\t\t\t\t\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateSearchFilter( value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t{ type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-patterns__section\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 6 }\n\t\t\t>\n\t\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\titems={ asyncList }\n\t\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t\t</VStack>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\tclassName=\"edit-site-patterns__pagination\"\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- import { createElement, Fragment } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { Button, MenuItem, Modal, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
6
- import { store as coreStore } from '@wordpress/core-data';
7
- import { useDispatch } from '@wordpress/data';
8
- import { useState } from '@wordpress/element';
9
- import { __ } from '@wordpress/i18n';
10
- import { store as noticesStore } from '@wordpress/notices';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
16
- export default function RenameMenuItem({
17
- item,
18
- onClose
19
- }) {
20
- const [title, setTitle] = useState(() => item.title);
21
- const [isModalOpen, setIsModalOpen] = useState(false);
22
- const {
23
- editEntityRecord,
24
- saveEditedEntityRecord
25
- } = useDispatch(coreStore);
26
- const {
27
- createSuccessNotice,
28
- createErrorNotice
29
- } = useDispatch(noticesStore);
30
- if (item.type === TEMPLATE_PART_POST_TYPE && !item.isCustom) {
31
- return null;
32
- }
33
- async function onRename(event) {
34
- event.preventDefault();
35
- try {
36
- await editEntityRecord('postType', item.type, item.id, {
37
- title
38
- });
39
-
40
- // Update state before saving rerenders the list.
41
- setTitle('');
42
- setIsModalOpen(false);
43
- onClose();
44
-
45
- // Persist edited entity.
46
- await saveEditedEntityRecord('postType', item.type, item.id, {
47
- throwOnError: true
48
- });
49
- createSuccessNotice(item.type === TEMPLATE_PART_POST_TYPE ? __('Template part renamed.') : __('Pattern renamed.'), {
50
- type: 'snackbar'
51
- });
52
- } catch (error) {
53
- const fallbackErrorMessage = item.type === TEMPLATE_PART_POST_TYPE ? __('An error occurred while renaming the template part.') : __('An error occurred while renaming the pattern.');
54
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
55
- createErrorNotice(errorMessage, {
56
- type: 'snackbar'
57
- });
58
- }
59
- }
60
- return createElement(Fragment, null, createElement(MenuItem, {
61
- onClick: () => {
62
- setIsModalOpen(true);
63
- setTitle(item.title);
64
- }
65
- }, __('Rename')), isModalOpen && createElement(Modal, {
66
- title: __('Rename'),
67
- onRequestClose: () => {
68
- setIsModalOpen(false);
69
- onClose();
70
- },
71
- overlayClassName: "edit-site-list__rename-modal"
72
- }, createElement("form", {
73
- onSubmit: onRename
74
- }, createElement(VStack, {
75
- spacing: "5"
76
- }, createElement(TextControl, {
77
- __nextHasNoMarginBottom: true,
78
- __next40pxDefaultSize: true,
79
- label: __('Name'),
80
- value: title,
81
- onChange: setTitle,
82
- required: true
83
- }), createElement(HStack, {
84
- justify: "right"
85
- }, createElement(Button, {
86
- __next40pxDefaultSize: true,
87
- variant: "tertiary",
88
- onClick: () => {
89
- setIsModalOpen(false);
90
- onClose();
91
- }
92
- }, __('Cancel')), createElement(Button, {
93
- __next40pxDefaultSize: true,
94
- variant: "primary",
95
- type: "submit"
96
- }, __('Save')))))));
97
- }
98
- //# sourceMappingURL=rename-menu-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Button","MenuItem","Modal","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","store","coreStore","useDispatch","useState","__","noticesStore","TEMPLATE_PART_POST_TYPE","RenameMenuItem","item","onClose","title","setTitle","isModalOpen","setIsModalOpen","editEntityRecord","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","type","isCustom","onRename","event","preventDefault","id","throwOnError","error","fallbackErrorMessage","errorMessage","message","code","createElement","Fragment","onClick","onRequestClose","overlayClassName","onSubmit","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","label","value","onChange","required","justify","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/rename-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tMenuItem,\n\tModal,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nexport default function RenameMenuItem( { item, onClose } ) {\n\tconst [ title, setTitle ] = useState( () => item.title );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tif ( item.type === TEMPLATE_PART_POST_TYPE && ! item.isCustom ) {\n\t\treturn null;\n\t}\n\n\tasync function onRename( event ) {\n\t\tevent.preventDefault();\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', item.type, item.id, { title } );\n\n\t\t\t// Update state before saving rerenders the list.\n\t\t\tsetTitle( '' );\n\t\t\tsetIsModalOpen( false );\n\t\t\tonClose();\n\n\t\t\t// Persist edited entity.\n\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t? __( 'Template part renamed.' )\n\t\t\t\t\t: __( 'Pattern renamed.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst fallbackErrorMessage =\n\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t? __(\n\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\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: fallbackErrorMessage;\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t\tsetTitle( item.title );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- import { createElement, Fragment } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { useSelect, useDispatch } from '@wordpress/data';
6
- import { useState } from '@wordpress/element';
7
- import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
8
- import { MenuItem, Modal } from '@wordpress/components';
9
- import { __ } from '@wordpress/i18n';
10
- import { store as coreStore } from '@wordpress/core-data';
11
- import { useAsyncList } from '@wordpress/compose';
12
- import { serialize } from '@wordpress/blocks';
13
-
14
- /**
15
- * Internal dependencies
16
- */
17
- import { store as editSiteStore } from '../../../store';
18
- export default function ReplaceTemplateButton({
19
- onClick,
20
- availableTemplates
21
- }) {
22
- const {
23
- editEntityRecord
24
- } = useDispatch(coreStore);
25
- const [showModal, setShowModal] = useState(false);
26
- const onClose = () => {
27
- setShowModal(false);
28
- };
29
- const {
30
- postId,
31
- postType
32
- } = useSelect(select => {
33
- return {
34
- postId: select(editSiteStore).getEditedPostId(),
35
- postType: select(editSiteStore).getEditedPostType()
36
- };
37
- }, []);
38
- const onTemplateSelect = async selectedTemplate => {
39
- onClose(); // Close the template suggestions modal first.
40
- onClick();
41
- await editEntityRecord('postType', postType, postId, {
42
- blocks: selectedTemplate.blocks,
43
- content: serialize(selectedTemplate.blocks)
44
- });
45
- };
46
- if (!availableTemplates.length || availableTemplates.length < 1) {
47
- return null;
48
- }
49
- return createElement(Fragment, null, createElement(MenuItem, {
50
- info: __('Replace the contents of this template with another.'),
51
- onClick: () => setShowModal(true)
52
- }, __('Replace template')), showModal && createElement(Modal, {
53
- title: __('Choose a template'),
54
- onRequestClose: onClose,
55
- overlayClassName: "edit-site-template-panel__replace-template-modal",
56
- isFullScreen: true
57
- }, createElement("div", {
58
- className: "edit-site-template-panel__replace-template-modal__content"
59
- }, createElement(TemplatesList, {
60
- availableTemplates: availableTemplates,
61
- onSelect: onTemplateSelect
62
- }))));
63
- }
64
- function TemplatesList({
65
- availableTemplates,
66
- onSelect
67
- }) {
68
- const shownTemplates = useAsyncList(availableTemplates);
69
- return createElement(BlockPatternsList, {
70
- label: __('Templates'),
71
- blockPatterns: availableTemplates,
72
- shownPatterns: shownTemplates,
73
- onClickPattern: onSelect
74
- });
75
- }
76
- //# sourceMappingURL=replace-template-button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useState","__experimentalBlockPatternsList","BlockPatternsList","MenuItem","Modal","__","store","coreStore","useAsyncList","serialize","editSiteStore","ReplaceTemplateButton","onClick","availableTemplates","editEntityRecord","showModal","setShowModal","onClose","postId","postType","select","getEditedPostId","getEditedPostType","onTemplateSelect","selectedTemplate","blocks","content","length","createElement","Fragment","info","title","onRequestClose","overlayClassName","isFullScreen","className","TemplatesList","onSelect","shownTemplates","label","blockPatterns","shownPatterns","onClickPattern"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/replace-template-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { MenuItem, Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ReplaceTemplateButton( {\n\tonClick,\n\tavailableTemplates,\n} ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst onClose = () => {\n\t\tsetShowModal( false );\n\t};\n\n\tconst { postId, postType } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostId: select( editSiteStore ).getEditedPostId(),\n\t\t\tpostType: select( editSiteStore ).getEditedPostType(),\n\t\t};\n\t}, [] );\n\n\tconst onTemplateSelect = async ( selectedTemplate ) => {\n\t\tonClose(); // Close the template suggestions modal first.\n\t\tonClick();\n\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\tblocks: selectedTemplate.blocks,\n\t\t\tcontent: serialize( selectedTemplate.blocks ),\n\t\t} );\n\t};\n\n\tif ( ! availableTemplates.length || availableTemplates.length < 1 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Replace the contents of this template with another.'\n\t\t\t\t) }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t>\n\t\t\t\t{ __( 'Replace template' ) }\n\t\t\t</MenuItem>\n\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\toverlayClassName=\"edit-site-template-panel__replace-template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-template-panel__replace-template-modal__content\">\n\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\tavailableTemplates={ availableTemplates }\n\t\t\t\t\t\t\tonSelect={ onTemplateSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction TemplatesList( { availableTemplates, onSelect } ) {\n\tconst shownTemplates = useAsyncList( availableTemplates );\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,+BAA+B,IAAIC,iBAAiB,QAAQ,yBAAyB;AAC9F,SAASC,QAAQ,EAAEC,KAAK,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,SAAS,QAAQ,mBAAmB;;AAE7C;AACA;AACA;AACA,SAASH,KAAK,IAAII,aAAa,QAAQ,gBAAgB;AAEvD,eAAe,SAASC,qBAAqBA,CAAE;EAC9CC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAiB,CAAC,GAAGf,WAAW,CAAEQ,SAAU,CAAC;EACrD,MAAM,CAAEQ,SAAS,EAAEC,YAAY,CAAE,GAAGhB,QAAQ,CAAE,KAAM,CAAC;EACrD,MAAMiB,OAAO,GAAGA,CAAA,KAAM;IACrBD,YAAY,CAAE,KAAM,CAAC;EACtB,CAAC;EAED,MAAM;IAAEE,MAAM;IAAEC;EAAS,CAAC,GAAGrB,SAAS,CAAIsB,MAAM,IAAM;IACrD,OAAO;MACNF,MAAM,EAAEE,MAAM,CAAEV,aAAc,CAAC,CAACW,eAAe,CAAC,CAAC;MACjDF,QAAQ,EAAEC,MAAM,CAAEV,aAAc,CAAC,CAACY,iBAAiB,CAAC;IACrD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAG,MAAQC,gBAAgB,IAAM;IACtDP,OAAO,CAAC,CAAC,CAAC,CAAC;IACXL,OAAO,CAAC,CAAC;IACT,MAAME,gBAAgB,CAAE,UAAU,EAAEK,QAAQ,EAAED,MAAM,EAAE;MACrDO,MAAM,EAAED,gBAAgB,CAACC,MAAM;MAC/BC,OAAO,EAAEjB,SAAS,CAAEe,gBAAgB,CAACC,MAAO;IAC7C,CAAE,CAAC;EACJ,CAAC;EAED,IAAK,CAAEZ,kBAAkB,CAACc,MAAM,IAAId,kBAAkB,CAACc,MAAM,GAAG,CAAC,EAAG;IACnE,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACzB,QAAQ;IACR2B,IAAI,EAAGzB,EAAE,CACR,qDACD,CAAG;IACHO,OAAO,EAAGA,CAAA,KAAMI,YAAY,CAAE,IAAK;EAAG,GAEpCX,EAAE,CAAE,kBAAmB,CAChB,CAAC,EAETU,SAAS,IACVa,aAAA,CAACxB,KAAK;IACL2B,KAAK,EAAG1B,EAAE,CAAE,mBAAoB,CAAG;IACnC2B,cAAc,EAAGf,OAAS;IAC1BgB,gBAAgB,EAAC,kDAAkD;IACnEC,YAAY;EAAA,GAEZN,aAAA;IAAKO,SAAS,EAAC;EAA2D,GACzEP,aAAA,CAACQ,aAAa;IACbvB,kBAAkB,EAAGA,kBAAoB;IACzCwB,QAAQ,EAAGd;EAAkB,CAC7B,CACG,CACC,CAEP,CAAC;AAEL;AAEA,SAASa,aAAaA,CAAE;EAAEvB,kBAAkB;EAAEwB;AAAS,CAAC,EAAG;EAC1D,MAAMC,cAAc,GAAG9B,YAAY,CAAEK,kBAAmB,CAAC;EAEzD,OACCe,aAAA,CAAC1B,iBAAiB;IACjBqC,KAAK,EAAGlC,EAAE,CAAE,WAAY,CAAG;IAC3BmC,aAAa,EAAG3B,kBAAoB;IACpC4B,aAAa,EAAGH,cAAgB;IAChCI,cAAc,EAAGL;EAAU,CAC3B,CAAC;AAEJ"}
@@ -1,75 +0,0 @@
1
- import { createElement, Fragment } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { __ } from '@wordpress/i18n';
6
- import { useSelect } from '@wordpress/data';
7
- import { BlockControls, useBlockEditingMode } from '@wordpress/block-editor';
8
- import { store as coreStore } from '@wordpress/core-data';
9
- import { ToolbarButton } from '@wordpress/components';
10
- import { addFilter } from '@wordpress/hooks';
11
- import { createHigherOrderComponent } from '@wordpress/compose';
12
- import { privateApis as routerPrivateApis } from '@wordpress/router';
13
-
14
- /**
15
- * Internal dependencies
16
- */
17
- import { useLink } from '../components/routes/link';
18
- import { unlock } from '../lock-unlock';
19
- import { NAVIGATION_POST_TYPE } from '../utils/constants';
20
- const {
21
- useLocation
22
- } = unlock(routerPrivateApis);
23
- function NavigationMenuEdit({
24
- attributes
25
- }) {
26
- const {
27
- ref
28
- } = attributes;
29
- const {
30
- params
31
- } = useLocation();
32
- const blockEditingMode = useBlockEditingMode();
33
- const navigationMenu = useSelect(select => {
34
- return select(coreStore).getEntityRecord('postType', NAVIGATION_POST_TYPE,
35
- // Ideally this should be an official public API.
36
- ref);
37
- }, [ref]);
38
- const linkProps = useLink({
39
- postId: navigationMenu?.id,
40
- postType: navigationMenu?.type,
41
- canvas: 'edit'
42
- }, {
43
- // this applies to Navigation Menus as well.
44
- fromTemplateId: params.postId || navigationMenu?.id
45
- });
46
-
47
- // A non-default setting for block editing mode indicates that the
48
- // editor should restrict "editing" actions. Therefore the `Edit` button
49
- // should not be displayed.
50
- if (!navigationMenu || blockEditingMode !== 'default') {
51
- return null;
52
- }
53
- return createElement(BlockControls, {
54
- group: "other"
55
- }, createElement(ToolbarButton, {
56
- ...linkProps,
57
- onClick: event => {
58
- linkProps.onClick(event);
59
- }
60
- }, __('Edit')));
61
- }
62
- export const withEditBlockControls = createHigherOrderComponent(BlockEdit => props => {
63
- const {
64
- attributes,
65
- name
66
- } = props;
67
- const isDisplayed = name === 'core/navigation' && attributes.ref;
68
- return createElement(Fragment, null, createElement(BlockEdit, {
69
- ...props
70
- }), isDisplayed && createElement(NavigationMenuEdit, {
71
- attributes: attributes
72
- }));
73
- }, 'withEditBlockControls');
74
- addFilter('editor.BlockEdit', 'core/edit-site/navigation-edit-button', withEditBlockControls);
75
- //# sourceMappingURL=navigation-menu-edit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__","useSelect","BlockControls","useBlockEditingMode","store","coreStore","ToolbarButton","addFilter","createHigherOrderComponent","privateApis","routerPrivateApis","useLink","unlock","NAVIGATION_POST_TYPE","useLocation","NavigationMenuEdit","attributes","ref","params","blockEditingMode","navigationMenu","select","getEntityRecord","linkProps","postId","id","postType","type","canvas","fromTemplateId","createElement","group","onClick","event","withEditBlockControls","BlockEdit","props","name","isDisplayed","Fragment"],"sources":["@wordpress/edit-site/src/hooks/navigation-menu-edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { BlockControls, useBlockEditingMode } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ToolbarButton } from '@wordpress/components';\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useLink } from '../components/routes/link';\nimport { unlock } from '../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction NavigationMenuEdit( { attributes } ) {\n\tconst { ref } = attributes;\n\tconst { params } = useLocation();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst navigationMenu = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tNAVIGATION_POST_TYPE,\n\t\t\t\t// Ideally this should be an official public API.\n\t\t\t\tref\n\t\t\t);\n\t\t},\n\t\t[ ref ]\n\t);\n\n\tconst linkProps = useLink(\n\t\t{\n\t\t\tpostId: navigationMenu?.id,\n\t\t\tpostType: navigationMenu?.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t\t{\n\t\t\t// this applies to Navigation Menus as well.\n\t\t\tfromTemplateId: params.postId || navigationMenu?.id,\n\t\t}\n\t);\n\n\t// A non-default setting for block editing mode indicates that the\n\t// editor should restrict \"editing\" actions. Therefore the `Edit` button\n\t// should not be displayed.\n\tif ( ! navigationMenu || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarButton\n\t\t\t\t{ ...linkProps }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tlinkProps.onClick( event );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Edit' ) }\n\t\t\t</ToolbarButton>\n\t\t</BlockControls>\n\t);\n}\n\nexport const withEditBlockControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { attributes, name } = props;\n\t\tconst isDisplayed = name === 'core/navigation' && attributes.ref;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ isDisplayed && (\n\t\t\t\t\t<NavigationMenuEdit attributes={ attributes } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\t'withEditBlockControls'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/navigation-edit-button',\n\twithEditBlockControls\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC5E,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,0BAA0B,QAAQ,oBAAoB;AAC/D,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,OAAO,QAAQ,2BAA2B;AACnD,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SAASC,oBAAoB,QAAQ,oBAAoB;AAEzD,MAAM;EAAEC;AAAY,CAAC,GAAGF,MAAM,CAAEF,iBAAkB,CAAC;AAEnD,SAASK,kBAAkBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC7C,MAAM;IAAEC;EAAI,CAAC,GAAGD,UAAU;EAC1B,MAAM;IAAEE;EAAO,CAAC,GAAGJ,WAAW,CAAC,CAAC;EAChC,MAAMK,gBAAgB,GAAGhB,mBAAmB,CAAC,CAAC;EAC9C,MAAMiB,cAAc,GAAGnB,SAAS,CAC7BoB,MAAM,IAAM;IACb,OAAOA,MAAM,CAAEhB,SAAU,CAAC,CAACiB,eAAe,CACzC,UAAU,EACVT,oBAAoB;IACpB;IACAI,GACD,CAAC;EACF,CAAC,EACD,CAAEA,GAAG,CACN,CAAC;EAED,MAAMM,SAAS,GAAGZ,OAAO,CACxB;IACCa,MAAM,EAAEJ,cAAc,EAAEK,EAAE;IAC1BC,QAAQ,EAAEN,cAAc,EAAEO,IAAI;IAC9BC,MAAM,EAAE;EACT,CAAC,EACD;IACC;IACAC,cAAc,EAAEX,MAAM,CAACM,MAAM,IAAIJ,cAAc,EAAEK;EAClD,CACD,CAAC;;EAED;EACA;EACA;EACA,IAAK,CAAEL,cAAc,IAAID,gBAAgB,KAAK,SAAS,EAAG;IACzD,OAAO,IAAI;EACZ;EAEA,OACCW,aAAA,CAAC5B,aAAa;IAAC6B,KAAK,EAAC;EAAO,GAC3BD,aAAA,CAACxB,aAAa;IAAA,GACRiB,SAAS;IACdS,OAAO,EAAKC,KAAK,IAAM;MACtBV,SAAS,CAACS,OAAO,CAAEC,KAAM,CAAC;IAC3B;EAAG,GAEDjC,EAAE,CAAE,MAAO,CACC,CACD,CAAC;AAElB;AAEA,OAAO,MAAMkC,qBAAqB,GAAG1B,0BAA0B,CAC5D2B,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAM;IAAEpB,UAAU;IAAEqB;EAAK,CAAC,GAAGD,KAAK;EAClC,MAAME,WAAW,GAAGD,IAAI,KAAK,iBAAiB,IAAIrB,UAAU,CAACC,GAAG;EAEhE,OACCa,aAAA,CAAAS,QAAA,QACCT,aAAA,CAACK,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC,EACxBE,WAAW,IACZR,aAAA,CAACf,kBAAkB;IAACC,UAAU,EAAGA;EAAY,CAAE,CAE/C,CAAC;AAEL,CAAC,EACD,uBACD,CAAC;AAEDT,SAAS,CACR,kBAAkB,EAClB,uCAAuC,EACvC2B,qBACD,CAAC"}