@wordpress/edit-site 6.48.1 → 6.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-post/index.cjs +0 -1
  3. package/build/components/add-new-post/index.cjs.map +2 -2
  4. package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs +0 -1
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs.map +2 -2
  6. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs +0 -1
  7. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs.map +2 -2
  8. package/build/components/editor/use-editor-title.cjs +1 -1
  9. package/build/components/editor/use-editor-title.cjs.map +2 -2
  10. package/build/components/layout/index.cjs +30 -11
  11. package/build/components/layout/index.cjs.map +3 -3
  12. package/build/components/page-patterns/fields.cjs +2 -51
  13. package/build/components/page-patterns/fields.cjs.map +3 -3
  14. package/build/components/page-patterns/index.cjs +12 -23
  15. package/build/components/page-patterns/index.cjs.map +2 -2
  16. package/build/components/page-templates/index-legacy.cjs +8 -27
  17. package/build/components/page-templates/index-legacy.cjs.map +2 -2
  18. package/build/components/resizable-frame/index.cjs.map +2 -2
  19. package/build/components/routes/use-title.cjs +1 -1
  20. package/build/components/routes/use-title.cjs.map +2 -2
  21. package/build/components/save-button/index.cjs +2 -2
  22. package/build/components/save-button/index.cjs.map +1 -1
  23. package/build/components/save-hub/index.cjs +3 -3
  24. package/build/components/save-hub/index.cjs.map +3 -3
  25. package/build/components/sidebar-dataviews/index.cjs +3 -1
  26. package/build/components/sidebar-dataviews/index.cjs.map +2 -2
  27. package/build/components/sidebar-navigation-item/index.cjs +17 -3
  28. package/build/components/sidebar-navigation-item/index.cjs.map +3 -3
  29. package/build/components/sidebar-navigation-screen-global-styles/index.cjs +2 -18
  30. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +3 -3
  31. package/build/components/sidebar-navigation-screen-identity/index.cjs +0 -19
  32. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +3 -3
  33. package/build/components/sidebar-navigation-screen-main/index.cjs +49 -56
  34. package/build/components/sidebar-navigation-screen-main/index.cjs.map +2 -2
  35. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs +0 -1
  36. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +2 -2
  37. package/build/components/sidebar-navigation-screen-patterns/index.cjs +6 -3
  38. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  39. package/build/components/welcome-guide/editor.cjs +1 -1
  40. package/build/components/welcome-guide/editor.cjs.map +1 -1
  41. package/build/components/welcome-guide/page.cjs +1 -1
  42. package/build/components/welcome-guide/page.cjs.map +1 -1
  43. package/build/components/welcome-guide/template.cjs +1 -1
  44. package/build/components/welcome-guide/template.cjs.map +1 -1
  45. package/build-module/components/add-new-post/index.mjs +0 -1
  46. package/build-module/components/add-new-post/index.mjs.map +2 -2
  47. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs +0 -1
  48. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +2 -2
  49. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs +0 -1
  50. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +2 -2
  51. package/build-module/components/editor/use-editor-title.mjs +1 -1
  52. package/build-module/components/editor/use-editor-title.mjs.map +2 -2
  53. package/build-module/components/layout/index.mjs +26 -7
  54. package/build-module/components/layout/index.mjs.map +2 -2
  55. package/build-module/components/page-patterns/fields.mjs +2 -40
  56. package/build-module/components/page-patterns/fields.mjs.map +2 -2
  57. package/build-module/components/page-patterns/index.mjs +14 -29
  58. package/build-module/components/page-patterns/index.mjs.map +2 -2
  59. package/build-module/components/page-templates/index-legacy.mjs +9 -28
  60. package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
  61. package/build-module/components/resizable-frame/index.mjs.map +2 -2
  62. package/build-module/components/routes/use-title.mjs +1 -1
  63. package/build-module/components/routes/use-title.mjs.map +2 -2
  64. package/build-module/components/save-button/index.mjs +2 -2
  65. package/build-module/components/save-button/index.mjs.map +1 -1
  66. package/build-module/components/save-hub/index.mjs +3 -3
  67. package/build-module/components/save-hub/index.mjs.map +2 -2
  68. package/build-module/components/sidebar-dataviews/index.mjs +3 -1
  69. package/build-module/components/sidebar-dataviews/index.mjs.map +2 -2
  70. package/build-module/components/sidebar-navigation-item/index.mjs +18 -8
  71. package/build-module/components/sidebar-navigation-item/index.mjs.map +2 -2
  72. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs +2 -14
  73. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +2 -2
  74. package/build-module/components/sidebar-navigation-screen-identity/index.mjs +0 -15
  75. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +2 -2
  76. package/build-module/components/sidebar-navigation-screen-main/index.mjs +50 -57
  77. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +2 -2
  78. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs +0 -1
  79. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +2 -2
  80. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +6 -3
  81. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  82. package/build-module/components/welcome-guide/editor.mjs +1 -1
  83. package/build-module/components/welcome-guide/editor.mjs.map +1 -1
  84. package/build-module/components/welcome-guide/page.mjs +1 -1
  85. package/build-module/components/welcome-guide/page.mjs.map +1 -1
  86. package/build-module/components/welcome-guide/template.mjs +1 -1
  87. package/build-module/components/welcome-guide/template.mjs.map +1 -1
  88. package/build-style/{experimental-admin-bar-in-editor-rtl.css → experimental-omnibar-rtl.css} +46 -1
  89. package/build-style/{experimental-admin-bar-in-editor.css → experimental-omnibar.css} +46 -1
  90. package/build-style/style-rtl.css +250 -273
  91. package/build-style/style.css +250 -273
  92. package/package.json +48 -48
  93. package/src/components/add-new-post/index.js +0 -1
  94. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +0 -1
  95. package/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +0 -1
  96. package/src/components/layout/index.js +21 -11
  97. package/src/components/layout/style.scss +19 -12
  98. package/src/components/page-patterns/fields.js +1 -48
  99. package/src/components/page-patterns/index.js +17 -29
  100. package/src/components/page-patterns/style.scss +1 -1
  101. package/src/components/page-templates/index-legacy.js +9 -28
  102. package/src/components/page-templates/style.scss +0 -5
  103. package/src/components/resizable-frame/index.js +0 -1
  104. package/src/components/save-hub/index.js +4 -4
  105. package/src/components/save-hub/style.scss +3 -3
  106. package/src/components/sidebar-button/style.scss +2 -2
  107. package/src/components/sidebar-dataviews/index.js +3 -0
  108. package/src/components/sidebar-global-styles/style.scss +1 -1
  109. package/src/components/sidebar-navigation-item/index.js +22 -9
  110. package/src/components/sidebar-navigation-item/style.scss +6 -6
  111. package/src/components/sidebar-navigation-screen/style.scss +8 -8
  112. package/src/components/sidebar-navigation-screen-global-styles/index.js +2 -15
  113. package/src/components/sidebar-navigation-screen-identity/index.js +0 -15
  114. package/src/components/sidebar-navigation-screen-main/index.js +49 -54
  115. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +0 -1
  116. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -2
  117. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +8 -8
  118. package/src/components/sidebar-navigation-screen-patterns/index.js +4 -0
  119. package/src/components/sidebar-navigation-screen-patterns/style.scss +1 -1
  120. package/src/components/site-hub/style.scss +5 -5
  121. package/src/components/welcome-guide/page.js +1 -1
  122. package/src/{experimental-admin-bar-in-editor.scss → experimental-omnibar.scss} +3 -1
  123. package/src/style.scss +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/layout/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { NavigableRegion, getAdminThemeColors } from '@wordpress/admin-ui';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n\tSlotFillProvider,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useRef, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tUnsavedChangesWarning,\n\tErrorBoundary,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as themePrivateApis } from '@wordpress/theme';\nimport { PluginArea } from '@wordpress/plugins';\nimport { SnackbarNotices, store as noticesStore } from '@wordpress/notices';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { default as SiteHub, SiteHubMobile } from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport SaveKeyboardShortcut from '../save-keyboard-shortcut';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport { SidebarContent, SidebarNavigationProvider } from '../sidebar';\nimport SaveHub from '../save-hub';\nimport SavePanel from '../save-panel';\n\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useStyle, UploadProgressSnackbar } = unlock( editorPrivateApis );\nconst { ThemeProvider } = unlock( themePrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\nconst CONTENT_COLOR = { background: '#ffffff' };\n\nfunction Layout() {\n\tconst { query, name: routeKey, areas, widths } = useLocation();\n\t// Force canvas to 'view' on notfound route to show the error message and allow navigation.\n\tconst canvas = routeKey === 'notfound' ? 'view' : query?.canvas ?? 'view';\n\tconst hasAdminBarInEditor = window.__experimentalAdminBarInEditor;\n\tconst showDesktopSiteHub = ! hasAdminBarInEditor;\n\tconst showMobileSiteHub = ! hasAdminBarInEditor || routeKey !== 'home';\n\tconst hasMobileAreas =\n\t\tareas.mobileSidebar || areas.mobileContent || areas.preview;\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst toggleRef = useRef();\n\tconst navigateRegionsProps = useNavigateRegions();\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: routeKey + '-' + canvas,\n\t} );\n\n\tconst { showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t} );\n\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst gradientValue = useStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvas );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\ttoggleRef.current?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t}, [ canvas ] );\n\n\treturn (\n\t\t<>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t{ canvas === 'view' && <SaveKeyboardShortcut /> }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\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-full-canvas': canvas === 'edit',\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\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 || ! hasMobileAreas ) && (\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{ canvas === '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{ showDesktopSiteHub && (\n\t\t\t\t\t\t\t\t\t\t\t<SiteHub\n\t\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\tshouldAnimate={\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'styles' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'identity'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\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<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t</SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\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<SnackbarNotices className=\"edit-site-layout__snackbar\" />\n\t\t\t\t\t<UploadProgressSnackbar />\n\n\t\t\t\t\t{ isMobileViewport && hasMobileAreas && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t{ canvas !== 'edit' ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ showMobileSiteHub && (\n\t\t\t\t\t\t\t\t\t\t\t<SiteHubMobile\n\t\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.mobileContent ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-layout__mobile-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\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\t\t\t\t\tareas.mobileContent\n\t\t\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\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\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<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.mobileSidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\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<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\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</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</SidebarNavigationProvider>\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\tcanvas !== '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<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</ThemeProvider>\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.edit && canvas !== '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?.edit,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t<ErrorBoundary>{ areas.edit }</ErrorBoundary>\n\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t</div>\n\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<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\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\tref={ animationRef }\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={ canvas === 'edit' }\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<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\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{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\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</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\nexport default function LayoutWithGlobalStylesProvider( props ) {\n\tconst themeColors = useMemo( getAdminThemeColors, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<Tooltip.Provider>\n\t\t\t\t{ /** This needs to be within the SlotFillProvider */ }\n\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t<ThemeProvider color={ themeColors }>\n\t\t\t\t\t<Layout { ...props } />\n\t\t\t\t</ThemeProvider>\n\t\t\t</Tooltip.Provider>\n\t\t</SlotFillProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { NavigableRegion, getAdminThemeColors } from '@wordpress/admin-ui';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n\tSlotFillProvider,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useRef, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tUnsavedChangesWarning,\n\tErrorBoundary,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { ThemeProvider } from '@wordpress/theme';\nimport { PluginArea } from '@wordpress/plugins';\nimport { SnackbarNotices, store as noticesStore } from '@wordpress/notices';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { default as SiteHub, SiteHubMobile } from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport SaveKeyboardShortcut from '../save-keyboard-shortcut';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport { SidebarContent, SidebarNavigationProvider } from '../sidebar';\nimport SaveHub from '../save-hub';\nimport SavePanel from '../save-panel';\n\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useStyle, UploadProgressSnackbar } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\nconst CONTENT_COLOR = { background: '#ffffff' };\n\nfunction Layout() {\n\tconst { query, name: routeKey, areas, widths } = useLocation();\n\t// Force canvas to 'view' on notfound route to show the error message and allow navigation.\n\tconst canvas = routeKey === 'notfound' ? 'view' : query?.canvas ?? 'view';\n\tconst hasAdminBarInEditor = window.__experimentalAdminBarInEditor;\n\tconst showDesktopSiteHub = ! hasAdminBarInEditor;\n\tconst showMobileSiteHub = ! hasAdminBarInEditor || routeKey !== 'home';\n\tconst hasMobileAreas =\n\t\tareas.mobileSidebar || areas.mobileContent || areas.preview;\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst toggleRef = useRef();\n\tconst navigateRegionsProps = useNavigateRegions();\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: routeKey + '-' + canvas,\n\t} );\n\n\tconst { showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t} );\n\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst gradientValue = useStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvas );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\ttoggleRef.current?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t}, [ canvas ] );\n\n\treturn (\n\t\t<>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t{ canvas === 'view' && <SaveKeyboardShortcut /> }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\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-full-canvas': canvas === 'edit',\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\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 || ! hasMobileAreas ) && (\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{ canvas === '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{ showDesktopSiteHub && (\n\t\t\t\t\t\t\t\t\t\t\t<SiteHub\n\t\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\tshouldAnimate={\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'styles' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'identity'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\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<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t</SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\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<SnackbarNotices className=\"edit-site-layout__snackbar\" />\n\t\t\t\t\t<UploadProgressSnackbar />\n\n\t\t\t\t\t{ isMobileViewport && hasMobileAreas && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t{ canvas !== 'edit' ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ showMobileSiteHub && (\n\t\t\t\t\t\t\t\t\t\t\t<SiteHubMobile\n\t\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t{ areas.mobileContent ? (\n\t\t\t\t\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t\t\t\t\t * ThemeProvider wraps SidebarContent (rather than\n\t\t\t\t\t\t\t\t\t\t\t * just the content) so the scroll wrapper it renders\n\t\t\t\t\t\t\t\t\t\t\t * inherits the content background tokens. See\n\t\t\t\t\t\t\t\t\t\t\t * `.edit-site-sidebar__screen-wrapper` in style.scss.\n\t\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t\t<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\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<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-layout__mobile-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\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\t\t\t\t\tareas.mobileContent\n\t\t\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\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\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<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.mobileSidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\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<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\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</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</SidebarNavigationProvider>\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\tcanvas !== '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<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</ThemeProvider>\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.edit && canvas !== '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?.edit,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t<ErrorBoundary>{ areas.edit }</ErrorBoundary>\n\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t</div>\n\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<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\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\tref={ animationRef }\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={ canvas === 'edit' }\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<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\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{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\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</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\nexport default function LayoutWithGlobalStylesProvider( props ) {\n\tconst themeColors = useMemo( getAdminThemeColors, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<Tooltip.Provider>\n\t\t\t\t{ /** This needs to be within the SlotFillProvider */ }\n\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t<ThemeProvider color={ themeColors }>\n\t\t\t\t\t<Layout { ...props } />\n\t\t\t\t</ThemeProvider>\n\t\t\t</Tooltip.Provider>\n\t\t</SlotFillProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,10 +1,7 @@
1
1
  // packages/edit-site/src/components/page-patterns/fields.js
2
- import clsx from "clsx";
3
- import { __experimentalHStack as HStack } from "@wordpress/components";
4
2
  import { __, _x } from "@wordpress/i18n";
5
- import { useState, useMemo, useId } from "@wordpress/element";
3
+ import { useMemo, useId } from "@wordpress/element";
6
4
  import { BlockPreview } from "@wordpress/block-editor";
7
- import { Icon } from "@wordpress/icons";
8
5
  import { parse } from "@wordpress/blocks";
9
6
  import { privateApis as editorPrivateApis } from "@wordpress/editor";
10
7
  import {
@@ -12,7 +9,6 @@ import {
12
9
  PATTERN_SYNC_TYPES,
13
10
  OPERATOR_IS
14
11
  } from "../../utils/constants.mjs";
15
- import { useAddedBy } from "../page-templates/hooks.mjs";
16
12
  import { unlock } from "../../lock-unlock.mjs";
17
13
  import { jsx, jsxs } from "react/jsx-runtime";
18
14
  var { useStyle } = unlock(editorPrivateApis);
@@ -88,42 +84,8 @@ var patternStatusField = {
88
84
  },
89
85
  enableSorting: false
90
86
  };
91
- function AuthorField({ item }) {
92
- const [isImageLoaded, setIsImageLoaded] = useState(false);
93
- const { text, icon, imageUrl } = useAddedBy(item.type, item.id);
94
- return /* @__PURE__ */ jsxs(HStack, { alignment: "left", spacing: 0, children: [
95
- imageUrl && /* @__PURE__ */ jsx(
96
- "div",
97
- {
98
- className: clsx("fields-controls__author-avatar", {
99
- "is-loaded": isImageLoaded
100
- }),
101
- children: /* @__PURE__ */ jsx(
102
- "img",
103
- {
104
- onLoad: () => setIsImageLoaded(true),
105
- alt: "",
106
- src: imageUrl
107
- }
108
- )
109
- }
110
- ),
111
- !imageUrl && /* @__PURE__ */ jsx("div", { className: "fields-controls__author-icon", children: /* @__PURE__ */ jsx(Icon, { icon }) }),
112
- /* @__PURE__ */ jsx("span", { className: "fields-controls__author-name", children: text })
113
- ] });
114
- }
115
- var templatePartAuthorField = {
116
- label: __("Author"),
117
- id: "author",
118
- getValue: ({ item }) => item.author_text,
119
- render: AuthorField,
120
- filterBy: {
121
- isPrimary: true
122
- }
123
- };
124
87
  export {
125
88
  patternStatusField,
126
- previewField,
127
- templatePartAuthorField
89
+ previewField
128
90
  };
129
91
  //# sourceMappingURL=fields.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/fields.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useId } from '@wordpress/element';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { Icon } from '@wordpress/icons';\nimport { parse } from '@wordpress/blocks';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { unlock } from '../../lock-unlock';\n\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t\taria-describedby={ !! description ? descriptionId : undefined }\n\t\t>\n\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t</BlockPreview.Async>\n\t\t\t) }\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\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( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nexport const patternStatusField = {\n\tlabel: __( 'Sync status' ),\n\tid: 'sync-status',\n\trender: ( { item } ) => {\n\t\tconst syncStatus =\n\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t? item.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full\n\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\n\t\t// User patterns can have their sync statuses checked directly.\n\t\t// Non-user patterns are all unsynced for the time being.\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tSYNC_FILTERS.find( ( { value } ) => value === syncStatus )\n\t\t\t\t\t\t.label\n\t\t\t\t}\n\t\t\t</span>\n\t\t);\n\t},\n\telements: SYNC_FILTERS,\n\tfilterBy: {\n\t\toperators: [ OPERATOR_IS ],\n\t\tisPrimary: true,\n\t},\n\tenableSorting: false,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'fields-controls__author-avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"fields-controls__author-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"fields-controls__author-name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const templatePartAuthorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n\tfilterBy: {\n\t\tisPrimary: true,\n\t},\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useId } from '@wordpress/element';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { parse } from '@wordpress/blocks';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t\taria-describedby={ !! description ? descriptionId : undefined }\n\t\t>\n\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t</BlockPreview.Async>\n\t\t\t) }\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\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( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nexport const patternStatusField = {\n\tlabel: __( 'Sync status' ),\n\tid: 'sync-status',\n\trender: ( { item } ) => {\n\t\tconst syncStatus =\n\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t? item.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full\n\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\n\t\t// User patterns can have their sync statuses checked directly.\n\t\t// Non-user patterns are all unsynced for the time being.\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tSYNC_FILTERS.find( ( { value } ) => value === syncStatus )\n\t\t\t\t\t\t.label\n\t\t\t\t}\n\t\t\t</span>\n\t\t);\n\t},\n\telements: SYNC_FILTERS,\n\tfilterBy: {\n\t\toperators: [ OPERATOR_IS ],\n\t\tisPrimary: true,\n\t},\n\tenableSorting: false,\n};\n"],
5
+ "mappings": ";AAGA,SAAS,IAAI,UAAU;AACvB,SAAS,SAAS,aAAa;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,SAAS,eAAe,yBAAyB;AAKjD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,cAAc;AAoBrB,SASG,KATH;AAlBF,IAAM,EAAE,SAAS,IAAI,OAAQ,iBAAkB;AAE/C,SAAS,aAAc,EAAE,KAAK,GAAI;AACjC,QAAM,gBAAgB,MAAM;AAC5B,QAAM,cAAc,KAAK,eAAe,MAAM,SAAS;AACvD,QAAM,iBAAiB,KAAK,SAAS;AACrC,QAAM,kBAAkB,SAAU,kBAAmB;AACrD,QAAM,SAAS,QAAS,MAAM;AAC7B,WACC,KAAK,UACL,MAAO,KAAK,QAAQ,KAAK;AAAA,MACxB,6BAA6B;AAAA,IAC9B,CAAE;AAAA,EAEJ,GAAG,CAAE,MAAM,SAAS,KAAK,KAAK,MAAO,CAAE;AACvC,QAAM,UAAU,CAAE,QAAQ;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,EAAE,gBAAgB;AAAA,MAC1B,oBAAmB,CAAC,CAAE,cAAc,gBAAgB;AAAA,MAElD;AAAA,mBAAW,kBAAkB,GAAI,qBAAsB;AAAA,QACvD,WAAW,CAAE,kBAAkB,GAAI,eAAgB;AAAA,QACnD,CAAE,WACH,oBAAC,aAAa,OAAb,EACA;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,eAAgB,KAAK;AAAA;AAAA,QACtB,GACD;AAAA,QAEC,CAAC,CAAE,eACJ,oBAAC,SAAI,QAAM,MAAC,IAAK,eACd,uBACH;AAAA;AAAA;AAAA,EAEF;AAEF;AAEO,IAAM,eAAe;AAAA,EAC3B,OAAO,GAAI,SAAU;AAAA,EACrB,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,eAAe;AAChB;AAEA,IAAM,eAAe;AAAA,EACpB;AAAA,IACC,OAAO,mBAAmB;AAAA,IAC1B,OAAO,GAAI,UAAU,oBAAqB;AAAA,IAC1C,aAAa,GAAI,iDAAkD;AAAA,EACpE;AAAA,EACA;AAAA,IACC,OAAO,mBAAmB;AAAA,IAC1B,OAAO,GAAI,cAAc,oBAAqB;AAAA,IAC9C,aAAa;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,qBAAqB;AAAA,EACjC,OAAO,GAAI,aAAc;AAAA,EACzB,IAAI;AAAA,EACJ,QAAQ,CAAE,EAAE,KAAK,MAAO;AACvB,UAAM,aACL,4BAA4B,OACzB,KAAK,0BAA0B,mBAAmB,OAClD,mBAAmB;AAGvB,WACC;AAAA,MAAC;AAAA;AAAA,QACA,WAAY,yCAA0C,UAAW;AAAA,QAGhE,uBAAa,KAAM,CAAE,EAAE,MAAM,MAAO,UAAU,UAAW,EACvD;AAAA;AAAA,IAEJ;AAAA,EAEF;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,IACT,WAAW,CAAE,WAAY;AAAA,IACzB,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAChB;",
6
6
  "names": []
7
7
  }
@@ -4,7 +4,7 @@ import { __ } from "@wordpress/i18n";
4
4
  import { useMemo } from "@wordpress/element";
5
5
  import { privateApis as blockEditorPrivateApis } from "@wordpress/block-editor";
6
6
  import { DataViews, filterSortAndPaginate } from "@wordpress/dataviews";
7
- import { useEntityRecords, store as coreStore } from "@wordpress/core-data";
7
+ import { store as coreStore } from "@wordpress/core-data";
8
8
  import { privateApis as editorPrivateApis } from "@wordpress/editor";
9
9
  import { privateApis as routerPrivateApis } from "@wordpress/router";
10
10
  import { useView, useViewConfig } from "@wordpress/views";
@@ -20,17 +20,14 @@ import { unlock } from "../../lock-unlock.mjs";
20
20
  import usePatterns, { useAugmentPatternsWithPermissions } from "./use-patterns.mjs";
21
21
  import PatternsActions from "./actions.mjs";
22
22
  import { useEditPostAction } from "../dataviews-actions/index.mjs";
23
- import {
24
- patternStatusField,
25
- previewField,
26
- templatePartAuthorField
27
- } from "./fields.mjs";
23
+ import { patternStatusField, previewField } from "./fields.mjs";
28
24
  import usePatternCategories from "../sidebar-navigation-screen-patterns/use-pattern-categories.mjs";
29
25
  import { jsx } from "react/jsx-runtime";
30
26
  var { ExperimentalBlockEditorProvider } = unlock(blockEditorPrivateApis);
31
- var { usePostActions, patternTitleField } = unlock(editorPrivateApis);
27
+ var { usePostActions, usePostFields, patternTitleField } = unlock(editorPrivateApis);
32
28
  var { useLocation, useHistory } = unlock(routerPrivateApis);
33
29
  var EMPTY_ARRAY = [];
30
+ var VIEW_CONFIG_FIELDS = ["default_view", "default_layouts"];
34
31
  function usePagePatternsHeader(type, categoryId) {
35
32
  const { patternCategories } = usePatternCategories();
36
33
  const templatePartAreas = useSelect(
@@ -60,7 +57,8 @@ function DataviewsPatterns() {
60
57
  const categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;
61
58
  const { default_view: defaultView, default_layouts: defaultLayouts } = useViewConfig({
62
59
  kind: "postType",
63
- name: postType
60
+ name: postType,
61
+ fields: VIEW_CONFIG_FIELDS
64
62
  });
65
63
  const { view, updateView, isModified, resetToDefault } = useView({
66
64
  kind: "postType",
@@ -89,34 +87,21 @@ function DataviewsPatterns() {
89
87
  search: view.search,
90
88
  syncStatus: viewSyncStatus
91
89
  });
92
- const { records } = useEntityRecords("postType", TEMPLATE_PART_POST_TYPE, {
93
- per_page: -1
90
+ const templatePartFields = usePostFields({
91
+ postType: TEMPLATE_PART_POST_TYPE
94
92
  });
95
- const authors = useMemo(() => {
96
- if (!records) {
97
- return EMPTY_ARRAY;
98
- }
99
- const authorsSet = /* @__PURE__ */ new Set();
100
- records.forEach((template) => {
101
- authorsSet.add(template.author_text);
102
- });
103
- return Array.from(authorsSet).map((author) => ({
104
- value: author,
105
- label: author
106
- }));
107
- }, [records]);
93
+ const templatePartAuthorField = templatePartFields.find(
94
+ (field) => field.id === "author"
95
+ );
108
96
  const fields = useMemo(() => {
109
97
  const _fields = [previewField, patternTitleField];
110
98
  if (postType === PATTERN_TYPES.user) {
111
99
  _fields.push(patternStatusField);
112
- } else if (postType === TEMPLATE_PART_POST_TYPE) {
113
- _fields.push({
114
- ...templatePartAuthorField,
115
- elements: authors
116
- });
100
+ } else if (postType === TEMPLATE_PART_POST_TYPE && templatePartAuthorField) {
101
+ _fields.push(templatePartAuthorField);
117
102
  }
118
103
  return _fields;
119
- }, [postType, authors]);
104
+ }, [postType, templatePartAuthorField]);
120
105
  const { data, paginationInfo } = useMemo(() => {
121
106
  const viewWithoutFilters = { ...view };
122
107
  delete viewWithoutFilters.search;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttemplatePartAuthorField,\n} from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, patternTitleField } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { default_view: defaultView, default_layouts: defaultLayouts } =\n\t\tuseViewConfig( {\n\t\t\tkind: 'postType',\n\t\t\tname: postType,\n\t\t} );\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\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\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\theadingLevel={ 2 }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\ttype={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\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={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { patternStatusField, previewField } from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, usePostFields, patternTitleField } =\n\tunlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst VIEW_CONFIG_FIELDS = [ 'default_view', 'default_layouts' ];\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { default_view: defaultView, default_layouts: defaultLayouts } =\n\t\tuseViewConfig( {\n\t\t\tkind: 'postType',\n\t\t\tname: postType,\n\t\t\tfields: VIEW_CONFIG_FIELDS,\n\t\t} );\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst templatePartFields = usePostFields( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t} );\n\tconst templatePartAuthorField = templatePartFields.find(\n\t\t( field ) => field.id === 'author'\n\t);\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if (\n\t\t\tpostType === TEMPLATE_PART_POST_TYPE &&\n\t\t\ttemplatePartAuthorField\n\t\t) {\n\t\t\t_fields.push( templatePartAuthorField );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, templatePartAuthorField ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\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\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\theadingLevel={ 2 }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\ttype={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\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={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -13,11 +13,12 @@ import AddNewTemplate from "../add-new-template-legacy/index.mjs";
13
13
  import { TEMPLATE_POST_TYPE } from "../../utils/constants.mjs";
14
14
  import { unlock } from "../../lock-unlock.mjs";
15
15
  import { useEditPostAction } from "../dataviews-actions/index.mjs";
16
- import { authorField, descriptionField, previewField } from "./fields.mjs";
16
+ import { previewField } from "./fields.mjs";
17
17
  import { jsx } from "react/jsx-runtime";
18
- var { usePostActions, templateTitleField } = unlock(editorPrivateApis);
18
+ var { usePostActions, usePostFields } = unlock(editorPrivateApis);
19
19
  var { useHistory, useLocation } = unlock(routerPrivateApis);
20
20
  var { useEntityRecordsWithPermissions } = unlock(corePrivateApis);
21
+ var VIEW_CONFIG_FIELDS = ["default_view", "default_layouts", "view_list"];
21
22
  function PageTemplates() {
22
23
  const { path, query } = useLocation();
23
24
  const { activeView = "all", postId } = query;
@@ -28,7 +29,8 @@ function PageTemplates() {
28
29
  view_list: viewList
29
30
  } = useViewConfig({
30
31
  kind: "postType",
31
- name: TEMPLATE_POST_TYPE
32
+ name: TEMPLATE_POST_TYPE,
33
+ fields: VIEW_CONFIG_FIELDS
32
34
  });
33
35
  const activeViewOverrides = useMemo(
34
36
  () => viewList?.find((v) => v.slug === activeView)?.view ?? {},
@@ -72,31 +74,10 @@ function PageTemplates() {
72
74
  },
73
75
  [history, path, view?.type]
74
76
  );
75
- const authors = useMemo(() => {
76
- if (!records) {
77
- return [];
78
- }
79
- const authorsSet = /* @__PURE__ */ new Set();
80
- records.forEach((template) => {
81
- authorsSet.add(template.author_text);
82
- });
83
- return Array.from(authorsSet).map((author) => ({
84
- value: author,
85
- label: author
86
- }));
87
- }, [records]);
88
- const fields = useMemo(
89
- () => [
90
- previewField,
91
- templateTitleField,
92
- descriptionField,
93
- {
94
- ...authorField,
95
- elements: authors
96
- }
97
- ],
98
- [authors]
99
- );
77
+ const postFields = usePostFields({ postType: TEMPLATE_POST_TYPE });
78
+ const fields = useMemo(() => {
79
+ return [previewField, ...postFields || []];
80
+ }, [postFields]);
100
81
  const { data, paginationInfo } = useMemo(() => {
101
82
  return filterSortAndPaginate(records, view, fields);
102
83
  }, [records, view, fields]);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-templates/index-legacy.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView, useViewConfig } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { authorField, descriptionField, previewField } from './fields';\n\nconst { usePostActions, templateTitleField } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView, useViewConfig } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { previewField } from './fields';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst VIEW_CONFIG_FIELDS = [ 'default_view', 'default_layouts', 'view_list' ];\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tfields: VIEW_CONFIG_FIELDS,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst postFields = usePostFields( { postType: TEMPLATE_POST_TYPE } );\n\tconst fields = useMemo( () => {\n\t\treturn [ previewField, ...( postFields || [] ) ];\n\t}, [ postFields ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,YAAY;AACrB,SAAS,UAAU;AACnB,SAAS,UAAU,SAAS,mBAAmB;AAC/C,SAAS,eAAe,uBAAuB;AAC/C,SAAS,WAAW,6BAA6B;AACjD,SAAS,eAAe,yBAAyB;AACjD,SAAS,eAAe,yBAAyB;AACjD,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,SAAS,qBAAqB;AAKvC,OAAO,oBAAoB;AAC3B,SAAS,0BAA0B;AACnC,SAAS,cAAc;AACvB,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAmGhB;AAjGb,IAAM,EAAE,gBAAgB,cAAc,IAAI,OAAQ,iBAAkB;AACpE,IAAM,EAAE,YAAY,YAAY,IAAI,OAAQ,iBAAkB;AAC9D,IAAM,EAAE,gCAAgC,IAAI,OAAQ,eAAgB;AAEpE,IAAM,qBAAqB,CAAE,gBAAgB,mBAAmB,WAAY;AAE7D,SAAR,gBAAiC;AACvC,QAAM,EAAE,MAAM,MAAM,IAAI,YAAY;AACpC,QAAM,EAAE,aAAa,OAAO,OAAO,IAAI;AACvC,QAAM,CAAE,WAAW,YAAa,IAAI,SAAU,CAAE,MAAO,CAAE;AAEzD,QAAM;AAAA,IACL,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,WAAW;AAAA,EACZ,IAAI,cAAe;AAAA,IAClB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACT,CAAE;AACF,QAAM,sBAAsB;AAAA,IAC3B,MAAM,UAAU,KAAM,CAAE,MAAO,EAAE,SAAS,UAAW,GAAG,QAAQ,CAAC;AAAA,IACjE,CAAE,UAAU,UAAW;AAAA,EACxB;AACA,QAAM,EAAE,MAAM,YAAY,YAAY,eAAe,IAAI,QAAS;AAAA,IACjE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,MACZ,MAAM,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,IACf;AAAA,IACA,qBAAqB,CAAE,mBAAoB;AAC1C,cAAQ;AAAA,QACP,aAAc,MAAM;AAAA,UACnB,GAAG;AAAA,UACH,YAAY,eAAe;AAAA,UAC3B,QAAQ,eAAe,UAAU;AAAA,QAClC,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD,CAAE;AAEF,QAAM,EAAE,SAAS,aAAa,cAAc,IAC3C,gCAAiC,YAAY,oBAAoB;AAAA,IAChE,UAAU;AAAA,EACX,CAAE;AACH,QAAM,UAAU,WAAW;AAC3B,QAAM,oBAAoB;AAAA,IACzB,CAAE,UAAW;AACZ,mBAAc,KAAM;AACpB,UAAK,MAAM,SAAS,QAAS;AAC5B,gBAAQ;AAAA,UACP,aAAc,MAAM;AAAA,YACnB,QAAQ,MAAM,WAAW,IAAI,MAAO,CAAE,IAAI;AAAA,UAC3C,CAAE;AAAA,QACH;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,SAAS,MAAM,MAAM,IAAK;AAAA,EAC7B;AAEA,QAAM,aAAa,cAAe,EAAE,UAAU,mBAAmB,CAAE;AACnE,QAAM,SAAS,QAAS,MAAM;AAC7B,WAAO,CAAE,cAAc,GAAK,cAAc,CAAC,CAAI;AAAA,EAChD,GAAG,CAAE,UAAW,CAAE;AAElB,QAAM,EAAE,MAAM,eAAe,IAAI,QAAS,MAAM;AAC/C,WAAO,sBAAuB,SAAS,MAAM,MAAO;AAAA,EACrD,GAAG,CAAE,SAAS,MAAM,MAAO,CAAE;AAE7B,QAAM,kBAAkB,eAAgB;AAAA,IACvC,UAAU;AAAA,IACV,SAAS;AAAA,EACV,CAAE;AACF,QAAM,aAAa,kBAAkB;AACrC,QAAM,UAAU;AAAA,IACf,MAAM,CAAE,YAAY,GAAG,eAAgB;AAAA,IACvC,CAAE,iBAAiB,UAAW;AAAA,EAC/B;AAEA,QAAM,eAAe,SAAU,CAAE,YAAa;AAC7C,eAAY,OAAQ;AACpB,QAAK,QAAQ,SAAS,KAAK,MAAO;AAEjC,cAAQ,WAAW;AAAA,IACpB;AAAA,EACD,CAAE;AAEF,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,GAAI,WAAY;AAAA,MACxB,cAAe;AAAA,MACf,SAAU,oBAAC,kBAAe;AAAA,MAE1B;AAAA,QAAC;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA,iBAAkB,MAAM;AAAA,UACxB,aAAc,CAAE,EAAE,GAAG,MAAO;AAC3B,oBAAQ,SAAU,gBAAiB,EAAG,cAAe;AAAA,UACtD;AAAA,UACA;AAAA,UACA;AAAA,UACA,SACC,aACG,MAAM;AACN,2BAAe;AACf,oBAAQ,WAAW;AAAA,UACnB,IACA;AAAA;AAAA,QArBE;AAAA,MAuBP;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/resizable-frame/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tResizableBox,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useInstanceId, useReducedMotion } from '@wordpress/compose';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { addQueryArgs } from '@wordpress/url';\n// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\n// The minimum width of the frame (in px) while resizing.\nconst FRAME_MIN_WIDTH = 320;\n// The reference width of the frame (in px) used to calculate the aspect ratio.\nconst FRAME_REFERENCE_WIDTH = 1300;\n// 9 : 19.5 is the target aspect ratio enforced (when possible) while resizing.\nconst FRAME_TARGET_ASPECT_RATIO = 9 / 19.5;\n// The minimum distance (in px) between the frame resize handle and the\n// viewport's edge. If the frame is resized to be closer to the viewport's edge\n// than this distance, then \"canvas mode\" will be enabled.\nconst SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD = 200;\n// Default size for the `frameSize` state.\nconst INITIAL_FRAME_SIZE = { width: '100%', height: '100%' };\n\nfunction calculateNewHeight( width, initialAspectRatio ) {\n\tconst lerp = ( a, b, amount ) => {\n\t\treturn a + ( b - a ) * amount;\n\t};\n\n\t// Calculate the intermediate aspect ratio based on the current width.\n\tconst lerpFactor =\n\t\t1 -\n\t\tMath.max(\n\t\t\t0,\n\t\t\tMath.min(\n\t\t\t\t1,\n\t\t\t\t( width - FRAME_MIN_WIDTH ) /\n\t\t\t\t\t( FRAME_REFERENCE_WIDTH - FRAME_MIN_WIDTH )\n\t\t\t)\n\t\t);\n\n\t// Calculate the height based on the intermediate aspect ratio\n\t// ensuring the frame arrives at the target aspect ratio.\n\tconst intermediateAspectRatio = lerp(\n\t\tinitialAspectRatio,\n\t\tFRAME_TARGET_ASPECT_RATIO,\n\t\tlerpFactor\n\t);\n\n\treturn width / intermediateAspectRatio;\n}\n\nfunction ResizableFrame( {\n\tisFullWidth,\n\tisOversized,\n\tsetIsOversized,\n\tisReady,\n\tchildren,\n\t/** The default (unresized) width/height of the frame, based on the space available in the viewport. */\n\tdefaultSize,\n\tinnerContentStyle,\n} ) {\n\tconst history = useHistory();\n\tconst { path, query } = useLocation();\n\tconst { canvas = 'view' } = query;\n\tconst disableMotion = useReducedMotion();\n\tconst [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );\n\t// The width of the resizable frame when a new resize gesture starts.\n\tconst [ startingWidth, setStartingWidth ] = useState();\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ shouldShowHandle, setShouldShowHandle ] = useState( false );\n\tconst [ resizeRatio, setResizeRatio ] = useState( 1 );\n\n\tconst FRAME_TRANSITION = { type: 'tween', duration: isResizing ? 0 : 0.5 };\n\tconst frameRef = useRef( null );\n\tconst resizableHandleHelpId = useInstanceId(\n\t\tResizableFrame,\n\t\t'edit-site-resizable-frame-handle-help'\n\t);\n\tconst defaultAspectRatio = defaultSize.width / defaultSize.height;\n\tconst isBlockTheme = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme } = select( coreStore );\n\t\treturn getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\n\tconst handleResizeStart = ( _event, _direction, ref ) => {\n\t\t// Remember the starting width so we don't have to get `ref.offsetWidth` on\n\t\t// every resize event thereafter, which will cause layout thrashing.\n\t\tsetStartingWidth( ref.offsetWidth );\n\t\tsetIsResizing( true );\n\t};\n\n\t// Calculate the frame size based on the window width as its resized.\n\tconst handleResize = ( _event, _direction, _ref, delta ) => {\n\t\tconst normalizedDelta = delta.width / resizeRatio;\n\t\tconst deltaAbs = Math.abs( normalizedDelta );\n\t\tconst maxDoubledDelta =\n\t\t\tdelta.width < 0 // is shrinking\n\t\t\t\t? deltaAbs\n\t\t\t\t: ( defaultSize.width - startingWidth ) / 2;\n\t\tconst deltaToDouble = Math.min( deltaAbs, maxDoubledDelta );\n\t\tconst doubleSegment = deltaAbs === 0 ? 0 : deltaToDouble / deltaAbs;\n\t\tconst singleSegment = 1 - doubleSegment;\n\n\t\tsetResizeRatio( singleSegment + doubleSegment * 2 );\n\n\t\tconst updatedWidth = startingWidth + delta.width;\n\n\t\tsetIsOversized( updatedWidth > defaultSize.width );\n\n\t\t// Width will be controlled by the library (via `resizeRatio`),\n\t\t// so we only need to update the height.\n\t\tsetFrameSize( {\n\t\t\theight: isOversized\n\t\t\t\t? '100%'\n\t\t\t\t: calculateNewHeight( updatedWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst handleResizeStop = ( _event, _direction, ref ) => {\n\t\tsetIsResizing( false );\n\n\t\tif ( ! isOversized ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsOversized( false );\n\n\t\tconst remainingWidth =\n\t\t\tref.ownerDocument.documentElement.offsetWidth - ref.offsetWidth;\n\n\t\tif (\n\t\t\tremainingWidth > SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD ||\n\t\t\t! isBlockTheme\n\t\t) {\n\t\t\t// Reset the initial aspect ratio if the frame is resized slightly\n\t\t\t// above the sidebar but not far enough to trigger full screen.\n\t\t\tsetFrameSize( INITIAL_FRAME_SIZE );\n\t\t} else {\n\t\t\t// Trigger full screen if the frame is resized far enough to the left.\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} ),\n\t\t\t\t{\n\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n\t// Handle resize by arrow keys\n\tconst handleResizableHandleKeyDown = ( event ) => {\n\t\tif ( ! [ 'ArrowLeft', 'ArrowRight' ].includes( event.key ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst step = 20 * ( event.shiftKey ? 5 : 1 );\n\t\tconst delta =\n\t\t\tstep *\n\t\t\t( event.key === 'ArrowLeft' ? 1 : -1 ) *\n\t\t\t( isRTL() ? -1 : 1 );\n\t\tconst newWidth = Math.min(\n\t\t\tMath.max(\n\t\t\t\tFRAME_MIN_WIDTH,\n\t\t\t\tframeRef.current.resizable.offsetWidth + delta\n\t\t\t),\n\t\t\tdefaultSize.width\n\t\t);\n\n\t\tsetFrameSize( {\n\t\t\twidth: newWidth,\n\t\t\theight: calculateNewHeight( newWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst frameAnimationVariants = {\n\t\tdefault: {\n\t\t\tflexGrow: 0,\n\t\t\theight: frameSize.height,\n\t\t},\n\t\tfullWidth: {\n\t\t\tflexGrow: 1,\n\t\t\theight: frameSize.height,\n\t\t},\n\t};\n\n\tconst resizeHandleVariants = {\n\t\thidden: {\n\t\t\topacity: 0,\n\t\t\t...( isRTL() ? { right: 0 } : { left: 0 } ),\n\t\t},\n\t\tvisible: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t},\n\t\tactive: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t\tscaleY: 1.3,\n\t\t},\n\t};\n\tconst currentResizeHandleVariant = ( () => {\n\t\tif ( isResizing ) {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn shouldShowHandle ? 'visible' : 'hidden';\n\t} )();\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tas={ motion.div }\n\t\t\tref={ frameRef }\n\t\t\tinitial={ false }\n\t\t\tvariants={ frameAnimationVariants }\n\t\t\tanimate={ isFullWidth ? 'fullWidth' : 'default' }\n\t\t\tonAnimationComplete={ ( definition ) => {\n\t\t\t\tif ( definition === 'fullWidth' ) {\n\t\t\t\t\tsetFrameSize( { width: '100%', height: '100%' } );\n\t\t\t\t}\n\t\t\t} }\n\t\t\twhileHover={\n\t\t\t\tcanvas === 'view' && isBlockTheme\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.5,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\ttransition={ FRAME_TRANSITION }\n\t\t\tsize={ frameSize }\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tbottom: false,\n\t\t\t\t// Resizing will be disabled until the editor content is loaded.\n\t\t\t\t...( isRTL()\n\t\t\t\t\t? { right: isReady, left: false }\n\t\t\t\t\t: { left: isReady, right: false } ),\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t} }\n\t\t\tresizeRatio={ resizeRatio }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t\tminWidth={ FRAME_MIN_WIDTH }\n\t\t\tmaxWidth={ isFullWidth ? '100%' : '150%' }\n\t\t\tmaxHeight=\"100%\"\n\t\t\tonFocus={ () => setShouldShowHandle( true ) }\n\t\t\tonBlur={ () => setShouldShowHandle( false ) }\n\t\t\tonMouseOver={ () => setShouldShowHandle( true ) }\n\t\t\tonMouseOut={ () => setShouldShowHandle( false ) }\n\t\t\thandleComponent={ {\n\t\t\t\t[ isRTL() ? 'right' : 'left' ]: canvas === 'view' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<motion.button\n\t\t\t\t\t\t\t\t\t\tkey=\"handle\"\n\t\t\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-resizable-frame__handle',\n\t\t\t\t\t\t\t\t\t\t\t{ 'is-resizing': isResizing }\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tvariants={ resizeHandleVariants }\n\t\t\t\t\t\t\t\t\t\tanimate={ currentResizeHandleVariant }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tresizableHandleHelpId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuenow={\n\t\t\t\t\t\t\t\t\t\t\tframeRef.current?.resizable\n\t\t\t\t\t\t\t\t\t\t\t\t?.offsetWidth || undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuemin={ FRAME_MIN_WIDTH }\n\t\t\t\t\t\t\t\t\t\taria-valuemax={ defaultSize.width }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\thandleResizableHandleKeyDown\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\t\t\texit=\"hidden\"\n\t\t\t\t\t\t\t\t\t\twhileFocus=\"active\"\n\t\t\t\t\t\t\t\t\t\twhileHover=\"active\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Tooltip.Popup>\n\t\t\t\t\t\t\t\t{ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t</Tooltip.Popup>\n\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t<div hidden id={ resizableHandleHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use left and right arrow keys to resize the canvas. Hold shift to resize in larger increments.'\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),\n\t\t\t} }\n\t\t\tonResizeStart={ handleResizeStart }\n\t\t\tonResize={ handleResize }\n\t\t\tonResizeStop={ handleResizeStop }\n\t\t\tclassName={ clsx( 'edit-site-resizable-frame__inner', {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tshowHandle={ false } // Do not show the default handle, as we're using a custom one.\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-resizable-frame__inner-content\"\n\t\t\t\tstyle={ innerContentStyle }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableFrame;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tResizableBox,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useInstanceId, useReducedMotion } from '@wordpress/compose';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\n// The minimum width of the frame (in px) while resizing.\nconst FRAME_MIN_WIDTH = 320;\n// The reference width of the frame (in px) used to calculate the aspect ratio.\nconst FRAME_REFERENCE_WIDTH = 1300;\n// 9 : 19.5 is the target aspect ratio enforced (when possible) while resizing.\nconst FRAME_TARGET_ASPECT_RATIO = 9 / 19.5;\n// The minimum distance (in px) between the frame resize handle and the\n// viewport's edge. If the frame is resized to be closer to the viewport's edge\n// than this distance, then \"canvas mode\" will be enabled.\nconst SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD = 200;\n// Default size for the `frameSize` state.\nconst INITIAL_FRAME_SIZE = { width: '100%', height: '100%' };\n\nfunction calculateNewHeight( width, initialAspectRatio ) {\n\tconst lerp = ( a, b, amount ) => {\n\t\treturn a + ( b - a ) * amount;\n\t};\n\n\t// Calculate the intermediate aspect ratio based on the current width.\n\tconst lerpFactor =\n\t\t1 -\n\t\tMath.max(\n\t\t\t0,\n\t\t\tMath.min(\n\t\t\t\t1,\n\t\t\t\t( width - FRAME_MIN_WIDTH ) /\n\t\t\t\t\t( FRAME_REFERENCE_WIDTH - FRAME_MIN_WIDTH )\n\t\t\t)\n\t\t);\n\n\t// Calculate the height based on the intermediate aspect ratio\n\t// ensuring the frame arrives at the target aspect ratio.\n\tconst intermediateAspectRatio = lerp(\n\t\tinitialAspectRatio,\n\t\tFRAME_TARGET_ASPECT_RATIO,\n\t\tlerpFactor\n\t);\n\n\treturn width / intermediateAspectRatio;\n}\n\nfunction ResizableFrame( {\n\tisFullWidth,\n\tisOversized,\n\tsetIsOversized,\n\tisReady,\n\tchildren,\n\t/** The default (unresized) width/height of the frame, based on the space available in the viewport. */\n\tdefaultSize,\n\tinnerContentStyle,\n} ) {\n\tconst history = useHistory();\n\tconst { path, query } = useLocation();\n\tconst { canvas = 'view' } = query;\n\tconst disableMotion = useReducedMotion();\n\tconst [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );\n\t// The width of the resizable frame when a new resize gesture starts.\n\tconst [ startingWidth, setStartingWidth ] = useState();\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ shouldShowHandle, setShouldShowHandle ] = useState( false );\n\tconst [ resizeRatio, setResizeRatio ] = useState( 1 );\n\n\tconst FRAME_TRANSITION = { type: 'tween', duration: isResizing ? 0 : 0.5 };\n\tconst frameRef = useRef( null );\n\tconst resizableHandleHelpId = useInstanceId(\n\t\tResizableFrame,\n\t\t'edit-site-resizable-frame-handle-help'\n\t);\n\tconst defaultAspectRatio = defaultSize.width / defaultSize.height;\n\tconst isBlockTheme = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme } = select( coreStore );\n\t\treturn getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\n\tconst handleResizeStart = ( _event, _direction, ref ) => {\n\t\t// Remember the starting width so we don't have to get `ref.offsetWidth` on\n\t\t// every resize event thereafter, which will cause layout thrashing.\n\t\tsetStartingWidth( ref.offsetWidth );\n\t\tsetIsResizing( true );\n\t};\n\n\t// Calculate the frame size based on the window width as its resized.\n\tconst handleResize = ( _event, _direction, _ref, delta ) => {\n\t\tconst normalizedDelta = delta.width / resizeRatio;\n\t\tconst deltaAbs = Math.abs( normalizedDelta );\n\t\tconst maxDoubledDelta =\n\t\t\tdelta.width < 0 // is shrinking\n\t\t\t\t? deltaAbs\n\t\t\t\t: ( defaultSize.width - startingWidth ) / 2;\n\t\tconst deltaToDouble = Math.min( deltaAbs, maxDoubledDelta );\n\t\tconst doubleSegment = deltaAbs === 0 ? 0 : deltaToDouble / deltaAbs;\n\t\tconst singleSegment = 1 - doubleSegment;\n\n\t\tsetResizeRatio( singleSegment + doubleSegment * 2 );\n\n\t\tconst updatedWidth = startingWidth + delta.width;\n\n\t\tsetIsOversized( updatedWidth > defaultSize.width );\n\n\t\t// Width will be controlled by the library (via `resizeRatio`),\n\t\t// so we only need to update the height.\n\t\tsetFrameSize( {\n\t\t\theight: isOversized\n\t\t\t\t? '100%'\n\t\t\t\t: calculateNewHeight( updatedWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst handleResizeStop = ( _event, _direction, ref ) => {\n\t\tsetIsResizing( false );\n\n\t\tif ( ! isOversized ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsOversized( false );\n\n\t\tconst remainingWidth =\n\t\t\tref.ownerDocument.documentElement.offsetWidth - ref.offsetWidth;\n\n\t\tif (\n\t\t\tremainingWidth > SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD ||\n\t\t\t! isBlockTheme\n\t\t) {\n\t\t\t// Reset the initial aspect ratio if the frame is resized slightly\n\t\t\t// above the sidebar but not far enough to trigger full screen.\n\t\t\tsetFrameSize( INITIAL_FRAME_SIZE );\n\t\t} else {\n\t\t\t// Trigger full screen if the frame is resized far enough to the left.\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} ),\n\t\t\t\t{\n\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n\t// Handle resize by arrow keys\n\tconst handleResizableHandleKeyDown = ( event ) => {\n\t\tif ( ! [ 'ArrowLeft', 'ArrowRight' ].includes( event.key ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst step = 20 * ( event.shiftKey ? 5 : 1 );\n\t\tconst delta =\n\t\t\tstep *\n\t\t\t( event.key === 'ArrowLeft' ? 1 : -1 ) *\n\t\t\t( isRTL() ? -1 : 1 );\n\t\tconst newWidth = Math.min(\n\t\t\tMath.max(\n\t\t\t\tFRAME_MIN_WIDTH,\n\t\t\t\tframeRef.current.resizable.offsetWidth + delta\n\t\t\t),\n\t\t\tdefaultSize.width\n\t\t);\n\n\t\tsetFrameSize( {\n\t\t\twidth: newWidth,\n\t\t\theight: calculateNewHeight( newWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst frameAnimationVariants = {\n\t\tdefault: {\n\t\t\tflexGrow: 0,\n\t\t\theight: frameSize.height,\n\t\t},\n\t\tfullWidth: {\n\t\t\tflexGrow: 1,\n\t\t\theight: frameSize.height,\n\t\t},\n\t};\n\n\tconst resizeHandleVariants = {\n\t\thidden: {\n\t\t\topacity: 0,\n\t\t\t...( isRTL() ? { right: 0 } : { left: 0 } ),\n\t\t},\n\t\tvisible: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t},\n\t\tactive: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t\tscaleY: 1.3,\n\t\t},\n\t};\n\tconst currentResizeHandleVariant = ( () => {\n\t\tif ( isResizing ) {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn shouldShowHandle ? 'visible' : 'hidden';\n\t} )();\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tas={ motion.div }\n\t\t\tref={ frameRef }\n\t\t\tinitial={ false }\n\t\t\tvariants={ frameAnimationVariants }\n\t\t\tanimate={ isFullWidth ? 'fullWidth' : 'default' }\n\t\t\tonAnimationComplete={ ( definition ) => {\n\t\t\t\tif ( definition === 'fullWidth' ) {\n\t\t\t\t\tsetFrameSize( { width: '100%', height: '100%' } );\n\t\t\t\t}\n\t\t\t} }\n\t\t\twhileHover={\n\t\t\t\tcanvas === 'view' && isBlockTheme\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.5,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\ttransition={ FRAME_TRANSITION }\n\t\t\tsize={ frameSize }\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tbottom: false,\n\t\t\t\t// Resizing will be disabled until the editor content is loaded.\n\t\t\t\t...( isRTL()\n\t\t\t\t\t? { right: isReady, left: false }\n\t\t\t\t\t: { left: isReady, right: false } ),\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t} }\n\t\t\tresizeRatio={ resizeRatio }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t\tminWidth={ FRAME_MIN_WIDTH }\n\t\t\tmaxWidth={ isFullWidth ? '100%' : '150%' }\n\t\t\tmaxHeight=\"100%\"\n\t\t\tonFocus={ () => setShouldShowHandle( true ) }\n\t\t\tonBlur={ () => setShouldShowHandle( false ) }\n\t\t\tonMouseOver={ () => setShouldShowHandle( true ) }\n\t\t\tonMouseOut={ () => setShouldShowHandle( false ) }\n\t\t\thandleComponent={ {\n\t\t\t\t[ isRTL() ? 'right' : 'left' ]: canvas === 'view' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<motion.button\n\t\t\t\t\t\t\t\t\t\tkey=\"handle\"\n\t\t\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-resizable-frame__handle',\n\t\t\t\t\t\t\t\t\t\t\t{ 'is-resizing': isResizing }\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tvariants={ resizeHandleVariants }\n\t\t\t\t\t\t\t\t\t\tanimate={ currentResizeHandleVariant }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tresizableHandleHelpId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuenow={\n\t\t\t\t\t\t\t\t\t\t\tframeRef.current?.resizable\n\t\t\t\t\t\t\t\t\t\t\t\t?.offsetWidth || undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuemin={ FRAME_MIN_WIDTH }\n\t\t\t\t\t\t\t\t\t\taria-valuemax={ defaultSize.width }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\thandleResizableHandleKeyDown\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\t\t\texit=\"hidden\"\n\t\t\t\t\t\t\t\t\t\twhileFocus=\"active\"\n\t\t\t\t\t\t\t\t\t\twhileHover=\"active\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Tooltip.Popup>\n\t\t\t\t\t\t\t\t{ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t</Tooltip.Popup>\n\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t<div hidden id={ resizableHandleHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use left and right arrow keys to resize the canvas. Hold shift to resize in larger increments.'\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),\n\t\t\t} }\n\t\t\tonResizeStart={ handleResizeStart }\n\t\t\tonResize={ handleResize }\n\t\t\tonResizeStop={ handleResizeStop }\n\t\t\tclassName={ clsx( 'edit-site-resizable-frame__inner', {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tshowHandle={ false } // Do not show the default handle, as we're using a custom one.\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-resizable-frame__inner-content\"\n\t\t\t\tstyle={ innerContentStyle }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableFrame;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -25,7 +25,7 @@ function useTitle(title) {
25
25
  if (title && siteTitle) {
26
26
  const formattedTitle = sprintf(
27
27
  /* translators: Admin document title. 1: Admin screen name, 2: Network or site name. */
28
- __("%1$s \u2039 %2$s \u2039 Editor \u2014 WordPress"),
28
+ __("%1$s %2$s Editor WordPress"),
29
29
  decodeEntities(title),
30
30
  decodeEntities(siteTitle)
31
31
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/routes/use-title.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useTitle( title ) {\n\tconst location = useLocation();\n\tconst siteTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )?.title,\n\t\t[]\n\t);\n\tconst isInitialLocationRef = useRef( true );\n\n\tuseEffect( () => {\n\t\tisInitialLocationRef.current = false;\n\t}, [ location ] );\n\n\tuseEffect( () => {\n\t\t// Don't update or announce the title for initial page load.\n\t\tif ( isInitialLocationRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( title && siteTitle ) {\n\t\t\t// @see https://github.com/WordPress/wordpress-develop/blob/94849898192d271d533e09756007e176feb80697/src/wp-admin/admin-header.php#L67-L68\n\t\t\tconst formattedTitle = sprintf(\n\t\t\t\t/* translators: Admin document title. 1: Admin screen name, 2: Network or site name. */\n\t\t\t\t__( '%1$s \u2039 %2$s \u2039 Editor \u2014 WordPress' ),\n\t\t\t\tdecodeEntities( title ),\n\t\t\t\tdecodeEntities( siteTitle )\n\t\t\t);\n\n\t\t\tdocument.title = formattedTitle;\n\n\t\t\t// Announce title on route change for screen readers.\n\t\t\tspeak( title, 'assertive' );\n\t\t}\n\t}, [ title, siteTitle, location ] );\n}\n"],
5
- "mappings": ";AAGA,SAAS,WAAW,cAAc;AAClC,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,IAAI,eAAe;AAC5B,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAS,eAAe,yBAAyB;AAKjD,SAAS,cAAc;AAEvB,IAAM,EAAE,YAAY,IAAI,OAAQ,iBAAkB;AAEnC,SAAR,SAA2B,OAAQ;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,YAAY;AAAA,IACjB,CAAE,WACD,OAAQ,SAAU,EAAE,gBAAiB,QAAQ,MAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACF;AACA,QAAM,uBAAuB,OAAQ,IAAK;AAE1C,YAAW,MAAM;AAChB,yBAAqB,UAAU;AAAA,EAChC,GAAG,CAAE,QAAS,CAAE;AAEhB,YAAW,MAAM;AAEhB,QAAK,qBAAqB,SAAU;AACnC;AAAA,IACD;AAEA,QAAK,SAAS,WAAY;AAEzB,YAAM,iBAAiB;AAAA;AAAA,QAEtB,GAAI,iDAAmC;AAAA,QACvC,eAAgB,KAAM;AAAA,QACtB,eAAgB,SAAU;AAAA,MAC3B;AAEA,eAAS,QAAQ;AAGjB,YAAO,OAAO,WAAY;AAAA,IAC3B;AAAA,EACD,GAAG,CAAE,OAAO,WAAW,QAAS,CAAE;AACnC;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useTitle( title ) {\n\tconst location = useLocation();\n\tconst siteTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )?.title,\n\t\t[]\n\t);\n\tconst isInitialLocationRef = useRef( true );\n\n\tuseEffect( () => {\n\t\tisInitialLocationRef.current = false;\n\t}, [ location ] );\n\n\tuseEffect( () => {\n\t\t// Don't update or announce the title for initial page load.\n\t\tif ( isInitialLocationRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( title && siteTitle ) {\n\t\t\t// @see https://github.com/WordPress/wordpress-develop/blob/94849898192d271d533e09756007e176feb80697/src/wp-admin/admin-header.php#L67-L68\n\t\t\tconst formattedTitle = sprintf(\n\t\t\t\t/* translators: Admin document title. 1: Admin screen name, 2: Network or site name. */\n\t\t\t\t__( '%1$s %2$s Editor WordPress' ),\n\t\t\t\tdecodeEntities( title ),\n\t\t\t\tdecodeEntities( siteTitle )\n\t\t\t);\n\n\t\t\tdocument.title = formattedTitle;\n\n\t\t\t// Announce title on route change for screen readers.\n\t\t\tspeak( title, 'assertive' );\n\t\t}\n\t}, [ title, siteTitle, location ] );\n}\n"],
5
+ "mappings": ";AAGA,SAAS,WAAW,cAAc;AAClC,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,IAAI,eAAe;AAC5B,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAS,eAAe,yBAAyB;AAKjD,SAAS,cAAc;AAEvB,IAAM,EAAE,YAAY,IAAI,OAAQ,iBAAkB;AAEnC,SAAR,SAA2B,OAAQ;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,YAAY;AAAA,IACjB,CAAE,WACD,OAAQ,SAAU,EAAE,gBAAiB,QAAQ,MAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACF;AACA,QAAM,uBAAuB,OAAQ,IAAK;AAE1C,YAAW,MAAM;AAChB,yBAAqB,UAAU;AAAA,EAChC,GAAG,CAAE,QAAS,CAAE;AAEhB,YAAW,MAAM;AAEhB,QAAK,qBAAqB,SAAU;AACnC;AAAA,IACD;AAEA,QAAK,SAAS,WAAY;AAEzB,YAAM,iBAAiB;AAAA;AAAA,QAEtB,GAAI,kCAAmC;AAAA,QACvC,eAAgB,KAAM;AAAA,QACtB,eAAgB,SAAU;AAAA,MAC3B;AAEA,eAAS,QAAQ;AAGjB,YAAO,OAAO,WAAY;AAAA,IAC3B;AAAA,EACD,GAAG,CAAE,OAAO,WAAW,QAAS,CAAE;AACnC;",
6
6
  "names": []
7
7
  }
@@ -95,8 +95,8 @@ function SaveButton({
95
95
  return sprintf(
96
96
  // translators: %d: number of unsaved changes (number).
97
97
  _n(
98
- "Review %d change\u2026",
99
- "Review %d changes\u2026",
98
+ "Review %d change",
99
+ "Review %d changes",
100
100
  dirtyEntityRecords.length
101
101
  ),
102
102
  dirtyEntityRecords.length