@wordpress/edit-site 6.48.1 → 6.48.2-next.v.202606191442.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 (86) hide show
  1. package/build/components/editor/use-editor-title.cjs +1 -1
  2. package/build/components/editor/use-editor-title.cjs.map +2 -2
  3. package/build/components/layout/index.cjs +25 -5
  4. package/build/components/layout/index.cjs.map +2 -2
  5. package/build/components/page-templates/index-legacy.cjs +12 -8
  6. package/build/components/page-templates/index-legacy.cjs.map +2 -2
  7. package/build/components/resizable-frame/index.cjs.map +2 -2
  8. package/build/components/routes/use-title.cjs +1 -1
  9. package/build/components/routes/use-title.cjs.map +2 -2
  10. package/build/components/save-button/index.cjs +2 -2
  11. package/build/components/save-button/index.cjs.map +1 -1
  12. package/build/components/save-hub/index.cjs +3 -3
  13. package/build/components/save-hub/index.cjs.map +3 -3
  14. package/build/components/sidebar-navigation-item/index.cjs +8 -3
  15. package/build/components/sidebar-navigation-item/index.cjs.map +3 -3
  16. package/build/components/sidebar-navigation-screen-global-styles/index.cjs +2 -18
  17. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +3 -3
  18. package/build/components/sidebar-navigation-screen-identity/index.cjs +0 -19
  19. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +3 -3
  20. package/build/components/sidebar-navigation-screen-main/index.cjs +25 -25
  21. package/build/components/sidebar-navigation-screen-main/index.cjs.map +2 -2
  22. package/build/components/sidebar-navigation-screen-patterns/index.cjs +1 -1
  23. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  24. package/build/components/welcome-guide/editor.cjs +1 -1
  25. package/build/components/welcome-guide/editor.cjs.map +1 -1
  26. package/build/components/welcome-guide/page.cjs +1 -1
  27. package/build/components/welcome-guide/page.cjs.map +1 -1
  28. package/build/components/welcome-guide/template.cjs +1 -1
  29. package/build/components/welcome-guide/template.cjs.map +1 -1
  30. package/build-module/components/editor/use-editor-title.mjs +1 -1
  31. package/build-module/components/editor/use-editor-title.mjs.map +2 -2
  32. package/build-module/components/layout/index.mjs +25 -5
  33. package/build-module/components/layout/index.mjs.map +2 -2
  34. package/build-module/components/page-templates/index-legacy.mjs +13 -9
  35. package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
  36. package/build-module/components/resizable-frame/index.mjs.map +2 -2
  37. package/build-module/components/routes/use-title.mjs +1 -1
  38. package/build-module/components/routes/use-title.mjs.map +2 -2
  39. package/build-module/components/save-button/index.mjs +2 -2
  40. package/build-module/components/save-button/index.mjs.map +1 -1
  41. package/build-module/components/save-hub/index.mjs +3 -3
  42. package/build-module/components/save-hub/index.mjs.map +2 -2
  43. package/build-module/components/sidebar-navigation-item/index.mjs +9 -8
  44. package/build-module/components/sidebar-navigation-item/index.mjs.map +2 -2
  45. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs +2 -14
  46. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +2 -2
  47. package/build-module/components/sidebar-navigation-screen-identity/index.mjs +0 -15
  48. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +2 -2
  49. package/build-module/components/sidebar-navigation-screen-main/index.mjs +25 -25
  50. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +2 -2
  51. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +1 -1
  52. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  53. package/build-module/components/welcome-guide/editor.mjs +1 -1
  54. package/build-module/components/welcome-guide/editor.mjs.map +1 -1
  55. package/build-module/components/welcome-guide/page.mjs +1 -1
  56. package/build-module/components/welcome-guide/page.mjs.map +1 -1
  57. package/build-module/components/welcome-guide/template.mjs +1 -1
  58. package/build-module/components/welcome-guide/template.mjs.map +1 -1
  59. package/build-style/{experimental-admin-bar-in-editor-rtl.css → experimental-omnibar-rtl.css} +46 -1
  60. package/build-style/{experimental-admin-bar-in-editor.css → experimental-omnibar.css} +46 -1
  61. package/build-style/style-rtl.css +222 -241
  62. package/build-style/style.css +222 -241
  63. package/package.json +48 -48
  64. package/src/components/layout/index.js +20 -9
  65. package/src/components/layout/style.scss +19 -12
  66. package/src/components/page-patterns/style.scss +1 -1
  67. package/src/components/page-templates/index-legacy.js +17 -9
  68. package/src/components/page-templates/style.scss +0 -5
  69. package/src/components/resizable-frame/index.js +0 -1
  70. package/src/components/save-hub/index.js +4 -4
  71. package/src/components/save-hub/style.scss +3 -3
  72. package/src/components/sidebar-button/style.scss +2 -2
  73. package/src/components/sidebar-global-styles/style.scss +1 -1
  74. package/src/components/sidebar-navigation-item/index.js +11 -9
  75. package/src/components/sidebar-navigation-item/style.scss +6 -6
  76. package/src/components/sidebar-navigation-screen/style.scss +8 -8
  77. package/src/components/sidebar-navigation-screen-global-styles/index.js +2 -15
  78. package/src/components/sidebar-navigation-screen-identity/index.js +0 -15
  79. package/src/components/sidebar-navigation-screen-main/index.js +24 -22
  80. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -2
  81. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +8 -8
  82. package/src/components/sidebar-navigation-screen-patterns/style.scss +1 -1
  83. package/src/components/site-hub/style.scss +5 -5
  84. package/src/components/welcome-guide/page.js +1 -1
  85. package/src/{experimental-admin-bar-in-editor.scss → experimental-omnibar.scss} +3 -1
  86. package/src/style.scss +2 -2
@@ -79,7 +79,7 @@ function useEditorTitle(postType, postId) {
79
79
  if (isLoaded) {
80
80
  editorTitle = (0, import_i18n.sprintf)(
81
81
  // translators: A breadcrumb trail for the Admin document title. 1: title of template being edited, 2: type of template (Template or Template Part).
82
- (0, import_i18n._x)("%1$s \u2039 %2$s", "breadcrumb trail"),
82
+ (0, import_i18n._x)("%1$s %2$s", "breadcrumb trail"),
83
83
  (0, import_html_entities.decodeEntities)(title),
84
84
  import_constants.POST_TYPE_LABELS[postType] ?? import_constants.POST_TYPE_LABELS[import_constants.TEMPLATE_POST_TYPE]
85
85
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/editor/use-editor-title.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useTitle from '../routes/use-title';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { getTemplateInfo } = unlock( editorPrivateApis );\n\nfunction useEditorTitle( postType, postId ) {\n\tconst { title, isLoaded } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetCurrentTheme,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn { isLoaded: false };\n\t\t\t}\n\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\tgetCurrentTheme() ?? {};\n\n\t\t\tconst templateInfo = getTemplateInfo( {\n\t\t\t\ttemplate: _record,\n\t\t\t\ttemplateTypes,\n\t\t\t} );\n\n\t\t\tconst _isLoaded = hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId,\n\t\t\t] );\n\n\t\t\treturn {\n\t\t\t\ttitle: templateInfo.title,\n\t\t\t\tisLoaded: _isLoaded,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tlet editorTitle;\n\tif ( isLoaded ) {\n\t\teditorTitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. 1: title of template being edited, 2: type of template (Template or Template Part).\n\t\t\t_x( '%1$s \u2039 %2$s', 'breadcrumb trail' ),\n\t\t\tdecodeEntities( title ),\n\t\t\tPOST_TYPE_LABELS[ postType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( isLoaded && editorTitle );\n}\n\nexport default useEditorTitle;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA4B;AAC5B,kBAA0B;AAC1B,uBAAmC;AACnC,2BAA+B;AAC/B,oBAAiD;AAKjD,uBAAqB;AACrB,uBAAqD;AACrD,yBAAuB;AAEvB,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,cAAAA,WAAkB;AAEtD,SAAS,eAAgB,UAAU,QAAS;AAC3C,QAAM,EAAE,OAAO,SAAS,QAAI;AAAA,IAC3B,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,iBAAAC,KAAU;AAEtB,UAAK,CAAE,QAAS;AACf,eAAO,EAAE,UAAU,MAAM;AAAA,MAC1B;AAEA,YAAM,UAAU;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAEA,YAAM,EAAE,wBAAwB,gBAAgB,CAAC,EAAE,IAClD,gBAAgB,KAAK,CAAC;AAEvB,YAAM,eAAe,gBAAiB;AAAA,QACrC,UAAU;AAAA,QACV;AAAA,MACD,CAAE;AAEF,YAAM,YAAY,sBAAuB,yBAAyB;AAAA,QACjE;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAE;AAEF,aAAO;AAAA,QACN,OAAO,aAAa;AAAA,QACpB,UAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA,CAAE,UAAU,MAAO;AAAA,EACpB;AAEA,MAAI;AACJ,MAAK,UAAW;AACf,sBAAc;AAAA;AAAA,UAEb,gBAAI,oBAAe,kBAAmB;AAAA,UACtC,qCAAgB,KAAM;AAAA,MACtB,kCAAkB,QAAS,KAC1B,kCAAkB,mCAAmB;AAAA,IACvC;AAAA,EACD;AAIA,uBAAAC,SAAU,YAAY,WAAY;AACnC;AAEA,IAAO,2BAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useTitle from '../routes/use-title';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { getTemplateInfo } = unlock( editorPrivateApis );\n\nfunction useEditorTitle( postType, postId ) {\n\tconst { title, isLoaded } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetCurrentTheme,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn { isLoaded: false };\n\t\t\t}\n\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\tgetCurrentTheme() ?? {};\n\n\t\t\tconst templateInfo = getTemplateInfo( {\n\t\t\t\ttemplate: _record,\n\t\t\t\ttemplateTypes,\n\t\t\t} );\n\n\t\t\tconst _isLoaded = hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId,\n\t\t\t] );\n\n\t\t\treturn {\n\t\t\t\ttitle: templateInfo.title,\n\t\t\t\tisLoaded: _isLoaded,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tlet editorTitle;\n\tif ( isLoaded ) {\n\t\teditorTitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. 1: title of template being edited, 2: type of template (Template or Template Part).\n\t\t\t_x( '%1$s %2$s', 'breadcrumb trail' ),\n\t\t\tdecodeEntities( title ),\n\t\t\tPOST_TYPE_LABELS[ postType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( isLoaded && editorTitle );\n}\n\nexport default useEditorTitle;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA4B;AAC5B,kBAA0B;AAC1B,uBAAmC;AACnC,2BAA+B;AAC/B,oBAAiD;AAKjD,uBAAqB;AACrB,uBAAqD;AACrD,yBAAuB;AAEvB,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,cAAAA,WAAkB;AAEtD,SAAS,eAAgB,UAAU,QAAS;AAC3C,QAAM,EAAE,OAAO,SAAS,QAAI;AAAA,IAC3B,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,iBAAAC,KAAU;AAEtB,UAAK,CAAE,QAAS;AACf,eAAO,EAAE,UAAU,MAAM;AAAA,MAC1B;AAEA,YAAM,UAAU;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAEA,YAAM,EAAE,wBAAwB,gBAAgB,CAAC,EAAE,IAClD,gBAAgB,KAAK,CAAC;AAEvB,YAAM,eAAe,gBAAiB;AAAA,QACrC,UAAU;AAAA,QACV;AAAA,MACD,CAAE;AAEF,YAAM,YAAY,sBAAuB,yBAAyB;AAAA,QACjE;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAE;AAEF,aAAO;AAAA,QACN,OAAO,aAAa;AAAA,QACpB,UAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA,CAAE,UAAU,MAAO;AAAA,EACpB;AAEA,MAAI;AACJ,MAAK,UAAW;AACf,sBAAc;AAAA;AAAA,UAEb,gBAAI,eAAe,kBAAmB;AAAA,UACtC,qCAAgB,KAAM;AAAA,MACtB,kCAAkB,QAAS,KAC1B,kCAAkB,mCAAmB;AAAA,IACvC;AAAA,EACD;AAIA,uBAAAC,SAAU,YAAY,WAAY;AACnC;AAEA,IAAO,2BAAQ;",
6
6
  "names": ["editorPrivateApis", "coreStore", "useTitle"]
7
7
  }
@@ -165,13 +165,33 @@ function Layout() {
165
165
  isTransparent: isResizableFrameOversized
166
166
  }
167
167
  ),
168
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar.SidebarContent, { routeKey, children: areas.mobileContent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
169
- ThemeProvider,
168
+ areas.mobileContent ? (
169
+ /*
170
+ * ThemeProvider wraps SidebarContent (rather than
171
+ * just the content) so the scroll wrapper it renders
172
+ * inherits the content background tokens. See
173
+ * `.edit-site-sidebar__screen-wrapper` in style.scss.
174
+ */
175
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
176
+ ThemeProvider,
177
+ {
178
+ color: CONTENT_COLOR,
179
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
180
+ import_sidebar.SidebarContent,
181
+ {
182
+ routeKey,
183
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "edit-site-layout__mobile-content", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.ErrorBoundary, { children: areas.mobileContent }) })
184
+ }
185
+ )
186
+ }
187
+ )
188
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
189
+ import_sidebar.SidebarContent,
170
190
  {
171
- color: CONTENT_COLOR,
172
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "edit-site-layout__mobile-content", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.ErrorBoundary, { children: areas.mobileContent }) })
191
+ routeKey,
192
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.ErrorBoundary, { children: areas.mobileSidebar })
173
193
  }
174
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.ErrorBoundary, { children: areas.mobileSidebar }) }),
194
+ ),
175
195
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_save_hub.default, {}),
176
196
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_save_panel.default, {})
177
197
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeProvider, { color: CONTENT_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.ErrorBoundary, { children: areas.preview }) }) }) }),
@@ -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 { 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';\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{ 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": ["routerPrivateApis", "editorPrivateApis", "themePrivateApis", "useNavigateRegions", "useMovingAnimation", "preferencesStore", "SaveKeyboardShortcut", "clsx", "AnimatePresence", "motion", "SiteHub", "SaveHub", "SavePanel", "ResizableFrame", "noticesStore"]
7
7
  }
@@ -49,7 +49,7 @@ var import_lock_unlock = require("../../lock-unlock.cjs");
49
49
  var import_dataviews_actions = require("../dataviews-actions/index.cjs");
50
50
  var import_fields = require("./fields.cjs");
51
51
  var import_jsx_runtime = require("react/jsx-runtime");
52
- var { usePostActions, templateTitleField } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
52
+ var { usePostActions, usePostFields } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
53
53
  var { useHistory, useLocation } = (0, import_lock_unlock.unlock)(import_router.privateApis);
54
54
  var { useEntityRecordsWithPermissions } = (0, import_lock_unlock.unlock)(import_core_data.privateApis);
55
55
  function PageTemplates() {
@@ -119,18 +119,22 @@ function PageTemplates() {
119
119
  label: author
120
120
  }));
121
121
  }, [records]);
122
- const fields = (0, import_element.useMemo)(
123
- () => [
122
+ const postFields = usePostFields({ postType: import_constants.TEMPLATE_POST_TYPE });
123
+ const fields = (0, import_element.useMemo)(() => {
124
+ const __fields = [
124
125
  import_fields.previewField,
125
- templateTitleField,
126
- import_fields.descriptionField,
127
126
  {
128
127
  ...import_fields.authorField,
129
128
  elements: authors
130
129
  }
131
- ],
132
- [authors]
133
- );
130
+ ];
131
+ return [
132
+ ...__fields,
133
+ ...(postFields || []).filter(
134
+ (field) => ["description", "title"].includes(field.id)
135
+ )
136
+ ];
137
+ }, [authors, postFields]);
134
138
  const { data, paginationInfo } = (0, import_element.useMemo)(() => {
135
139
  return (0, import_dataviews.filterSortAndPaginate)(records, view, fields);
136
140
  }, [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 { authorField, previewField } from './fields';\n\nconst { usePostActions, usePostFields } = 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 postFields = usePostFields( { postType: TEMPLATE_POST_TYPE } );\n\tconst fields = useMemo( () => {\n\t\tconst __fields = [\n\t\t\tpreviewField,\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// TODO: Only `description` and `title` are sourced from the shared\n\t\t// `@wordpress/fields` registry so far. The remaining local fields\n\t\t// (e.g. `previewField`, `authorField`) should also be evaluated for\n\t\t// migration to the shared registry.\n\t\treturn [\n\t\t\t...__fields,\n\t\t\t...( postFields || [] ).filter( ( field ) =>\n\t\t\t\t[ 'description', 'title' ].includes( field.id )\n\t\t\t),\n\t\t];\n\t}, [ authors, 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": "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",
6
6
  "names": ["editorPrivateApis", "routerPrivateApis", "corePrivateApis", "AddNewTemplate"]
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": ["routerPrivateApis", "coreStore", "motion", "clsx"]
7
7
  }
@@ -49,7 +49,7 @@ function useTitle(title) {
49
49
  if (title && siteTitle) {
50
50
  const formattedTitle = (0, import_i18n.sprintf)(
51
51
  /* translators: Admin document title. 1: Admin screen name, 2: Network or site name. */
52
- (0, import_i18n.__)("%1$s \u2039 %2$s \u2039 Editor \u2014 WordPress"),
52
+ (0, import_i18n.__)("%1$s %2$s Editor WordPress"),
53
53
  (0, import_html_entities.decodeEntities)(title),
54
54
  (0, import_html_entities.decodeEntities)(siteTitle)
55
55
  );
@@ -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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAkC;AAClC,kBAA0B;AAC1B,uBAAmC;AACnC,kBAA4B;AAC5B,kBAAsB;AACtB,2BAA+B;AAC/B,oBAAiD;AAKjD,yBAAuB;AAEvB,IAAM,EAAE,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAEnC,SAAR,SAA2B,OAAQ;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,gBAAY;AAAA,IACjB,CAAE,WACD,OAAQ,iBAAAC,KAAU,EAAE,gBAAiB,QAAQ,MAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACF;AACA,QAAM,2BAAuB,uBAAQ,IAAK;AAE1C,gCAAW,MAAM;AAChB,yBAAqB,UAAU;AAAA,EAChC,GAAG,CAAE,QAAS,CAAE;AAEhB,gCAAW,MAAM;AAEhB,QAAK,qBAAqB,SAAU;AACnC;AAAA,IACD;AAEA,QAAK,SAAS,WAAY;AAEzB,YAAM,qBAAiB;AAAA;AAAA,YAEtB,gBAAI,iDAAmC;AAAA,YACvC,qCAAgB,KAAM;AAAA,YACtB,qCAAgB,SAAU;AAAA,MAC3B;AAEA,eAAS,QAAQ;AAGjB,6BAAO,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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAkC;AAClC,kBAA0B;AAC1B,uBAAmC;AACnC,kBAA4B;AAC5B,kBAAsB;AACtB,2BAA+B;AAC/B,oBAAiD;AAKjD,yBAAuB;AAEvB,IAAM,EAAE,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAEnC,SAAR,SAA2B,OAAQ;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,gBAAY;AAAA,IACjB,CAAE,WACD,OAAQ,iBAAAC,KAAU,EAAE,gBAAiB,QAAQ,MAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACF;AACA,QAAM,2BAAuB,uBAAQ,IAAK;AAE1C,gCAAW,MAAM;AAChB,yBAAqB,UAAU;AAAA,EAChC,GAAG,CAAE,QAAS,CAAE;AAEhB,gCAAW,MAAM;AAEhB,QAAK,qBAAqB,SAAU;AACnC;AAAA,IACD;AAEA,QAAK,SAAS,WAAY;AAEzB,YAAM,qBAAiB;AAAA;AAAA,YAEtB,gBAAI,kCAAmC;AAAA,YACvC,qCAAgB,KAAM;AAAA,YACtB,qCAAgB,SAAU;AAAA,MAC3B;AAEA,eAAS,QAAQ;AAGjB,6BAAO,OAAO,WAAY;AAAA,IAC3B;AAAA,EACD,GAAG,CAAE,OAAO,WAAW,QAAS,CAAE;AACnC;",
6
6
  "names": ["routerPrivateApis", "coreStore"]
7
7
  }
@@ -113,8 +113,8 @@ function SaveButton({
113
113
  return (0, import_i18n.sprintf)(
114
114
  // translators: %d: number of unsaved changes (number).
115
115
  (0, import_i18n._n)(
116
- "Review %d change\u2026",
117
- "Review %d changes\u2026",
116
+ "Review %d change",
117
+ "Review %d changes",
118
118
  dirtyEntityRecords.length
119
119
  ),
120
120
  dirtyEntityRecords.length
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/save-button/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tuseEntitiesSavedStatesIsDirty,\n\tstore as editorStore,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tshowReviewMessage,\n\ticon,\n\tsize,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { params } = useLocation();\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { saveDirtyEntities } = unlock( useDispatch( editorStore ) );\n\tconst { dirtyEntityRecords } = useEntitiesSavedStatesIsDirty();\n\tconst { isSaving, isSaveViewOpen, previewingThemeName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isSavingEntityRecord, isResolving } = select( coreStore );\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\t\t\treturn {\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ dirtyEntityRecords ]\n\t);\n\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\tlet isOnlyCurrentEntityDirty;\n\t// Check if the current entity is the only entity with changes.\n\t// We have some extra logic for `wp_global_styles` for now, that\n\t// is used in navigation sidebar.\n\tif ( dirtyEntityRecords.length === 1 ) {\n\t\tif ( params.postId ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\t`${ dirtyEntityRecords[ 0 ].key }` === params.postId &&\n\t\t\t\tdirtyEntityRecords[ 0 ].name === params.postType;\n\t\t} else if ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\tdirtyEntityRecords[ 0 ].name === 'globalStyles';\n\t\t}\n\t}\n\tconst disabled =\n\t\tisSaving || ( ! hasDirtyEntities && ! isPreviewingTheme() );\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( hasDirtyEntities ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t}\n\t\tif ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t}\n\t\tif ( ! isOnlyCurrentEntityDirty && showReviewMessage ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change\u2026',\n\t\t\t\t\t'Review %d changes\u2026',\n\t\t\t\t\tdirtyEntityRecords.length\n\t\t\t\t),\n\t\t\t\tdirtyEntityRecords.length\n\t\t\t);\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\tconst onClick = isOnlyCurrentEntityDirty\n\t\t? () => saveDirtyEntities( { dirtyEntityRecords } )\n\t\t: () => setIsSaveViewOpened( true );\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : onClick }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize={ size }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tuseEntitiesSavedStatesIsDirty,\n\tstore as editorStore,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tshowReviewMessage,\n\ticon,\n\tsize,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { params } = useLocation();\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { saveDirtyEntities } = unlock( useDispatch( editorStore ) );\n\tconst { dirtyEntityRecords } = useEntitiesSavedStatesIsDirty();\n\tconst { isSaving, isSaveViewOpen, previewingThemeName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isSavingEntityRecord, isResolving } = select( coreStore );\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\t\t\treturn {\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ dirtyEntityRecords ]\n\t);\n\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\tlet isOnlyCurrentEntityDirty;\n\t// Check if the current entity is the only entity with changes.\n\t// We have some extra logic for `wp_global_styles` for now, that\n\t// is used in navigation sidebar.\n\tif ( dirtyEntityRecords.length === 1 ) {\n\t\tif ( params.postId ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\t`${ dirtyEntityRecords[ 0 ].key }` === params.postId &&\n\t\t\t\tdirtyEntityRecords[ 0 ].name === params.postType;\n\t\t} else if ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\tdirtyEntityRecords[ 0 ].name === 'globalStyles';\n\t\t}\n\t}\n\tconst disabled =\n\t\tisSaving || ( ! hasDirtyEntities && ! isPreviewingTheme() );\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( hasDirtyEntities ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t}\n\t\tif ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t}\n\t\tif ( ! isOnlyCurrentEntityDirty && showReviewMessage ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change',\n\t\t\t\t\t'Review %d changes',\n\t\t\t\t\tdirtyEntityRecords.length\n\t\t\t\t),\n\t\t\t\tdirtyEntityRecords.length\n\t\t\t);\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\tconst onClick = isOnlyCurrentEntityDirty\n\t\t? () => saveDirtyEntities( { dirtyEntityRecords } )\n\t\t: () => setIsSaveViewOpened( true );\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : onClick }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize={ size }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["routerPrivateApis", "editSiteStore", "editorStore", "coreStore"]
7
7
  }
@@ -34,7 +34,7 @@ __export(save_hub_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(save_hub_exports);
36
36
  var import_data = require("@wordpress/data");
37
- var import_components = require("@wordpress/components");
37
+ var import_ui = require("@wordpress/ui");
38
38
  var import_core_data = require("@wordpress/core-data");
39
39
  var import_icons = require("@wordpress/icons");
40
40
  var import_save_button = __toESM(require("../save-button/index.cjs"));
@@ -52,11 +52,11 @@ function SaveHub() {
52
52
  isDisabled: _isSaving || !dirtyEntityRecords.length && !(0, import_is_previewing_theme.isPreviewingTheme)()
53
53
  };
54
54
  }, []);
55
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalHStack, { className: "edit-site-save-hub", alignment: "right", spacing: 4, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Stack, { className: "edit-site-save-hub", gap: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
56
  import_save_button.default,
57
57
  {
58
58
  className: "edit-site-save-hub__button",
59
- variant: isDisabled ? null : "primary",
59
+ variant: isDisabled && !isSaving ? null : "primary",
60
60
  showTooltip: false,
61
61
  icon: isDisabled && !isSaving ? import_icons.check : null,
62
62
  showReviewMessage: true,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/save-hub/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveHub() {\n\tconst { isDisabled, isSaving } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\t\treturn {\n\t\t\tisSaving: _isSaving,\n\t\t\tisDisabled:\n\t\t\t\t_isSaving ||\n\t\t\t\t( ! dirtyEntityRecords.length && ! isPreviewingTheme() ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t<SaveButton\n\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\tvariant={ isDisabled ? null : 'primary' }\n\t\t\t\tshowTooltip={ false }\n\t\t\t\ticon={ isDisabled && ! isSaving ? check : null }\n\t\t\t\tshowReviewMessage\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,wBAA+C;AAC/C,uBAAmC;AACnC,mBAAsB;AAKtB,yBAAuB;AACvB,iCAAkC;AAmB/B;AAjBY,SAAR,UAA2B;AACjC,QAAM,EAAE,YAAY,SAAS,QAAI,uBAAW,CAAE,WAAY;AACzD,UAAM,EAAE,qCAAqC,qBAAqB,IACjE,OAAQ,iBAAAA,KAAU;AACnB,UAAM,qBAAqB,oCAAoC;AAC/D,UAAM,YAAY,mBAAmB;AAAA,MAAM,CAAE,WAC5C,qBAAsB,OAAO,MAAM,OAAO,MAAM,OAAO,GAAI;AAAA,IAC5D;AACA,WAAO;AAAA,MACN,UAAU;AAAA,MACV,YACC,aACE,CAAE,mBAAmB,UAAU,KAAE,8CAAkB;AAAA,IACvD;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC,4CAAC,kBAAAC,sBAAA,EAAO,WAAU,sBAAqB,WAAU,SAAQ,SAAU,GAClE;AAAA,IAAC,mBAAAC;AAAA,IAAA;AAAA,MACA,WAAU;AAAA,MACV,SAAU,aAAa,OAAO;AAAA,MAC9B,aAAc;AAAA,MACd,MAAO,cAAc,CAAE,WAAW,qBAAQ;AAAA,MAC1C,mBAAiB;AAAA,MACjB,uBAAqB;AAAA;AAAA,EACtB,GACD;AAEF;",
6
- "names": ["coreStore", "HStack", "SaveButton"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Stack } from '@wordpress/ui';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveHub() {\n\tconst { isDisabled, isSaving } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\t\treturn {\n\t\t\tisSaving: _isSaving,\n\t\t\tisDisabled:\n\t\t\t\t_isSaving ||\n\t\t\t\t( ! dirtyEntityRecords.length && ! isPreviewingTheme() ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<Stack className=\"edit-site-save-hub\" gap=\"lg\">\n\t\t\t<SaveButton\n\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\tvariant={ isDisabled && ! isSaving ? null : 'primary' }\n\t\t\t\tshowTooltip={ false }\n\t\t\t\ticon={ isDisabled && ! isSaving ? check : null }\n\t\t\t\tshowReviewMessage\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</Stack>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,gBAAsB;AACtB,uBAAmC;AACnC,mBAAsB;AAKtB,yBAAuB;AACvB,iCAAkC;AAmB/B;AAjBY,SAAR,UAA2B;AACjC,QAAM,EAAE,YAAY,SAAS,QAAI,uBAAW,CAAE,WAAY;AACzD,UAAM,EAAE,qCAAqC,qBAAqB,IACjE,OAAQ,iBAAAA,KAAU;AACnB,UAAM,qBAAqB,oCAAoC;AAC/D,UAAM,YAAY,mBAAmB;AAAA,MAAM,CAAE,WAC5C,qBAAsB,OAAO,MAAM,OAAO,MAAM,OAAO,GAAI;AAAA,IAC5D;AACA,WAAO;AAAA,MACN,UAAU;AAAA,MACV,YACC,aACE,CAAE,mBAAmB,UAAU,KAAE,8CAAkB;AAAA,IACvD;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC,4CAAC,mBAAM,WAAU,sBAAqB,KAAI,MACzC;AAAA,IAAC,mBAAAC;AAAA,IAAA;AAAA,MACA,WAAU;AAAA,MACV,SAAU,cAAc,CAAE,WAAW,OAAO;AAAA,MAC5C,aAAc;AAAA,MACd,MAAO,cAAc,CAAE,WAAW,qBAAQ;AAAA,MAC1C,mBAAiB;AAAA,MACjB,uBAAqB;AAAA;AAAA,EACtB,GACD;AAEF;",
6
+ "names": ["coreStore", "SaveButton"]
7
7
  }
@@ -35,6 +35,7 @@ __export(sidebar_navigation_item_exports, {
35
35
  module.exports = __toCommonJS(sidebar_navigation_item_exports);
36
36
  var import_clsx = __toESM(require("clsx"));
37
37
  var import_components = require("@wordpress/components");
38
+ var import_ui = require("@wordpress/ui");
38
39
  var import_i18n = require("@wordpress/i18n");
39
40
  var import_icons = require("@wordpress/icons");
40
41
  var import_router = require("@wordpress/router");
@@ -42,7 +43,7 @@ var import_element = require("@wordpress/element");
42
43
  var import_lock_unlock = require("../../lock-unlock.cjs");
43
44
  var import_sidebar = require("../sidebar/index.cjs");
44
45
  var import_jsx_runtime = require("react/jsx-runtime");
45
- var { useHistory, useLink } = (0, import_lock_unlock.unlock)(import_router.privateApis);
46
+ var { useHistory, useLink, useLocation } = (0, import_lock_unlock.unlock)(import_router.privateApis);
46
47
  function SidebarNavigationItem({
47
48
  className,
48
49
  icon,
@@ -51,11 +52,15 @@ function SidebarNavigationItem({
51
52
  uid,
52
53
  to,
53
54
  onClick,
55
+ activeOnRouteName,
54
56
  children,
55
57
  ...props
56
58
  }) {
57
59
  const history = useHistory();
60
+ const linkProps = useLink(to);
61
+ const { name } = useLocation();
58
62
  const { navigate } = (0, import_element.useContext)(import_sidebar.SidebarNavigationContext);
63
+ const isActive = activeOnRouteName && name === activeOnRouteName;
59
64
  function handleClick(e) {
60
65
  if (onClick) {
61
66
  onClick(e);
@@ -66,7 +71,6 @@ function SidebarNavigationItem({
66
71
  navigate("forward", `[id="${uid}"]`);
67
72
  }
68
73
  }
69
- const linkProps = useLink(to);
70
74
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
75
  import_components.__experimentalItem,
72
76
  {
@@ -78,8 +82,9 @@ function SidebarNavigationItem({
78
82
  id: uid,
79
83
  onClick: handleClick,
80
84
  href: to ? linkProps.href : void 0,
85
+ "aria-current": isActive ? true : void 0,
81
86
  ...props,
82
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "flex-start", children: [
87
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Stack, { direction: "row", align: "center", justify: "start", gap: "sm", children: [
83
88
  icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
84
89
  import_icons.Icon,
85
90
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar-navigation-item/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\nimport { chevronRightSmall, chevronLeftSmall, Icon } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { SidebarNavigationContext } from '../sidebar';\n\nconst { useHistory, useLink } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationItem( {\n\tclassName,\n\ticon,\n\twithChevron = false,\n\tsuffix,\n\tuid,\n\tto,\n\tonClick,\n\tchildren,\n\t...props\n} ) {\n\tconst history = useHistory();\n\tconst { navigate } = useContext( SidebarNavigationContext );\n\t// If there is no custom click handler, create one that navigates to `params`.\n\tfunction handleClick( e ) {\n\t\tif ( onClick ) {\n\t\t\tonClick( e );\n\t\t\tnavigate( 'forward' );\n\t\t} else if ( to ) {\n\t\t\te.preventDefault();\n\t\t\thistory.navigate( to );\n\t\t\tnavigate( 'forward', `[id=\"${ uid }\"]` );\n\t\t}\n\t}\n\tconst linkProps = useLink( to );\n\n\treturn (\n\t\t<Item\n\t\t\tclassName={ clsx(\n\t\t\t\t'edit-site-sidebar-navigation-item',\n\t\t\t\t{ 'with-suffix': ! withChevron && suffix },\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tid={ uid }\n\t\t\tonClick={ handleClick }\n\t\t\thref={ to ? linkProps.href : undefined }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t{ icon && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={ { fill: 'currentcolor' } }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<FlexBlock>{ children }</FlexBlock>\n\t\t\t\t{ withChevron && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ isRTL() ? chevronLeftSmall : chevronRightSmall }\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-item__drilldown-indicator\"\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! withChevron && suffix }\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,wBAIO;AACP,kBAAsB;AACtB,mBAA0D;AAC1D,oBAAiD;AACjD,qBAA2B;AAK3B,yBAAuB;AACvB,qBAAyC;AA0CtC;AAxCH,IAAM,EAAE,YAAY,QAAQ,QAAI,2BAAQ,cAAAA,WAAkB;AAE3C,SAAR,sBAAwC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAI;AACH,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,SAAS,QAAI,2BAAY,uCAAyB;AAE1D,WAAS,YAAa,GAAI;AACzB,QAAK,SAAU;AACd,cAAS,CAAE;AACX,eAAU,SAAU;AAAA,IACrB,WAAY,IAAK;AAChB,QAAE,eAAe;AACjB,cAAQ,SAAU,EAAG;AACrB,eAAU,WAAW,QAAS,GAAI,IAAK;AAAA,IACxC;AAAA,EACD;AACA,QAAM,YAAY,QAAS,EAAG;AAE9B,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,eAAY,YAAAC;AAAA,QACX;AAAA,QACA,EAAE,eAAe,CAAE,eAAe,OAAO;AAAA,QACzC;AAAA,MACD;AAAA,MACA,IAAK;AAAA,MACL,SAAU;AAAA,MACV,MAAO,KAAK,UAAU,OAAO;AAAA,MAC3B,GAAG;AAAA,MAEL,uDAAC,kBAAAC,sBAAA,EAAO,SAAQ,cACb;AAAA,gBACD;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,EAAE,MAAM,eAAe;AAAA,YAC/B;AAAA,YACA,MAAO;AAAA;AAAA,QACR;AAAA,QAED,4CAAC,+BAAY,UAAU;AAAA,QACrB,eACD;AAAA,UAAC;AAAA;AAAA,YACA,UAAO,mBAAM,IAAI,gCAAmB;AAAA,YACpC,WAAU;AAAA,YACV,MAAO;AAAA;AAAA,QACR;AAAA,QAEC,CAAE,eAAe;AAAA,SACpB;AAAA;AAAA,EACD;AAEF;",
6
- "names": ["routerPrivateApis", "Item", "clsx", "HStack"]
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalItem as Item, FlexBlock } from '@wordpress/components';\nimport { Stack } from '@wordpress/ui';\nimport { isRTL } from '@wordpress/i18n';\nimport { chevronRightSmall, chevronLeftSmall, Icon } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { SidebarNavigationContext } from '../sidebar';\n\nconst { useHistory, useLink, useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationItem( {\n\tclassName,\n\ticon,\n\twithChevron = false,\n\tsuffix,\n\tuid,\n\tto,\n\tonClick,\n\tactiveOnRouteName,\n\tchildren,\n\t...props\n} ) {\n\tconst history = useHistory();\n\tconst linkProps = useLink( to );\n\tconst { name } = useLocation();\n\tconst { navigate } = useContext( SidebarNavigationContext );\n\n\tconst isActive = activeOnRouteName && name === activeOnRouteName;\n\t// If there is no custom click handler, create one that navigates to `params`.\n\tfunction handleClick( e ) {\n\t\tif ( onClick ) {\n\t\t\tonClick( e );\n\t\t\tnavigate( 'forward' );\n\t\t} else if ( to ) {\n\t\t\te.preventDefault();\n\t\t\thistory.navigate( to );\n\t\t\tnavigate( 'forward', `[id=\"${ uid }\"]` );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Item\n\t\t\tclassName={ clsx(\n\t\t\t\t'edit-site-sidebar-navigation-item',\n\t\t\t\t{ 'with-suffix': ! withChevron && suffix },\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tid={ uid }\n\t\t\tonClick={ handleClick }\n\t\t\thref={ to ? linkProps.href : undefined }\n\t\t\taria-current={ isActive ? true : undefined }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<Stack direction=\"row\" align=\"center\" justify=\"start\" gap=\"sm\">\n\t\t\t\t{ icon && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={ { fill: 'currentcolor' } }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<FlexBlock>{ children }</FlexBlock>\n\t\t\t\t{ withChevron && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ isRTL() ? chevronLeftSmall : chevronRightSmall }\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-item__drilldown-indicator\"\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! withChevron && suffix }\n\t\t\t</Stack>\n\t\t</Item>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,wBAAsD;AACtD,gBAAsB;AACtB,kBAAsB;AACtB,mBAA0D;AAC1D,oBAAiD;AACjD,qBAA2B;AAK3B,yBAAuB;AACvB,qBAAyC;AA+CtC;AA7CH,IAAM,EAAE,YAAY,SAAS,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAExD,SAAR,sBAAwC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAI;AACH,QAAM,UAAU,WAAW;AAC3B,QAAM,YAAY,QAAS,EAAG;AAC9B,QAAM,EAAE,KAAK,IAAI,YAAY;AAC7B,QAAM,EAAE,SAAS,QAAI,2BAAY,uCAAyB;AAE1D,QAAM,WAAW,qBAAqB,SAAS;AAE/C,WAAS,YAAa,GAAI;AACzB,QAAK,SAAU;AACd,cAAS,CAAE;AACX,eAAU,SAAU;AAAA,IACrB,WAAY,IAAK;AAChB,QAAE,eAAe;AACjB,cAAQ,SAAU,EAAG;AACrB,eAAU,WAAW,QAAS,GAAI,IAAK;AAAA,IACxC;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,eAAY,YAAAC;AAAA,QACX;AAAA,QACA,EAAE,eAAe,CAAE,eAAe,OAAO;AAAA,QACzC;AAAA,MACD;AAAA,MACA,IAAK;AAAA,MACL,SAAU;AAAA,MACV,MAAO,KAAK,UAAU,OAAO;AAAA,MAC7B,gBAAe,WAAW,OAAO;AAAA,MAC/B,GAAG;AAAA,MAEL,uDAAC,mBAAM,WAAU,OAAM,OAAM,UAAS,SAAQ,SAAQ,KAAI,MACvD;AAAA,gBACD;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,EAAE,MAAM,eAAe;AAAA,YAC/B;AAAA,YACA,MAAO;AAAA;AAAA,QACR;AAAA,QAED,4CAAC,+BAAY,UAAU;AAAA,QACrB,eACD;AAAA,UAAC;AAAA;AAAA,YACA,UAAO,mBAAM,IAAI,gCAAmB;AAAA,YACpC,WAAU;AAAA,YACV,MAAO;AAAA;AAAA,QACR;AAAA,QAEC,CAAE,eAAe;AAAA,SACpB;AAAA;AAAA,EACD;AAEF;",
6
+ "names": ["routerPrivateApis", "Item", "clsx"]
7
7
  }