@wordpress/edit-site 5.28.2 → 5.28.4

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 (162) hide show
  1. package/build/components/add-new-pattern/index.js +18 -8
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/editor/index.js +1 -1
  4. package/build/components/editor/index.js.map +1 -1
  5. package/build/components/global-styles/block-preview-panel.js +2 -2
  6. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  7. package/build/components/global-styles/font-library-modal/collection-font-variant.js +2 -2
  8. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  9. package/build/components/global-styles/font-library-modal/font-card.js +10 -15
  10. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  11. package/build/components/global-styles/font-library-modal/font-collection.js +167 -37
  12. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  13. package/build/components/global-styles/font-library-modal/font-demo.js +29 -8
  14. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  15. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  16. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  17. package/build/components/global-styles/font-library-modal/installed-fonts.js +149 -83
  18. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  20. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/upload-fonts.js +6 -4
  22. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  23. package/build/components/global-styles/screen-revisions/index.js +2 -2
  24. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  25. package/build/components/global-styles/ui.js +27 -2
  26. package/build/components/global-styles/ui.js.map +1 -1
  27. package/build/components/header-edit-mode/index.js +1 -1
  28. package/build/components/header-edit-mode/index.js.map +1 -1
  29. package/build/components/layout/index.js +8 -3
  30. package/build/components/layout/index.js.map +1 -1
  31. package/build/components/layout/router.js +26 -5
  32. package/build/components/layout/router.js.map +1 -1
  33. package/build/components/page-patterns/index.js +14 -14
  34. package/build/components/page-patterns/index.js.map +1 -1
  35. package/build/components/page-patterns/use-patterns.js +10 -5
  36. package/build/components/page-patterns/use-patterns.js.map +1 -1
  37. package/build/components/page-templates-template-parts/index.js +1 -0
  38. package/build/components/page-templates-template-parts/index.js.map +1 -1
  39. package/build/components/sidebar/index.js +6 -3
  40. package/build/components/sidebar/index.js.map +1 -1
  41. package/build/components/sidebar-dataviews/default-views.js +2 -0
  42. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  43. package/build/components/sidebar-navigation-screen-pages/index.js +3 -1
  44. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  45. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  46. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  47. package/build/components/sidebar-navigation-screen-templates-browse/index.js +7 -5
  48. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  49. package/build/components/style-book/index.js +2 -0
  50. package/build/components/style-book/index.js.map +1 -1
  51. package/build/store/private-actions.js +3 -1
  52. package/build/store/private-actions.js.map +1 -1
  53. package/build-module/components/add-new-pattern/index.js +18 -8
  54. package/build-module/components/add-new-pattern/index.js.map +1 -1
  55. package/build-module/components/editor/index.js +1 -1
  56. package/build-module/components/editor/index.js.map +1 -1
  57. package/build-module/components/global-styles/block-preview-panel.js +2 -2
  58. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  59. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +4 -4
  60. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  61. package/build-module/components/global-styles/font-library-modal/font-card.js +11 -16
  62. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  63. package/build-module/components/global-styles/font-library-modal/font-collection.js +172 -42
  64. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  65. package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -9
  66. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  67. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  68. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  69. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +149 -83
  70. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  71. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +4 -4
  72. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  73. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +7 -5
  74. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  75. package/build-module/components/global-styles/screen-revisions/index.js +2 -2
  76. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  77. package/build-module/components/global-styles/ui.js +27 -2
  78. package/build-module/components/global-styles/ui.js.map +1 -1
  79. package/build-module/components/header-edit-mode/index.js +1 -1
  80. package/build-module/components/header-edit-mode/index.js.map +1 -1
  81. package/build-module/components/layout/index.js +8 -3
  82. package/build-module/components/layout/index.js.map +1 -1
  83. package/build-module/components/layout/router.js +26 -5
  84. package/build-module/components/layout/router.js.map +1 -1
  85. package/build-module/components/page-patterns/index.js +14 -14
  86. package/build-module/components/page-patterns/index.js.map +1 -1
  87. package/build-module/components/page-patterns/use-patterns.js +10 -5
  88. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  89. package/build-module/components/page-templates-template-parts/index.js +1 -0
  90. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  91. package/build-module/components/sidebar/index.js +6 -3
  92. package/build-module/components/sidebar/index.js.map +1 -1
  93. package/build-module/components/sidebar-dataviews/default-views.js +3 -1
  94. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  95. package/build-module/components/sidebar-navigation-screen-pages/index.js +3 -1
  96. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  97. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  98. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  99. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -5
  100. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  101. package/build-module/components/style-book/index.js +2 -0
  102. package/build-module/components/style-book/index.js.map +1 -1
  103. package/build-module/store/private-actions.js +3 -1
  104. package/build-module/store/private-actions.js.map +1 -1
  105. package/build-style/style-rtl.css +52 -25
  106. package/build-style/style.css +52 -25
  107. package/package.json +18 -18
  108. package/src/components/add-new-pattern/index.js +27 -11
  109. package/src/components/editor/index.js +1 -0
  110. package/src/components/global-styles/block-preview-panel.js +2 -2
  111. package/src/components/global-styles/font-library-modal/collection-font-variant.js +4 -4
  112. package/src/components/global-styles/font-library-modal/font-card.js +11 -26
  113. package/src/components/global-styles/font-library-modal/font-collection.js +328 -129
  114. package/src/components/global-styles/font-library-modal/font-demo.js +38 -4
  115. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  116. package/src/components/global-styles/font-library-modal/installed-fonts.js +246 -132
  117. package/src/components/global-styles/font-library-modal/library-font-variant.js +4 -4
  118. package/src/components/global-styles/font-library-modal/style.scss +17 -13
  119. package/src/components/global-styles/font-library-modal/upload-fonts.js +13 -5
  120. package/src/components/global-styles/screen-revisions/index.js +5 -2
  121. package/src/components/global-styles/ui.js +26 -2
  122. package/src/components/header-edit-mode/index.js +3 -1
  123. package/src/components/layout/index.js +47 -30
  124. package/src/components/layout/router.js +31 -2
  125. package/src/components/layout/style.scss +7 -0
  126. package/src/components/page-patterns/index.js +20 -20
  127. package/src/components/page-patterns/style.scss +10 -0
  128. package/src/components/page-patterns/use-patterns.js +13 -5
  129. package/src/components/page-templates-template-parts/index.js +1 -0
  130. package/src/components/page-templates-template-parts/style.scss +6 -0
  131. package/src/components/sidebar/index.js +9 -4
  132. package/src/components/sidebar-dataviews/default-views.js +3 -1
  133. package/src/components/sidebar-navigation-screen-pages/index.js +10 -6
  134. package/src/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  135. package/src/components/sidebar-navigation-screen-templates-browse/index.js +5 -3
  136. package/src/components/style-book/index.js +5 -1
  137. package/src/store/private-actions.js +4 -0
  138. package/build/components/global-styles/font-library-modal/collection-font-details.js +0 -50
  139. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +0 -1
  140. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -30
  141. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +0 -1
  142. package/build/components/global-styles/font-library-modal/fonts-grid.js +0 -57
  143. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  144. package/build/components/global-styles/font-library-modal/library-font-card.js +0 -39
  145. package/build/components/global-styles/font-library-modal/library-font-card.js.map +0 -1
  146. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +0 -67
  147. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +0 -1
  148. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +0 -42
  149. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +0 -1
  150. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -23
  151. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +0 -1
  152. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +0 -50
  153. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  154. package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -31
  155. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +0 -1
  156. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +0 -60
  157. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +0 -1
  158. package/src/components/global-styles/font-library-modal/collection-font-details.js +0 -56
  159. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -33
  160. package/src/components/global-styles/font-library-modal/fonts-grid.js +0 -59
  161. package/src/components/global-styles/font-library-modal/library-font-card.js +0 -34
  162. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +0 -85
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","useBlockCommands","blockEditorStore","coreCommandsPrivateApis","Sidebar","ErrorBoundary","editSiteStore","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","useIsSiteEditorLoading","useLayoutAreas","useCommands","useCommandContext","useGlobalStyle","ANIMATION_DURATION","Layout","isMobileViewport","isDistractionFree","hasFixedToolbar","hasBlockSelected","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","getBlockSelectionStart","navigateRegionsProps","previous","next","disableMotion","canvasResizer","canvasSize","fullResizer","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","areas","widths","headerAnimationState","commandContext","backgroundColor","gradientValue","createElement","Fragment","ref","className","div","variants","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","whileHover","undefined","animate","isTransparent","initial","key","ariaLabel","as","y","exit","duration","ease","content","style","maxWidth","preview","width","scale","layout","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockCommands,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useLayoutAreas from './router';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\tuseBlockCommands();\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\thasBlockSelected,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasBlockSelected:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { areas, widths } = useLayoutAreas();\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'site-editor-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free':\n\t\t\t\t\t\t\tisDistractionFree && canvasMode === 'edit',\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t\t'is-block-toolbar-visible': hasBlockSelected,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ canvasMode === 'edit' && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t</NavigableRegion>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ areas.content && canvasMode !== 'edit' && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\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<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","useBlockCommands","blockEditorStore","coreCommandsPrivateApis","Sidebar","ErrorBoundary","editSiteStore","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","useIsSiteEditorLoading","useLayoutAreas","useCommands","useCommandContext","useGlobalStyle","ANIMATION_DURATION","Layout","isMobileViewport","isDistractionFree","hasFixedToolbar","hasBlockSelected","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","getBlockSelectionStart","navigateRegionsProps","previous","next","disableMotion","canvasResizer","canvasSize","fullResizer","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","areas","widths","headerAnimationState","commandContext","backgroundColor","gradientValue","createElement","Fragment","ref","className","div","variants","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","whileHover","undefined","animate","isTransparent","initial","key","ariaLabel","as","y","exit","duration","ease","mobile","style","maxWidth","content","preview","width","scale","layout","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockCommands,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useLayoutAreas from './router';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\tuseBlockCommands();\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\thasBlockSelected,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasBlockSelected:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { areas, widths } = useLayoutAreas();\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'site-editor-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free':\n\t\t\t\t\t\t\tisDistractionFree && canvasMode === 'edit',\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t\t'is-block-toolbar-visible': hasBlockSelected,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ canvasMode === 'edit' && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport ||\n\t\t\t\t\t\t( isMobileViewport && ! areas.mobile ) ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ isMobileViewport && areas.mobile && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__mobile\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ areas.mobile }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvasMode !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\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<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -27,8 +27,13 @@ export default function useLayoutAreas() {
27
27
  postId,
28
28
  path,
29
29
  layout,
30
- isCustom
30
+ isCustom,
31
+ canvas
31
32
  } = params !== null && params !== void 0 ? params : {};
33
+
34
+ // Note: Since "sidebar" is not yet supported here,
35
+ // returning undefined from "mobile" means show the sidebar.
36
+
32
37
  // Regular page
33
38
  if (path === '/page') {
34
39
  return {
@@ -36,7 +41,10 @@ export default function useLayoutAreas() {
36
41
  content: undefined,
37
42
  preview: createElement(Editor, {
38
43
  isLoading: isSiteEditorLoading
39
- })
44
+ }),
45
+ mobile: canvas === 'edit' ? createElement(Editor, {
46
+ isLoading: isSiteEditorLoading
47
+ }) : undefined
40
48
  },
41
49
  widths: {
42
50
  content: undefined
@@ -67,7 +75,10 @@ export default function useLayoutAreas() {
67
75
  areas: {
68
76
  preview: createElement(Editor, {
69
77
  isLoading: isSiteEditorLoading
70
- })
78
+ }),
79
+ mobile: canvas === 'edit' ? createElement(Editor, {
80
+ isLoading: isSiteEditorLoading
81
+ }) : undefined
71
82
  }
72
83
  };
73
84
  }
@@ -81,6 +92,9 @@ export default function useLayoutAreas() {
81
92
  }),
82
93
  preview: isListLayout && createElement(Editor, {
83
94
  isLoading: isSiteEditorLoading
95
+ }),
96
+ mobile: createElement(PageTemplatesTemplateParts, {
97
+ postType: TEMPLATE_POST_TYPE
84
98
  })
85
99
  },
86
100
  widths: {
@@ -98,6 +112,9 @@ export default function useLayoutAreas() {
98
112
  }),
99
113
  preview: isListLayout && createElement(Editor, {
100
114
  isLoading: isSiteEditorLoading
115
+ }),
116
+ mobile: createElement(PageTemplatesTemplateParts, {
117
+ postType: TEMPLATE_PART_POST_TYPE
101
118
  })
102
119
  },
103
120
  widths: {
@@ -110,7 +127,8 @@ export default function useLayoutAreas() {
110
127
  if (path === '/patterns') {
111
128
  return {
112
129
  areas: {
113
- content: createElement(PagePatterns, null)
130
+ content: createElement(PagePatterns, null),
131
+ mobile: createElement(PagePatterns, null)
114
132
  }
115
133
  };
116
134
  }
@@ -120,7 +138,10 @@ export default function useLayoutAreas() {
120
138
  areas: {
121
139
  preview: createElement(Editor, {
122
140
  isLoading: isSiteEditorLoading
123
- })
141
+ }),
142
+ mobile: canvas === 'edit' ? createElement(Editor, {
143
+ isLoading: isSiteEditorLoading
144
+ }) : undefined
124
145
  }
125
146
  };
126
147
  }
@@ -1 +1 @@
1
- {"version":3,"names":["privateApis","routerPrivateApis","unlock","useIsSiteEditorLoading","Editor","PagePages","PagePatterns","PageTemplatesTemplateParts","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","useLocation","useLayoutAreas","isSiteEditorLoading","params","postType","postId","path","layout","isCustom","areas","content","undefined","preview","createElement","isLoading","widths","isListLayout","window","__experimentalAdminViews"],"sources":["@wordpress/edit-site/src/components/layout/router.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { useIsSiteEditorLoading } from './hooks';\nimport Editor from '../editor';\nimport PagePages from '../page-pages';\nimport PagePatterns from '../page-patterns';\nimport PageTemplatesTemplateParts from '../page-templates-template-parts';\n\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useLayoutAreas() {\n\tconst isSiteEditorLoading = useIsSiteEditorLoading();\n\tconst { params } = useLocation();\n\tconst { postType, postId, path, layout, isCustom } = params ?? {};\n\t// Regular page\n\tif ( path === '/page' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: undefined,\n\t\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// List layout is still experimental.\n\t// Extracted it here out of the conditionals so it doesn't unintentionally becomes stable.\n\tconst isListLayout =\n\t\tisCustom !== 'true' &&\n\t\tlayout === 'list' &&\n\t\twindow?.__experimentalAdminViews;\n\n\tif ( path === '/pages' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: <PagePages />,\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Regular other post types\n\tif ( postType && postId ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Templates\n\tif ( path === '/wp_template/all' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Template parts\n\tif ( path === '/wp_template_part/all' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Patterns\n\tif ( path === '/patterns' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: <PagePatterns />,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Fallback shows the home page preview\n\treturn {\n\t\tareas: { preview: <Editor isLoading={ isSiteEditorLoading } /> },\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["privateApis","routerPrivateApis","unlock","useIsSiteEditorLoading","Editor","PagePages","PagePatterns","PageTemplatesTemplateParts","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","useLocation","useLayoutAreas","isSiteEditorLoading","params","postType","postId","path","layout","isCustom","canvas","areas","content","undefined","preview","createElement","isLoading","mobile","widths","isListLayout","window","__experimentalAdminViews"],"sources":["@wordpress/edit-site/src/components/layout/router.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { useIsSiteEditorLoading } from './hooks';\nimport Editor from '../editor';\nimport PagePages from '../page-pages';\nimport PagePatterns from '../page-patterns';\nimport PageTemplatesTemplateParts from '../page-templates-template-parts';\n\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useLayoutAreas() {\n\tconst isSiteEditorLoading = useIsSiteEditorLoading();\n\tconst { params } = useLocation();\n\tconst { postType, postId, path, layout, isCustom, canvas } = params ?? {};\n\n\t// Note: Since \"sidebar\" is not yet supported here,\n\t// returning undefined from \"mobile\" means show the sidebar.\n\n\t// Regular page\n\tif ( path === '/page' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: undefined,\n\t\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\t\tmobile:\n\t\t\t\t\tcanvas === 'edit' ? (\n\t\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t\t) : undefined,\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// List layout is still experimental.\n\t// Extracted it here out of the conditionals so it doesn't unintentionally becomes stable.\n\tconst isListLayout =\n\t\tisCustom !== 'true' &&\n\t\tlayout === 'list' &&\n\t\twindow?.__experimentalAdminViews;\n\n\tif ( path === '/pages' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: <PagePages />,\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Regular other post types\n\tif ( postType && postId ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\t\tmobile:\n\t\t\t\t\tcanvas === 'edit' ? (\n\t\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t\t) : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Templates\n\tif ( path === '/wp_template/all' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t\tmobile: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Template parts\n\tif ( path === '/wp_template_part/all' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t\tmobile: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Patterns\n\tif ( path === '/patterns' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: <PagePatterns />,\n\t\t\t\tmobile: <PagePatterns />,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Fallback shows the home page preview\n\treturn {\n\t\tareas: {\n\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\tmobile:\n\t\t\t\tcanvas === 'edit' ? (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t) : undefined,\n\t\t},\n\t};\n}\n"],"mappings":"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"}
@@ -148,7 +148,19 @@ function Title({
148
148
  alignment: "center",
149
149
  justify: "flex-start",
150
150
  spacing: 2
151
- }, itemIcon && !isNonUserPattern && createElement(Tooltip, {
151
+ }, createElement(Flex, {
152
+ as: "div",
153
+ gap: 0,
154
+ justify: "left",
155
+ className: "edit-site-patterns__pattern-title"
156
+ }, item.type === PATTERN_TYPES.theme ? item.title : createElement(Button, {
157
+ variant: "link",
158
+ onClick: onClick
159
+ // Required for the grid's roving tab index system.
160
+ // See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.
161
+ ,
162
+ tabIndex: "-1"
163
+ }, item.title || item.name)), itemIcon && !isNonUserPattern && createElement(Tooltip, {
152
164
  placement: "top",
153
165
  text: __('Editing this pattern will also update anywhere it is used')
154
166
  }, createElement(Icon, {
@@ -161,19 +173,7 @@ function Title({
161
173
  className: "edit-site-patterns__pattern-lock-icon",
162
174
  icon: lockSmall,
163
175
  size: 24
164
- })), createElement(Flex, {
165
- as: "div",
166
- gap: 0,
167
- justify: "left",
168
- className: "edit-site-patterns__pattern-title"
169
- }, item.type === PATTERN_TYPES.theme ? item.title : createElement(Button, {
170
- variant: "link",
171
- onClick: onClick
172
- // Required for the grid's roving tab index system.
173
- // See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.
174
- ,
175
- tabIndex: "-1"
176
- }, item.title || item.name)));
176
+ })));
177
177
  }
178
178
  export default function DataviewsPatterns() {
179
179
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalHStack","HStack","Button","Tooltip","Flex","getQueryArgs","__","_x","useState","useMemo","useCallback","useId","useEffect","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","Icon","header","footer","symbolFilled","uncategorized","symbol","lockSmall","usePrevious","Page","LAYOUT_GRID","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","PATTERN_DEFAULT_CATEGORY","ENUMERATION_TYPE","OPERATOR_IN","exportJSONaction","renameAction","resetAction","deleteAction","duplicatePatternAction","duplicateTemplatePartAction","usePatternSettings","unlock","usePatterns","PatternsHeader","useLink","ExperimentalBlockEditorProvider","useGlobalStyle","templatePartIcons","EMPTY_ARRAY","defaultConfigPerViewType","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","full","label","description","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","theme","createElement","className","title","Preview","categoryId","viewType","descriptionId","isUserPattern","user","isNonUserPattern","isTemplatePart","isEmpty","blocks","length","isCustomPattern","isCustom","ariaDescriptions","push","backgroundColor","postType","postId","id","name","categoryType","Fragment","style","map","_","index","join","undefined","ariaDescription","key","hidden","Title","itemIcon","syncStatus","alignment","justify","spacing","placement","text","icon","size","as","gap","variant","tabIndex","DataviewsPatterns","window","location","href","view","setView","isUncategorizedThemePatterns","previousCategoryId","viewSyncStatus","find","field","patterns","isResolving","fields","_fields","render","enableSorting","enableHiding","getValue","elements","filterBy","operators","isPrimary","data","paginationInfo","totalItems","totalPages","filteredData","sort","textFields","actions","onChangeView","newView","settings","hideTitleFromUI","titleId","getItemId","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { getQueryArgs } from '@wordpress/url';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n} from '../../utils/constants';\nimport {\n\texportJSONaction,\n\trenameAction,\n\tresetAction,\n\tdeleteAction,\n\tduplicatePatternAction,\n\tduplicateTemplatePartAction,\n} from './dataviews-pattern-actions';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst templatePartIcons = { header, footer, uncategorized };\nconst EMPTY_ARRAY = [];\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [ 'sync-status' ],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'Option that shows all synchronized patterns' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x(\n\t\t\t'Not synced',\n\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, categoryId, viewType } ) {\n\tconst descriptionId = useId();\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\tconst isEmpty = ! item.blocks?.length;\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 ariaDescriptions = [];\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\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\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\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<PreviewWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tariaDescribedBy={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</PreviewWrapper>\n\t\t\t</div>\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</>\n\t);\n}\n\nfunction Title( { item, categoryId } ) {\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\tlet itemIcon;\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\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\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst { categoryType, categoryId = PATTERN_DEFAULT_CATEGORY } =\n\t\tgetQueryArgs( window.location.href );\n\tconst type = categoryType || PATTERN_TYPES.theme;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: view.search,\n\t\t\tsyncStatus: viewSyncStatus,\n\t\t}\n\t);\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tviewType={ view.type }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } categoryId={ categoryId } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( type === PATTERN_TYPES.theme ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync Status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) => value === item.syncStatus\n\t\t\t\t\t\t)?.label ||\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\tvalue === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t).label\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\treturn _fields;\n\t}, [ view.type, categoryId, type ] );\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! patterns ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...patterns ];\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ patterns, view, fields ] );\n\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\trenameAction,\n\t\t\tduplicatePatternAction,\n\t\t\tduplicateTemplatePartAction,\n\t\t\texportJSONaction,\n\t\t\tresetAction,\n\t\t\tdeleteAction,\n\t\t],\n\t\t[]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\t// TODO: check if I add the provider in every preview like in templates...\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\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={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdeferredRendering={ true }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["__experimentalHStack","HStack","Button","Tooltip","Flex","getQueryArgs","__","_x","useState","useMemo","useCallback","useId","useEffect","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","Icon","header","footer","symbolFilled","uncategorized","symbol","lockSmall","usePrevious","Page","LAYOUT_GRID","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","PATTERN_DEFAULT_CATEGORY","ENUMERATION_TYPE","OPERATOR_IN","exportJSONaction","renameAction","resetAction","deleteAction","duplicatePatternAction","duplicateTemplatePartAction","usePatternSettings","unlock","usePatterns","PatternsHeader","useLink","ExperimentalBlockEditorProvider","useGlobalStyle","templatePartIcons","EMPTY_ARRAY","defaultConfigPerViewType","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","full","label","description","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","theme","createElement","className","title","Preview","categoryId","viewType","descriptionId","isUserPattern","user","isNonUserPattern","isTemplatePart","isEmpty","blocks","length","isCustomPattern","isCustom","ariaDescriptions","push","backgroundColor","postType","postId","id","name","categoryType","Fragment","style","map","_","index","join","undefined","ariaDescription","key","hidden","Title","itemIcon","syncStatus","alignment","justify","spacing","as","gap","variant","tabIndex","placement","text","icon","size","DataviewsPatterns","window","location","href","view","setView","isUncategorizedThemePatterns","previousCategoryId","viewSyncStatus","find","field","patterns","isResolving","fields","_fields","render","enableSorting","enableHiding","getValue","elements","filterBy","operators","isPrimary","data","paginationInfo","totalItems","totalPages","filteredData","sort","textFields","actions","onChangeView","newView","settings","hideTitleFromUI","titleId","getItemId","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { getQueryArgs } from '@wordpress/url';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n} from '../../utils/constants';\nimport {\n\texportJSONaction,\n\trenameAction,\n\tresetAction,\n\tdeleteAction,\n\tduplicatePatternAction,\n\tduplicateTemplatePartAction,\n} from './dataviews-pattern-actions';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst templatePartIcons = { header, footer, uncategorized };\nconst EMPTY_ARRAY = [];\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [ 'sync-status' ],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'Option that shows all synchronized patterns' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x(\n\t\t\t'Not synced',\n\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, categoryId, viewType } ) {\n\tconst descriptionId = useId();\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\tconst isEmpty = ! item.blocks?.length;\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 ariaDescriptions = [];\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\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\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\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<PreviewWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tariaDescribedBy={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</PreviewWrapper>\n\t\t\t</div>\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</>\n\t);\n}\n\nfunction Title( { item, categoryId } ) {\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\tlet itemIcon;\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\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\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst { categoryType, categoryId = PATTERN_DEFAULT_CATEGORY } =\n\t\tgetQueryArgs( window.location.href );\n\tconst type = categoryType || PATTERN_TYPES.theme;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: view.search,\n\t\t\tsyncStatus: viewSyncStatus,\n\t\t}\n\t);\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tviewType={ view.type }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } categoryId={ categoryId } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( type === PATTERN_TYPES.theme ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync Status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) => value === item.syncStatus\n\t\t\t\t\t\t)?.label ||\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\tvalue === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t).label\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\treturn _fields;\n\t}, [ view.type, categoryId, type ] );\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! patterns ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...patterns ];\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ patterns, view, fields ] );\n\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\trenameAction,\n\t\t\tduplicatePatternAction,\n\t\t\tduplicateTemplatePartAction,\n\t\t\texportJSONaction,\n\t\t\tresetAction,\n\t\t\tdeleteAction,\n\t\t],\n\t\t[]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\t// TODO: check if I add the provider in every preview like in templates...\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\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={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdeferredRendering={ true }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,MAAM,EACNC,OAAO,EACPC,IAAI,QACE,uBAAuB;AAC9B,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SACCC,QAAQ,EACRC,OAAO,EACPC,WAAW,EACXC,KAAK,EACLC,SAAS,QACH,oBAAoB;AAC3B,SACCC,YAAY,EACZC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SACCC,SAAS,EACTC,gBAAgB,EAChBC,oBAAoB,QACd,sBAAsB;AAC7B,SACCC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,YAAY,IAAIC,aAAa,EAC7BC,MAAM,EACNC,SAAS,QACH,kBAAkB;AACzB,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,SACCC,WAAW,EACXC,aAAa,EACbC,uBAAuB,EACvBC,kBAAkB,EAClBC,wBAAwB,EACxBC,gBAAgB,EAChBC,WAAW,QACL,uBAAuB;AAC9B,SACCC,gBAAgB,EAChBC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,sBAAsB,EACtBC,2BAA2B,QACrB,6BAA6B;AACpC,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,cAAc,MAAM,UAAU;AACrC,SAASC,OAAO,QAAQ,gBAAgB;AAExC,MAAM;EAAEC,+BAA+B;EAAEC;AAAe,CAAC,GAAGL,MAAM,CACjE3B,sBACD,CAAC;AAED,MAAMiC,iBAAiB,GAAG;EAAE5B,MAAM;EAAEC,MAAM;EAAEE;AAAc,CAAC;AAC3D,MAAM0B,WAAW,GAAG,EAAE;AACtB,MAAMC,wBAAwB,GAAG;EAChC,CAAEtB,WAAW,GAAI;IAChBuB,UAAU,EAAE,SAAS;IACrBC,YAAY,EAAE;EACf;AACD,CAAC;AACD,MAAMC,YAAY,GAAG;EACpBC,IAAI,EAAE1B,WAAW;EACjB2B,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,YAAY,EAAE,CAAE,aAAa,CAAE;EAC/BC,MAAM,EAAE;IACP,GAAGT,wBAAwB,CAAEtB,WAAW;EACzC,CAAC;EACDgC,OAAO,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAG,CACpB;EACCC,KAAK,EAAE/B,kBAAkB,CAACgC,IAAI;EAC9BC,KAAK,EAAEzD,EAAE,CAAE,QAAQ,EAAE,6CAA8C,CAAC;EACpE0D,WAAW,EAAE3D,EAAE,CAAE,iDAAkD;AACpE,CAAC,EACD;EACCwD,KAAK,EAAE/B,kBAAkB,CAACmC,QAAQ;EAClCF,KAAK,EAAEzD,EAAE,CACR,YAAY,EACZ,0DACD,CAAC;EACD0D,WAAW,EAAE3D,EAAE,CACd,iEACD;AACD,CAAC,CACD;AAED,SAAS6D,cAAcA,CAAE;EAAEC,IAAI;EAAEC,OAAO;EAAEC,eAAe;EAAEC;AAAS,CAAC,EAAG;EACvE,IAAKH,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAAC2C,KAAK,EAAG;IACxC,OAAOD,QAAQ;EAChB;EACA,OACCE,aAAA;IACCC,SAAS,EAAC,qCAAqC;IAC/CpB,IAAI,EAAC,QAAQ;IACbe,OAAO,EAAGA,OAAS;IACnB,cAAaD,IAAI,CAACO,KAAO;IACzB,oBAAmBL;EAAiB,GAElCC,QACK,CAAC;AAEX;AAEA,SAASK,OAAOA,CAAE;EAAER,IAAI;EAAES,UAAU;EAAEC;AAAS,CAAC,EAAG;EAClD,MAAMC,aAAa,GAAGpE,KAAK,CAAC,CAAC;EAC7B,MAAMqE,aAAa,GAAGZ,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAACoD,IAAI;EACtD,MAAMC,gBAAgB,GAAGd,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAAC2C,KAAK;EAC1D,MAAMW,cAAc,GAAGf,IAAI,CAACd,IAAI,KAAKxB,uBAAuB;EAC5D,MAAMsD,OAAO,GAAG,CAAEhB,IAAI,CAACiB,MAAM,EAAEC,MAAM;EACrC;EACA,MAAMC,eAAe,GACpBP,aAAa,IAAMG,cAAc,IAAIf,IAAI,CAACoB,QAAU;EACrD,MAAMC,gBAAgB,GAAG,EAAE;EAC3B,IAAKF,eAAe,EAAG;IACtB;IACAE,gBAAgB,CAACC,IAAI,CACpBpF,EAAE,CAAE,uDAAwD,CAC7D,CAAC;EACF,CAAC,MAAM,IAAK8D,IAAI,CAACH,WAAW,EAAG;IAC9BwB,gBAAgB,CAACC,IAAI,CAAEtB,IAAI,CAACH,WAAY,CAAC;EAC1C;EAEA,IAAKiB,gBAAgB,EAAG;IACvBO,gBAAgB,CAACC,IAAI,CACpBpF,EAAE,CAAE,2CAA4C,CACjD,CAAC;EACF;EACA,MAAM,CAAEqF,eAAe,CAAE,GAAG5C,cAAc,CAAE,kBAAmB,CAAC;EAChE,MAAM;IAAEsB;EAAQ,CAAC,GAAGxB,OAAO,CAAE;IAC5B+C,QAAQ,EAAExB,IAAI,CAACd,IAAI;IACnBuC,MAAM,EAAEb,aAAa,GAAGZ,IAAI,CAAC0B,EAAE,GAAG1B,IAAI,CAAC2B,IAAI;IAC3ClB,UAAU;IACVmB,YAAY,EAAEb,cAAc,GAAGf,IAAI,CAACd,IAAI,GAAGzB,aAAa,CAAC2C;EAC1D,CAAE,CAAC;EAEH,OACCC,aAAA,CAAAwB,QAAA,QACCxB,aAAA;IACCC,SAAS,EAAI,2CAA2CI,QAAU,EAAG;IACrEoB,KAAK,EAAG;MAAEP;IAAgB;EAAG,GAE7BlB,aAAA,CAACN,cAAc;IACdC,IAAI,EAAGA,IAAM;IACbC,OAAO,EAAGA,OAAS;IACnBC,eAAe,EACdmB,gBAAgB,CAACH,MAAM,GACpBG,gBAAgB,CACfU,GAAG,CACH,CAAEC,CAAC,EAAEC,KAAK,KACR,GAAGtB,aAAe,IAAIsB,KAAO,EAChC,CAAC,CACAC,IAAI,CAAE,GAAI,CAAC,GACZC;EACH,GAECnB,OAAO,IAAID,cAAc,IAAI7E,EAAE,CAAE,qBAAsB,CAAC,EACxD8E,OAAO,IAAI,CAAED,cAAc,IAAI7E,EAAE,CAAE,eAAgB,CAAC,EACpD,CAAE8E,OAAO,IAAIX,aAAA,CAAC5D,YAAY;IAACwE,MAAM,EAAGjB,IAAI,CAACiB;EAAQ,CAAE,CACtC,CACZ,CAAC,EACJI,gBAAgB,CAACU,GAAG,CAAE,CAAEK,eAAe,EAAEH,KAAK,KAC/C5B,aAAA;IACCgC,GAAG,EAAGJ,KAAO;IACbK,MAAM;IACNZ,EAAE,EAAI,GAAGf,aAAe,IAAIsB,KAAO;EAAG,GAEpCG,eACE,CACJ,CACD,CAAC;AAEL;AAEA,SAASG,KAAKA,CAAE;EAAEvC,IAAI;EAAES;AAAW,CAAC,EAAG;EACtC,MAAMG,aAAa,GAAGZ,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAACoD,IAAI;EACtD,MAAMC,gBAAgB,GAAGd,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAAC2C,KAAK;EAC1D,MAAMW,cAAc,GAAGf,IAAI,CAACd,IAAI,KAAKxB,uBAAuB;EAC5D,IAAI8E,QAAQ;EACZ,MAAM;IAAEvC;EAAQ,CAAC,GAAGxB,OAAO,CAAE;IAC5B+C,QAAQ,EAAExB,IAAI,CAACd,IAAI;IACnBuC,MAAM,EAAEb,aAAa,GAAGZ,IAAI,CAAC0B,EAAE,GAAG1B,IAAI,CAAC2B,IAAI;IAC3ClB,UAAU;IACVmB,YAAY,EAAEb,cAAc,GAAGf,IAAI,CAACd,IAAI,GAAGzB,aAAa,CAAC2C;EAC1D,CAAE,CAAC;EACH,IAAK,CAAEQ,aAAa,IAAIhC,iBAAiB,CAAE6B,UAAU,CAAE,EAAG;IACzD+B,QAAQ,GAAG5D,iBAAiB,CAAE6B,UAAU,CAAE;EAC3C,CAAC,MAAM;IACN+B,QAAQ,GACPxC,IAAI,CAACyC,UAAU,KAAK9E,kBAAkB,CAACgC,IAAI,GAAGvC,MAAM,GAAG+E,SAAS;EAClE;EACA,OACC9B,aAAA,CAACxE,MAAM;IAAC6G,SAAS,EAAC,QAAQ;IAACC,OAAO,EAAC,YAAY;IAACC,OAAO,EAAG;EAAG,GAC5DvC,aAAA,CAACrE,IAAI;IACJ6G,EAAE,EAAC,KAAK;IACRC,GAAG,EAAG,CAAG;IACTH,OAAO,EAAC,MAAM;IACdrC,SAAS,EAAC;EAAmC,GAE3CN,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAAC2C,KAAK,GAClCJ,IAAI,CAACO,KAAK,GAEVF,aAAA,CAACvE,MAAM;IACNiH,OAAO,EAAC,MAAM;IACd9C,OAAO,EAAGA;IACV;IACA;IAAA;IACA+C,QAAQ,EAAC;EAAI,GAEXhD,IAAI,CAACO,KAAK,IAAIP,IAAI,CAAC2B,IACd,CAEJ,CAAC,EACLa,QAAQ,IAAI,CAAE1B,gBAAgB,IAC/BT,aAAA,CAACtE,OAAO;IACPkH,SAAS,EAAC,KAAK;IACfC,IAAI,EAAGhH,EAAE,CACR,2DACD;EAAG,GAEHmE,aAAA,CAACtD,IAAI;IACJuD,SAAS,EAAC,kCAAkC;IAC5C6C,IAAI,EAAGX;EAAU,CACjB,CACO,CACT,EACCxC,IAAI,CAACd,IAAI,KAAKzB,aAAa,CAAC2C,KAAK,IAClCC,aAAA,CAACtE,OAAO;IACPkH,SAAS,EAAC,KAAK;IACfC,IAAI,EAAGhH,EAAE,CAAE,gCAAiC;EAAG,GAE/CmE,aAAA,CAACtD,IAAI;IACJuD,SAAS,EAAC,uCAAuC;IACjD6C,IAAI,EAAG9F,SAAW;IAClB+F,IAAI,EAAG;EAAI,CACX,CACO,CAEH,CAAC;AAEX;AAEA,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IAAEzB,YAAY;IAAEnB,UAAU,GAAG7C;EAAyB,CAAC,GAC5D3B,YAAY,CAAEqH,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC;EACrC,MAAMtE,IAAI,GAAG0C,YAAY,IAAInE,aAAa,CAAC2C,KAAK;EAChD,MAAM,CAAEqD,IAAI,EAAEC,OAAO,CAAE,GAAGtH,QAAQ,CAAE6C,YAAa,CAAC;EAClD,MAAM0E,4BAA4B,GACjCzE,IAAI,KAAKzB,aAAa,CAAC2C,KAAK,IAAIK,UAAU,KAAK,eAAe;EAC/D,MAAMmD,kBAAkB,GAAGtG,WAAW,CAAEmD,UAAW,CAAC;EACpD,MAAMoD,cAAc,GAAGJ,IAAI,CAACjE,OAAO,EAAEsE,IAAI,CACxC,CAAE;IAAEC;EAAM,CAAC,KAAMA,KAAK,KAAK,aAC5B,CAAC,EAAErE,KAAK;EACR,MAAM;IAAEsE,QAAQ;IAAEC;EAAY,CAAC,GAAG1F,WAAW,CAC5CW,IAAI,EACJyE,4BAA4B,GAAG,EAAE,GAAGlD,UAAU,EAC9C;IACCtB,MAAM,EAAEsE,IAAI,CAACtE,MAAM;IACnBsD,UAAU,EAAEoB;EACb,CACD,CAAC;EACD,MAAMK,MAAM,GAAG7H,OAAO,CAAE,MAAM;IAC7B,MAAM8H,OAAO,GAAG,CACf;MACCnH,MAAM,EAAEd,EAAE,CAAE,SAAU,CAAC;MACvBwF,EAAE,EAAE,SAAS;MACb0C,MAAM,EAAEA,CAAE;QAAEpE;MAAK,CAAC,KACjBK,aAAA,CAACG,OAAO;QACPR,IAAI,EAAGA,IAAM;QACbS,UAAU,EAAGA,UAAY;QACzBC,QAAQ,EAAG+C,IAAI,CAACvE;MAAM,CACtB,CACD;MACDmF,aAAa,EAAE,KAAK;MACpBC,YAAY,EAAE;IACf,CAAC,EACD;MACCtH,MAAM,EAAEd,EAAE,CAAE,OAAQ,CAAC;MACrBwF,EAAE,EAAE,OAAO;MACX6C,QAAQ,EAAEA,CAAE;QAAEvE;MAAK,CAAC,KAAMA,IAAI,CAACO,KAAK;MACpC6D,MAAM,EAAEA,CAAE;QAAEpE;MAAK,CAAC,KACjBK,aAAA,CAACkC,KAAK;QAACvC,IAAI,EAAGA,IAAM;QAACS,UAAU,EAAGA;MAAY,CAAE,CAChD;MACD6D,YAAY,EAAE;IACf,CAAC,CACD;IACD,IAAKpF,IAAI,KAAKzB,aAAa,CAAC2C,KAAK,EAAG;MACnC+D,OAAO,CAAC7C,IAAI,CAAE;QACbtE,MAAM,EAAEd,EAAE,CAAE,aAAc,CAAC;QAC3BwF,EAAE,EAAE,aAAa;QACjB0C,MAAM,EAAEA,CAAE;UAAEpE;QAAK,CAAC,KAAM;UACvB;UACA;UACA,OACCP,YAAY,CAACqE,IAAI,CAChB,CAAE;YAAEpE;UAAM,CAAC,KAAMA,KAAK,KAAKM,IAAI,CAACyC,UACjC,CAAC,EAAE7C,KAAK,IACRH,YAAY,CAACqE,IAAI,CAChB,CAAE;YAAEpE;UAAM,CAAC,KACVA,KAAK,KAAK/B,kBAAkB,CAACmC,QAC/B,CAAC,CAACF,KAAK;QAET,CAAC;QACDV,IAAI,EAAErB,gBAAgB;QACtB2G,QAAQ,EAAE/E,YAAY;QACtBgF,QAAQ,EAAE;UACTC,SAAS,EAAE,CAAE5G,WAAW,CAAE;UAC1B6G,SAAS,EAAE;QACZ,CAAC;QACDN,aAAa,EAAE;MAChB,CAAE,CAAC;IACJ;IACA,OAAOF,OAAO;EACf,CAAC,EAAE,CAAEV,IAAI,CAACvE,IAAI,EAAEuB,UAAU,EAAEvB,IAAI,CAAG,CAAC;EACpC;EACA1C,SAAS,CAAE,MAAM;IAChB,IAAKoH,kBAAkB,KAAKnD,UAAU,EAAG;MACxCiD,OAAO,CAAEzE,YAAa,CAAC;IACxB;EACD,CAAC,EAAE,CAAEwB,UAAU,EAAEmD,kBAAkB,CAAG,CAAC;EACvC,MAAM;IAAEgB,IAAI;IAAEC;EAAe,CAAC,GAAGxI,OAAO,CAAE,MAAM;IAC/C,IAAK,CAAE2H,QAAQ,EAAG;MACjB,OAAO;QACNY,IAAI,EAAE/F,WAAW;QACjBgG,cAAc,EAAE;UAAEC,UAAU,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE;MAChD,CAAC;IACF;IACA,IAAIC,YAAY,GAAG,CAAE,GAAGhB,QAAQ,CAAE;IAClC;IACA,IAAKP,IAAI,CAACwB,IAAI,EAAG;MAChBD,YAAY,GAAGnI,gBAAgB,CAAE;QAChC+H,IAAI,EAAEI,YAAY;QAClBvB,IAAI;QACJS,MAAM;QACNgB,UAAU,EAAE,CAAE,OAAO,EAAE,QAAQ;MAChC,CAAE,CAAC;IACJ;IACA;IACA,OAAOpI,oBAAoB,CAAE;MAC5B8H,IAAI,EAAEI,YAAY;MAClBvB;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEO,QAAQ,EAAEP,IAAI,EAAES,MAAM,CAAG,CAAC;EAE/B,MAAMiB,OAAO,GAAG9I,OAAO,CACtB,MAAM,CACL2B,YAAY,EACZG,sBAAsB,EACtBC,2BAA2B,EAC3BL,gBAAgB,EAChBE,WAAW,EACXC,YAAY,CACZ,EACD,EACD,CAAC;EACD,MAAMkH,YAAY,GAAG9I,WAAW,CAC7B+I,OAAO,IAAM;IACd,IAAKA,OAAO,CAACnG,IAAI,KAAKuE,IAAI,CAACvE,IAAI,EAAG;MACjCmG,OAAO,GAAG;QACT,GAAGA,OAAO;QACV9F,MAAM,EAAE;UACP,GAAGT,wBAAwB,CAAEuG,OAAO,CAACnG,IAAI;QAC1C;MACD,CAAC;IACF;IACAwE,OAAO,CAAE2B,OAAQ,CAAC;EACnB,CAAC,EACD,CAAE5B,IAAI,CAACvE,IAAI,EAAEwE,OAAO,CACrB,CAAC;EACD,MAAMhC,EAAE,GAAGnF,KAAK,CAAC,CAAC;EAClB,MAAM+I,QAAQ,GAAGjH,kBAAkB,CAAC,CAAC;EACrC;EACA;EACA;EACA;EACA,OACCgC,aAAA,CAAC3B,+BAA+B;IAAC4G,QAAQ,EAAGA;EAAU,GACrDjF,aAAA,CAAC9C,IAAI;IACJgD,KAAK,EAAGrE,EAAE,CAAE,kBAAmB,CAAG;IAClCoE,SAAS,EAAC,mCAAmC;IAC7CiF,eAAe;EAAA,GAEflF,aAAA,CAAC7B,cAAc;IACdiC,UAAU,EAAGA,UAAY;IACzBvB,IAAI,EAAGA,IAAM;IACbsG,OAAO,EAAI,GAAG9D,EAAI,QAAS;IAC3Bf,aAAa,EAAI,GAAGe,EAAI;EAAe,CACvC,CAAC,EACFrB,aAAA,CAACzD,SAAS;IACTiI,cAAc,EAAGA,cAAgB;IACjCX,MAAM,EAAGA,MAAQ;IACjBiB,OAAO,EAAGA,OAAS;IACnBP,IAAI,EAAGA,IAAI,IAAI/F,WAAa;IAC5B4G,SAAS,EAAKzF,IAAI,IAAMA,IAAI,CAAC2B,IAAM;IACnC+D,SAAS,EAAGzB,WAAa;IACzBR,IAAI,EAAGA,IAAM;IACb2B,YAAY,EAAGA,YAAc;IAC7BO,iBAAiB,EAAG,IAAM;IAC1BC,gBAAgB,EAAG,CAAEpI,WAAW;EAAI,CACpC,CACI,CAC0B,CAAC;AAEpC"}
@@ -81,6 +81,9 @@ const selectThemePatterns = createSelector(select => {
81
81
  const {
82
82
  getSettings
83
83
  } = unlock(select(editSiteStore));
84
+ const {
85
+ getIsResolving
86
+ } = select(coreStore);
84
87
  const settings = getSettings();
85
88
  const blockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
86
89
  const restBlockPatterns = select(coreStore).getBlockPatterns();
@@ -94,15 +97,17 @@ const selectThemePatterns = createSelector(select => {
94
97
  }));
95
98
  return {
96
99
  patterns,
97
- isResolving: false
100
+ isResolving: getIsResolving('getBlockPatterns')
98
101
  };
99
- }, select => [select(coreStore).getBlockPatterns(), unlock(select(editSiteStore)).getSettings()]);
102
+ }, select => [select(coreStore).getBlockPatterns(), select(coreStore).getIsResolving('getBlockPatterns'), unlock(select(editSiteStore)).getSettings()]);
100
103
  const selectPatterns = createSelector((select, categoryId, syncStatus, search = '') => {
101
104
  const {
102
- patterns: themePatterns
105
+ patterns: themePatterns,
106
+ isResolving: isResolvingThemePatterns
103
107
  } = selectThemePatterns(select);
104
108
  const {
105
- patterns: userPatterns
109
+ patterns: userPatterns,
110
+ isResolving: isResolvingUserPatterns
106
111
  } = selectUserPatterns(select);
107
112
  let patterns = [...(themePatterns || []), ...(userPatterns || [])];
108
113
  if (syncStatus) {
@@ -124,7 +129,7 @@ const selectPatterns = createSelector((select, categoryId, syncStatus, search =
124
129
  }
125
130
  return {
126
131
  patterns,
127
- isResolving: false
132
+ isResolving: isResolvingThemePatterns || isResolvingUserPatterns
128
133
  };
129
134
  }, select => [selectThemePatterns(select), selectUserPatterns(select)]);
130
135
 
@@ -1 +1 @@
1
- {"version":3,"names":["createSelector","parse","useSelect","store","coreStore","editorStore","decodeEntities","filterOutDuplicatesByName","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","PATTERN_SYNC_TYPES","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","custom","keywords","id","name","title","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","__experimentalGetDefaultTemplatePartAreas","query","per_page","rawTemplateParts","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","inserter","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","user","unsynced","currentCategory","hasOwnProperty","convertPatternPostToItem","patternPost","wp_pattern_category","length","patternCategoryId","get","termLabels","label","wp_pattern_sync_status","full","getUserPatternCategories","patternPosts","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? pattern.syncStatus === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\n/**\n * Converts a post of type `wp_block` to a 'pattern item' that more closely\n * matches the structure of theme provided patterns.\n *\n * @param {Object} patternPost The `wp_block` record being normalized.\n * @param {Map} categories A Map of user created categories.\n *\n * @return {Object} The normalized item.\n */\nconst convertPatternPostToItem = ( patternPost, categories ) => ( {\n\tblocks: parse( patternPost.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternPost.wp_pattern_category.length > 0 && {\n\t\tcategories: patternPost.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\ttermLabels: patternPost.wp_pattern_category.map( ( patternCategoryId ) =>\n\t\tcategories?.get( patternCategoryId )\n\t\t\t? categories.get( patternCategoryId ).label\n\t\t\t: patternCategoryId\n\t),\n\tid: patternPost.id,\n\tname: patternPost.slug,\n\tsyncStatus: patternPost.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternPost.title.raw,\n\ttype: patternPost.type,\n\tpatternPost,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts\n\t\t\t? patternPosts.map( ( record ) =>\n\t\t\t\t\tconvertPatternPostToItem( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
1
+ {"version":3,"names":["createSelector","parse","useSelect","store","coreStore","editorStore","decodeEntities","filterOutDuplicatesByName","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","PATTERN_SYNC_TYPES","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","custom","keywords","id","name","title","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","__experimentalGetDefaultTemplatePartAreas","query","per_page","rawTemplateParts","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","inserter","selectPatterns","syncStatus","themePatterns","isResolvingThemePatterns","userPatterns","isResolvingUserPatterns","selectUserPatterns","user","unsynced","currentCategory","hasOwnProperty","convertPatternPostToItem","patternPost","wp_pattern_category","length","patternCategoryId","get","termLabels","label","wp_pattern_sync_status","full","getUserPatternCategories","patternPosts","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst { getIsResolving } = select( coreStore );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\t\treturn { patterns, isResolving: getIsResolving( 'getBlockPatterns' ) };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tselect( coreStore ).getIsResolving( 'getBlockPatterns' ),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tpatterns: themePatterns,\n\t\t\tisResolving: isResolvingThemePatterns,\n\t\t} = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns, isResolving: isResolvingUserPatterns } =\n\t\t\tselectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? pattern.syncStatus === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingThemePatterns || isResolvingUserPatterns,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\n/**\n * Converts a post of type `wp_block` to a 'pattern item' that more closely\n * matches the structure of theme provided patterns.\n *\n * @param {Object} patternPost The `wp_block` record being normalized.\n * @param {Map} categories A Map of user created categories.\n *\n * @return {Object} The normalized item.\n */\nconst convertPatternPostToItem = ( patternPost, categories ) => ( {\n\tblocks: parse( patternPost.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternPost.wp_pattern_category.length > 0 && {\n\t\tcategories: patternPost.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\ttermLabels: patternPost.wp_pattern_category.map( ( patternCategoryId ) =>\n\t\tcategories?.get( patternCategoryId )\n\t\t\t? categories.get( patternCategoryId ).label\n\t\t\t: patternCategoryId\n\t),\n\tid: patternPost.id,\n\tname: patternPost.slug,\n\tsyncStatus: patternPost.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternPost.title.raw,\n\ttype: patternPost.type,\n\tpatternPost,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts\n\t\t\t? patternPosts.map( ( record ) =>\n\t\t\t\t\tconvertPatternPostToItem( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,cAAc,MAAM,QAAQ;;AAEnC;AACA;AACA;AACA,SAASC,KAAK,QAAQ,mBAAmB;AACzC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASD,KAAK,IAAIE,WAAW,QAAQ,mBAAmB;AACxD,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,SAASC,yBAAyB,QAAQ,SAAS;AACnD,SACCC,wBAAwB,EACxBC,aAAa,EACbC,kBAAkB,EAClBC,uBAAuB,EACvBC,gBAAgB,EAChBC,mCAAmC,QAC7B,uBAAuB;AAC9B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASZ,KAAK,IAAIa,aAAa,QAAQ,aAAa;AAEpD,MAAMC,kBAAkB,GAAG,EAAE;AAE7B,MAAMC,oBAAoB,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KACzCD,KAAK,IAAIC,IAAI,GAAGD,KAAK,GAAG,IAAI,GAAGC,IAAI,GAAG,IAAI;AAE3C,MAAMC,qBAAqB,GAAKC,YAAY,KAAQ;EACnDC,MAAM,EAAEtB,KAAK,CAAEqB,YAAY,CAACE,OAAO,CAACC,GAAG,EAAE;IACxCC,2BAA2B,EAAE;EAC9B,CAAE,CAAC;EACHC,UAAU,EAAE,CAAEL,YAAY,CAACM,IAAI,CAAE;EACjCC,WAAW,EAAEP,YAAY,CAACO,WAAW,IAAI,EAAE;EAC3CC,QAAQ,EAAER,YAAY,CAACS,MAAM,KAAKnB,gBAAgB,CAACoB,MAAM;EACzDC,QAAQ,EAAEX,YAAY,CAACW,QAAQ,IAAI,EAAE;EACrCC,EAAE,EAAEhB,oBAAoB,CAAEI,YAAY,CAACH,KAAK,EAAEG,YAAY,CAACF,IAAK,CAAC;EACjEe,IAAI,EAAEjB,oBAAoB,CAAEI,YAAY,CAACH,KAAK,EAAEG,YAAY,CAACF,IAAK,CAAC;EACnEgB,KAAK,EAAE9B,cAAc,CAAEgB,YAAY,CAACc,KAAK,CAACC,QAAS,CAAC;EACpDC,IAAI,EAAEhB,YAAY,CAACgB,IAAI;EACvBhB;AACD,CAAC,CAAE;AAEH,MAAMiB,6BAA6B,GAAGvC,cAAc,CACnD,CAAEwC,MAAM,EAAEC,UAAU,EAAEC,MAAM,GAAG,EAAE,KAAM;EAAA,IAAAC,iBAAA;EACtC,MAAM;IAAEC,gBAAgB;IAAEC;EAAe,CAAC,GAAGL,MAAM,CAAEpC,SAAU,CAAC;EAChE,MAAM;IAAE0C;EAA0C,CAAC,GAClDN,MAAM,CAAEnC,WAAY,CAAC;EACtB,MAAM0C,KAAK,GAAG;IAAEC,QAAQ,EAAE,CAAC;EAAE,CAAC;EAC9B,MAAMC,gBAAgB,IAAAN,iBAAA,GACrBC,gBAAgB,CAAE,UAAU,EAAEjC,uBAAuB,EAAEoC,KAAM,CAAC,cAAAJ,iBAAA,cAAAA,iBAAA,GAC9D1B,kBAAkB;EACnB,MAAMiC,aAAa,GAAGD,gBAAgB,CAACE,GAAG,CAAI7B,YAAY,IACzDD,qBAAqB,CAAEC,YAAa,CACrC,CAAC;;EAED;EACA;EACA;EACA,MAAM8B,UAAU,GAAGN,yCAAyC,CAAC,CAAC,IAAI,EAAE;EACpE,MAAMO,iBAAiB,GAAGD,UAAU,CAACD,GAAG,CAAIvB,IAAI,IAAMA,IAAI,CAACA,IAAK,CAAC;EAEjE,MAAM0B,uBAAuB,GAAGA,CAAEC,IAAI,EAAEC,QAAQ,KAAM;IACrD,IAAKA,QAAQ,KAAK3C,mCAAmC,EAAG;MACvD,OAAO0C,IAAI,CAACjC,YAAY,CAACM,IAAI,KAAK4B,QAAQ;IAC3C;IAEA,OACCD,IAAI,CAACjC,YAAY,CAACM,IAAI,KAAK4B,QAAQ,IACnC,CAAEH,iBAAiB,CAACI,QAAQ,CAAEF,IAAI,CAACjC,YAAY,CAACM,IAAK,CAAC;EAExD,CAAC;EAED,MAAM8B,WAAW,GAAGb,cAAc,CAAE,kBAAkB,EAAE,CACvD,UAAU,EACVlC,uBAAuB,EACvBoC,KAAK,CACJ,CAAC;EAEH,MAAMY,QAAQ,GAAG5C,WAAW,CAAEmC,aAAa,EAAER,MAAM,EAAE;IACpDD,UAAU;IACVmB,WAAW,EAAEN;EACd,CAAE,CAAC;EAEH,OAAO;IAAEK,QAAQ;IAAED;EAAY,CAAC;AACjC,CAAC,EACClB,MAAM,IAAM,CACbA,MAAM,CAAEpC,SAAU,CAAC,CAACwC,gBAAgB,CACnC,UAAU,EACVjC,uBAAuB,EACvB;EACCqC,QAAQ,EAAE,CAAC;AACZ,CACD,CAAC,EACDR,MAAM,CAAEpC,SAAU,CAAC,CAACyC,cAAc,CAAE,kBAAkB,EAAE,CACvD,UAAU,EACVlC,uBAAuB,EACvB;EAAEqC,QAAQ,EAAE,CAAC;AAAE,CAAC,CACf,CAAC,EACHR,MAAM,CAAEnC,WAAY,CAAC,CAACyC,yCAAyC,CAAC,CAAC,CAEnE,CAAC;AAED,MAAMe,mBAAmB,GAAG7D,cAAc,CACvCwC,MAAM,IAAM;EAAA,IAAAsB,qBAAA;EACb,MAAM;IAAEC;EAAY,CAAC,GAAGjD,MAAM,CAAE0B,MAAM,CAAExB,aAAc,CAAE,CAAC;EACzD,MAAM;IAAE6B;EAAe,CAAC,GAAGL,MAAM,CAAEpC,SAAU,CAAC;EAC9C,MAAM4D,QAAQ,GAAGD,WAAW,CAAC,CAAC;EAC9B,MAAME,aAAa,IAAAH,qBAAA,GAClBE,QAAQ,CAACE,qCAAqC,cAAAJ,qBAAA,cAAAA,qBAAA,GAC9CE,QAAQ,CAACG,2BAA2B;EAErC,MAAMC,iBAAiB,GAAG5B,MAAM,CAAEpC,SAAU,CAAC,CAACiE,gBAAgB,CAAC,CAAC;EAEhE,MAAMV,QAAQ,GAAG,CAChB,IAAKM,aAAa,IAAI,EAAE,CAAE,EAC1B,IAAKG,iBAAiB,IAAI,EAAE,CAAE,CAC9B,CACCE,MAAM,CACJC,OAAO,IACR,CAAE/D,wBAAwB,CAACiD,QAAQ,CAAEc,OAAO,CAACxC,MAAO,CACtD,CAAC,CACAuC,MAAM,CAAE/D,yBAA0B,CAAC,CACnC+D,MAAM,CAAIC,OAAO,IAAMA,OAAO,CAACC,QAAQ,KAAK,KAAM,CAAC,CACnDrB,GAAG,CAAIoB,OAAO,KAAQ;IACtB,GAAGA,OAAO;IACVtC,QAAQ,EAAEsC,OAAO,CAACtC,QAAQ,IAAI,EAAE;IAChCK,IAAI,EAAE7B,aAAa,CAACU,KAAK;IACzBI,MAAM,EAAEtB,KAAK,CAAEsE,OAAO,CAAC/C,OAAO,EAAE;MAC/BE,2BAA2B,EAAE;IAC9B,CAAE;EACH,CAAC,CAAG,CAAC;EACN,OAAO;IAAEiC,QAAQ;IAAED,WAAW,EAAEb,cAAc,CAAE,kBAAmB;EAAE,CAAC;AACvE,CAAC,EACCL,MAAM,IAAM,CACbA,MAAM,CAAEpC,SAAU,CAAC,CAACiE,gBAAgB,CAAC,CAAC,EACtC7B,MAAM,CAAEpC,SAAU,CAAC,CAACyC,cAAc,CAAE,kBAAmB,CAAC,EACxD/B,MAAM,CAAE0B,MAAM,CAAExB,aAAc,CAAE,CAAC,CAAC+C,WAAW,CAAC,CAAC,CAEjD,CAAC;AAED,MAAMU,cAAc,GAAGzE,cAAc,CACpC,CAAEwC,MAAM,EAAEC,UAAU,EAAEiC,UAAU,EAAEhC,MAAM,GAAG,EAAE,KAAM;EAClD,MAAM;IACLiB,QAAQ,EAAEgB,aAAa;IACvBjB,WAAW,EAAEkB;EACd,CAAC,GAAGf,mBAAmB,CAAErB,MAAO,CAAC;EACjC,MAAM;IAAEmB,QAAQ,EAAEkB,YAAY;IAAEnB,WAAW,EAAEoB;EAAwB,CAAC,GACrEC,kBAAkB,CAAEvC,MAAO,CAAC;EAE7B,IAAImB,QAAQ,GAAG,CACd,IAAKgB,aAAa,IAAI,EAAE,CAAE,EAC1B,IAAKE,YAAY,IAAI,EAAE,CAAE,CACzB;EAED,IAAKH,UAAU,EAAG;IACjB;IACA;IACAf,QAAQ,GAAGA,QAAQ,CAACW,MAAM,CAAIC,OAAO,IAAM;MAC1C,OAAOA,OAAO,CAACjC,IAAI,KAAK7B,aAAa,CAACuE,IAAI,GACvCT,OAAO,CAACG,UAAU,KAAKA,UAAU,GACjCA,UAAU,KAAKhE,kBAAkB,CAACuE,QAAQ;IAC9C,CAAE,CAAC;EACJ;EAEA,IAAKxC,UAAU,EAAG;IACjBkB,QAAQ,GAAG5C,WAAW,CAAE4C,QAAQ,EAAEjB,MAAM,EAAE;MACzCD,UAAU;MACVmB,WAAW,EAAEA,CAAEL,IAAI,EAAE2B,eAAe,KACnC3B,IAAI,CAAC5B,UAAU,EAAE8B,QAAQ,CAAEyB,eAAgB;IAC7C,CAAE,CAAC;EACJ,CAAC,MAAM;IACNvB,QAAQ,GAAG5C,WAAW,CAAE4C,QAAQ,EAAEjB,MAAM,EAAE;MACzCkB,WAAW,EAAIL,IAAI,IAAM,CAAEA,IAAI,CAAC4B,cAAc,CAAE,YAAa;IAC9D,CAAE,CAAC;EACJ;EACA,OAAO;IACNxB,QAAQ;IACRD,WAAW,EAAEkB,wBAAwB,IAAIE;EAC1C,CAAC;AACF,CAAC,EACCtC,MAAM,IAAM,CACbqB,mBAAmB,CAAErB,MAAO,CAAC,EAC7BuC,kBAAkB,CAAEvC,MAAO,CAAC,CAE9B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4C,wBAAwB,GAAGA,CAAEC,WAAW,EAAE1D,UAAU,MAAQ;EACjEJ,MAAM,EAAEtB,KAAK,CAAEoF,WAAW,CAAC7D,OAAO,CAACC,GAAG,EAAE;IACvCC,2BAA2B,EAAE;EAC9B,CAAE,CAAC;EACH,IAAK2D,WAAW,CAACC,mBAAmB,CAACC,MAAM,GAAG,CAAC,IAAI;IAClD5D,UAAU,EAAE0D,WAAW,CAACC,mBAAmB,CAACnC,GAAG,CAC5CqC,iBAAiB,IAClB7D,UAAU,IAAIA,UAAU,CAAC8D,GAAG,CAAED,iBAAkB,CAAC,GAC9C7D,UAAU,CAAC8D,GAAG,CAAED,iBAAkB,CAAC,CAACpE,IAAI,GACxCoE,iBACL;EACD,CAAC,CAAE;EACHE,UAAU,EAAEL,WAAW,CAACC,mBAAmB,CAACnC,GAAG,CAAIqC,iBAAiB,IACnE7D,UAAU,EAAE8D,GAAG,CAAED,iBAAkB,CAAC,GACjC7D,UAAU,CAAC8D,GAAG,CAAED,iBAAkB,CAAC,CAACG,KAAK,GACzCH,iBACJ,CAAC;EACDtD,EAAE,EAAEmD,WAAW,CAACnD,EAAE;EAClBC,IAAI,EAAEkD,WAAW,CAACjE,IAAI;EACtBsD,UAAU,EAAEW,WAAW,CAACO,sBAAsB,IAAIlF,kBAAkB,CAACmF,IAAI;EACzEzD,KAAK,EAAEiD,WAAW,CAACjD,KAAK,CAACX,GAAG;EAC5Ba,IAAI,EAAE+C,WAAW,CAAC/C,IAAI;EACtB+C;AACD,CAAC,CAAE;AAEH,MAAMN,kBAAkB,GAAG/E,cAAc,CACxC,CAAEwC,MAAM,EAAEkC,UAAU,EAAEhC,MAAM,GAAG,EAAE,KAAM;EACtC,MAAM;IAAEE,gBAAgB;IAAEC,cAAc;IAAEiD;EAAyB,CAAC,GACnEtD,MAAM,CAAEpC,SAAU,CAAC;EAEpB,MAAM2C,KAAK,GAAG;IAAEC,QAAQ,EAAE,CAAC;EAAE,CAAC;EAC9B,MAAM+C,YAAY,GAAGnD,gBAAgB,CACpC,UAAU,EACVnC,aAAa,CAACuE,IAAI,EAClBjC,KACD,CAAC;EACD,MAAMiD,qBAAqB,GAAGF,wBAAwB,CAAC,CAAC;EACxD,MAAMnE,UAAU,GAAG,IAAIsE,GAAG,CAAC,CAAC;EAC5BD,qBAAqB,CAACE,OAAO,CAAIC,YAAY,IAC5CxE,UAAU,CAACyE,GAAG,CAAED,YAAY,CAACjE,EAAE,EAAEiE,YAAa,CAC/C,CAAC;EACD,IAAIxC,QAAQ,GAAGoC,YAAY,GACxBA,YAAY,CAAC5C,GAAG,CAAIkD,MAAM,IAC1BjB,wBAAwB,CAAEiB,MAAM,EAAE1E,UAAW,CAC7C,CAAC,GACDV,kBAAkB;EAErB,MAAMyC,WAAW,GAAGb,cAAc,CAAE,kBAAkB,EAAE,CACvD,UAAU,EACVpC,aAAa,CAACuE,IAAI,EAClBjC,KAAK,CACJ,CAAC;EAEH,IAAK2B,UAAU,EAAG;IACjBf,QAAQ,GAAGA,QAAQ,CAACW,MAAM,CACvBC,OAAO,IAAMA,OAAO,CAACG,UAAU,KAAKA,UACvC,CAAC;EACF;EAEAf,QAAQ,GAAG5C,WAAW,CAAE4C,QAAQ,EAAEjB,MAAM,EAAE;IACzC;IACA;IACA;IACAkB,WAAW,EAAEA,CAAA,KAAM;EACpB,CAAE,CAAC;EAEH,OAAO;IACND,QAAQ;IACRD,WAAW;IACX/B,UAAU,EAAEqE;EACb,CAAC;AACF,CAAC,EACCxD,MAAM,IAAM,CACbA,MAAM,CAAEpC,SAAU,CAAC,CAACwC,gBAAgB,CAAE,UAAU,EAAEnC,aAAa,CAACuE,IAAI,EAAE;EACrEhC,QAAQ,EAAE,CAAC;AACZ,CAAE,CAAC,EACHR,MAAM,CAAEpC,SAAU,CAAC,CAACyC,cAAc,CAAE,kBAAkB,EAAE,CACvD,UAAU,EACVpC,aAAa,CAACuE,IAAI,EAClB;EAAEhC,QAAQ,EAAE,CAAC;AAAE,CAAC,CACf,CAAC,EACHR,MAAM,CAAEpC,SAAU,CAAC,CAAC0F,wBAAwB,CAAC,CAAC,CAEhD,CAAC;AAED,OAAO,MAAMQ,WAAW,GAAGA,CAC1BC,YAAY,EACZ9D,UAAU,EACV;EAAEC,MAAM,GAAG,EAAE;EAAEgC;AAAW,CAAC,GAAG,CAAC,CAAC,KAC5B;EACJ,OAAOxE,SAAS,CACbsC,MAAM,IAAM;IACb,IAAK+D,YAAY,KAAK5F,uBAAuB,EAAG;MAC/C,OAAO4B,6BAA6B,CACnCC,MAAM,EACNC,UAAU,EACVC,MACD,CAAC;IACF,CAAC,MAAM,IAAK6D,YAAY,KAAK9F,aAAa,CAACU,KAAK,EAAG;MAClD,OAAOsD,cAAc,CAAEjC,MAAM,EAAEC,UAAU,EAAEiC,UAAU,EAAEhC,MAAO,CAAC;IAChE,CAAC,MAAM,IAAK6D,YAAY,KAAK9F,aAAa,CAACuE,IAAI,EAAG;MACjD,OAAOD,kBAAkB,CAAEvC,MAAM,EAAEkC,UAAU,EAAEhC,MAAO,CAAC;IACxD;IACA,OAAO;MACNiB,QAAQ,EAAE1C,kBAAkB;MAC5ByC,WAAW,EAAE;IACd,CAAC;EACF,CAAC,EACD,CAAEjB,UAAU,EAAE8D,YAAY,EAAE7D,MAAM,EAAEgC,UAAU,CAC/C,CAAC;AACF,CAAC;AAED,eAAe4B,WAAW"}
@@ -364,6 +364,7 @@ export default function PageTemplatesTemplateParts({
364
364
  setView(newView);
365
365
  }, [view.type, setView, history, params]);
366
366
  return createElement(Page, {
367
+ className: "edit-site-page-template-template-parts-dataviews",
367
368
  title: postType === TEMPLATE_POST_TYPE ? __('Templates') : __('Template Parts'),
368
369
  actions: postType === TEMPLATE_POST_TYPE ? createElement(AddNewTemplate, {
369
370
  templateType: postType,