@wordpress/edit-site 6.42.0 → 6.43.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 (96) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/page-patterns/index.cjs +7 -27
  3. package/build/components/page-patterns/index.cjs.map +2 -2
  4. package/build/components/page-templates/index-legacy.cjs +13 -6
  5. package/build/components/page-templates/index-legacy.cjs.map +2 -2
  6. package/build/components/post-list/index.cjs +15 -6
  7. package/build/components/post-list/index.cjs.map +2 -2
  8. package/build/components/post-list/quick-edit-modal.cjs +16 -48
  9. package/build/components/post-list/quick-edit-modal.cjs.map +2 -2
  10. package/build/components/sidebar-dataviews/index.cjs +37 -25
  11. package/build/components/sidebar-dataviews/index.cjs.map +3 -3
  12. package/build/components/sidebar-navigation-screen-patterns/index.cjs +55 -47
  13. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  14. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs +33 -56
  15. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +3 -3
  16. package/build/components/site-editor-routes/home.cjs +8 -4
  17. package/build/components/site-editor-routes/home.cjs.map +2 -2
  18. package/build/components/site-editor-routes/navigation-item.cjs +13 -6
  19. package/build/components/site-editor-routes/navigation-item.cjs.map +2 -2
  20. package/build/components/site-editor-routes/navigation.cjs +9 -4
  21. package/build/components/site-editor-routes/navigation.cjs.map +2 -2
  22. package/build/components/site-editor-routes/page-item.cjs +13 -6
  23. package/build/components/site-editor-routes/page-item.cjs.map +2 -2
  24. package/build/components/site-editor-routes/pages.cjs +21 -7
  25. package/build/components/site-editor-routes/pages.cjs.map +3 -3
  26. package/build/components/site-editor-routes/stylebook.cjs +17 -2
  27. package/build/components/site-editor-routes/stylebook.cjs.map +2 -2
  28. package/build/components/site-editor-routes/template-item.cjs +13 -6
  29. package/build/components/site-editor-routes/template-item.cjs.map +2 -2
  30. package/build/components/site-editor-routes/templates.cjs +20 -7
  31. package/build/components/site-editor-routes/templates.cjs.map +3 -3
  32. package/build/components/site-editor-routes/utils.cjs +7 -2
  33. package/build/components/site-editor-routes/utils.cjs.map +2 -2
  34. package/build-module/components/page-patterns/index.mjs +8 -30
  35. package/build-module/components/page-patterns/index.mjs.map +2 -2
  36. package/build-module/components/page-templates/index-legacy.mjs +14 -11
  37. package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
  38. package/build-module/components/post-list/index.mjs +16 -11
  39. package/build-module/components/post-list/index.mjs.map +2 -2
  40. package/build-module/components/post-list/quick-edit-modal.mjs +16 -48
  41. package/build-module/components/post-list/quick-edit-modal.mjs.map +2 -2
  42. package/build-module/components/sidebar-dataviews/index.mjs +45 -25
  43. package/build-module/components/sidebar-dataviews/index.mjs.map +2 -2
  44. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +55 -47
  45. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  46. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs +41 -59
  47. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +2 -2
  48. package/build-module/components/site-editor-routes/home.mjs +10 -6
  49. package/build-module/components/site-editor-routes/home.mjs.map +2 -2
  50. package/build-module/components/site-editor-routes/navigation-item.mjs +14 -7
  51. package/build-module/components/site-editor-routes/navigation-item.mjs.map +2 -2
  52. package/build-module/components/site-editor-routes/navigation.mjs +10 -5
  53. package/build-module/components/site-editor-routes/navigation.mjs.map +2 -2
  54. package/build-module/components/site-editor-routes/page-item.mjs +14 -7
  55. package/build-module/components/site-editor-routes/page-item.mjs.map +2 -2
  56. package/build-module/components/site-editor-routes/pages.mjs +22 -11
  57. package/build-module/components/site-editor-routes/pages.mjs.map +2 -2
  58. package/build-module/components/site-editor-routes/stylebook.mjs +18 -3
  59. package/build-module/components/site-editor-routes/stylebook.mjs.map +2 -2
  60. package/build-module/components/site-editor-routes/template-item.mjs +14 -7
  61. package/build-module/components/site-editor-routes/template-item.mjs.map +2 -2
  62. package/build-module/components/site-editor-routes/templates.mjs +21 -11
  63. package/build-module/components/site-editor-routes/templates.mjs.map +2 -2
  64. package/build-module/components/site-editor-routes/utils.mjs +5 -1
  65. package/build-module/components/site-editor-routes/utils.mjs.map +2 -2
  66. package/build-style/style-rtl.css +60 -49
  67. package/build-style/style.css +60 -49
  68. package/package.json +46 -46
  69. package/src/components/page-patterns/index.js +9 -30
  70. package/src/components/page-templates/index-legacy.js +14 -11
  71. package/src/components/post-list/index.js +16 -10
  72. package/src/components/post-list/quick-edit-modal.js +19 -54
  73. package/src/components/post-list/style.scss +2 -0
  74. package/src/components/sidebar-dataviews/index.js +48 -26
  75. package/src/components/sidebar-dataviews/style.scss +0 -16
  76. package/src/components/sidebar-navigation-screen-patterns/index.js +62 -55
  77. package/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js +44 -64
  78. package/src/components/site-editor-routes/home.js +9 -5
  79. package/src/components/site-editor-routes/navigation-item.js +13 -6
  80. package/src/components/site-editor-routes/navigation.js +9 -4
  81. package/src/components/site-editor-routes/page-item.js +13 -6
  82. package/src/components/site-editor-routes/pages.js +21 -10
  83. package/src/components/site-editor-routes/stylebook.js +12 -3
  84. package/src/components/site-editor-routes/template-item.js +13 -6
  85. package/src/components/site-editor-routes/templates.js +21 -10
  86. package/src/components/site-editor-routes/utils.js +12 -0
  87. package/build/components/post-list/view-utils.cjs +0 -202
  88. package/build/components/post-list/view-utils.cjs.map +0 -7
  89. package/build/components/sidebar-dataviews/dataview-item.cjs +0 -82
  90. package/build/components/sidebar-dataviews/dataview-item.cjs.map +0 -7
  91. package/build-module/components/post-list/view-utils.mjs +0 -182
  92. package/build-module/components/post-list/view-utils.mjs.map +0 -7
  93. package/build-module/components/sidebar-dataviews/dataview-item.mjs +0 -51
  94. package/build-module/components/sidebar-dataviews/dataview-item.mjs.map +0 -7
  95. package/src/components/post-list/view-utils.js +0 -187
  96. package/src/components/sidebar-dataviews/dataview-item.js +0 -56
@@ -35,6 +35,8 @@ __export(pages_exports, {
35
35
  module.exports = __toCommonJS(pages_exports);
36
36
  var import_router = require("@wordpress/router");
37
37
  var import_i18n = require("@wordpress/i18n");
38
+ var import_data = require("@wordpress/data");
39
+ var import_core_data = require("@wordpress/core-data");
38
40
  var import_views = require("@wordpress/views");
39
41
  var import_editor = __toESM(require("../editor/index.cjs"));
40
42
  var import_sidebar_navigation_screen = __toESM(require("../sidebar-navigation-screen/index.cjs"));
@@ -42,17 +44,25 @@ var import_sidebar_navigation_screen_unsupported = __toESM(require("../sidebar-n
42
44
  var import_sidebar_dataviews = __toESM(require("../sidebar-dataviews/index.cjs"));
43
45
  var import_post_list = __toESM(require("../post-list/index.cjs"));
44
46
  var import_lock_unlock = require("../../lock-unlock.cjs");
45
- var import_view_utils = require("../post-list/view-utils.cjs");
47
+ var import_utils = require("./utils.cjs");
46
48
  var import_jsx_runtime = require("react/jsx-runtime");
47
49
  var { useLocation } = (0, import_lock_unlock.unlock)(import_router.privateApis);
48
50
  async function isListView(query) {
49
51
  const { activeView = "all" } = query;
52
+ const config = await (0, import_lock_unlock.unlock)((0, import_data.resolveSelect)(import_core_data.store)).getViewConfig(
53
+ "postType",
54
+ "page"
55
+ );
56
+ const defaultView = config?.default_view;
57
+ const defaultLayouts = config?.default_layouts;
58
+ const viewEntry = config?.view_list?.find((v) => v.slug === activeView);
50
59
  const view = await (0, import_views.loadView)({
51
60
  kind: "postType",
52
61
  name: "page",
53
62
  slug: "default",
54
- defaultView: import_view_utils.DEFAULT_VIEW,
55
- activeViewOverrides: (0, import_view_utils.getActiveViewOverridesForTab)(activeView)
63
+ defaultView,
64
+ defaultLayouts,
65
+ activeViewOverrides: viewEntry?.view ?? {}
56
66
  });
57
67
  return view.type === "list";
58
68
  }
@@ -66,8 +76,10 @@ var pagesRoute = {
66
76
  path: "/page",
67
77
  areas: {
68
78
  sidebar({ siteData }) {
69
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
70
- return isBlockTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
79
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
80
+ return null;
81
+ }
82
+ return siteData.currentTheme.is_block_theme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
83
  import_sidebar_navigation_screen.default,
72
84
  {
73
85
  title: (0, import_i18n.__)("Pages"),
@@ -89,8 +101,10 @@ var pagesRoute = {
89
101
  return isList ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.default, {}) : void 0;
90
102
  },
91
103
  mobile({ siteData }) {
92
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
93
- return isBlockTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MobilePagesView, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
104
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
105
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {});
106
+ }
107
+ return siteData.currentTheme.is_block_theme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MobilePagesView, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
94
108
  }
95
109
  },
96
110
  widths: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/pages.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { __ } from '@wordpress/i18n';\nimport { loadView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport PostList from '../post-list';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tDEFAULT_VIEW,\n\tgetActiveViewOverridesForTab,\n} from '../post-list/view-utils';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nasync function isListView( query ) {\n\tconst { activeView = 'all' } = query;\n\tconst view = await loadView( {\n\t\tkind: 'postType',\n\t\tname: 'page',\n\t\tslug: 'default',\n\t\tdefaultView: DEFAULT_VIEW,\n\t\tactiveViewOverrides: getActiveViewOverridesForTab( activeView ),\n\t} );\n\treturn view.type === 'list';\n}\n\nfunction MobilePagesView() {\n\tconst { query = {} } = useLocation();\n\tconst { canvas = 'view' } = query;\n\n\treturn canvas === 'edit' ? <Editor /> : <PostList postType=\"page\" />;\n}\n\nexport const pagesRoute = {\n\tname: 'pages',\n\tpath: '/page',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? (\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\t\tbackPath=\"/\"\n\t\t\t\t\tcontent={ <DataViewsSidebarContent postType=\"page\" /> }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tcontent( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? <PostList postType=\"page\" /> : undefined;\n\t\t},\n\t\tasync preview( { query, siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst isList = await isListView( query );\n\t\t\treturn isList ? <Editor /> : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? (\n\t\t\t\t<MobilePagesView />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t},\n\twidths: {\n\t\tasync content( { query } ) {\n\t\t\tconst isList = await isListView( query );\n\t\t\treturn isList ? 380 : undefined;\n\t\t},\n\t},\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAiD;AACjD,kBAAmB;AACnB,mBAAyB;AAKzB,oBAAmB;AACnB,uCAAoC;AACpC,mDAA+C;AAC/C,+BAAoC;AACpC,uBAAqB;AACrB,yBAAuB;AACvB,wBAGO;AAoBqB;AAlB5B,IAAM,EAAE,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAElD,eAAe,WAAY,OAAQ;AAClC,QAAM,EAAE,aAAa,MAAM,IAAI;AAC/B,QAAM,OAAO,UAAM,uBAAU;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,yBAAqB,gDAA8B,UAAW;AAAA,EAC/D,CAAE;AACF,SAAO,KAAK,SAAS;AACtB;AAEA,SAAS,kBAAkB;AAC1B,QAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,YAAY;AACnC,QAAM,EAAE,SAAS,OAAO,IAAI;AAE5B,SAAO,WAAW,SAAS,4CAAC,cAAAC,SAAA,EAAO,IAAK,4CAAC,iBAAAC,SAAA,EAAS,UAAS,QAAO;AACnE;AAEO,IAAM,aAAa;AAAA,EACzB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eACN;AAAA,QAAC,iCAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,OAAQ;AAAA,UACpB,UAAS;AAAA,UACT,SAAU,4CAAC,yBAAAC,SAAA,EAAwB,UAAS,QAAO;AAAA;AAAA,MACpD,IAEA,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eAAe,4CAAC,iBAAAH,SAAA,EAAS,UAAS,QAAO,IAAK;AAAA,IACtD;AAAA,IACA,MAAM,QAAS,EAAE,OAAO,SAAS,GAAI;AACpC,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,SAAS,MAAM,WAAY,KAAM;AACvC,aAAO,SAAS,4CAAC,cAAAD,SAAA,EAAO,IAAK;AAAA,IAC9B;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eACN,4CAAC,mBAAgB,IAEjB,4CAAC,6CAAAI,SAAA,EAAmC;AAAA,IAEtC;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,QAAS,EAAE,MAAM,GAAI;AAC1B,YAAM,SAAS,MAAM,WAAY,KAAM;AACvC,aAAO,SAAS,MAAM;AAAA,IACvB;AAAA,EACD;AACD;",
6
- "names": ["routerPrivateApis", "Editor", "PostList", "SidebarNavigationScreen", "DataViewsSidebarContent", "SidebarNavigationScreenUnsupported"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { __ } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { loadView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport PostList from '../post-list';\nimport { unlock } from '../../lock-unlock';\nimport { isThemeDataLoaded } from './utils';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nasync function isListView( query ) {\n\tconst { activeView = 'all' } = query;\n\tconst config = await unlock( resolveSelect( coreStore ) ).getViewConfig(\n\t\t'postType',\n\t\t'page'\n\t);\n\tconst defaultView = config?.default_view;\n\tconst defaultLayouts = config?.default_layouts;\n\tconst viewEntry = config?.view_list?.find( ( v ) => v.slug === activeView );\n\tconst view = await loadView( {\n\t\tkind: 'postType',\n\t\tname: 'page',\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tactiveViewOverrides: viewEntry?.view ?? {},\n\t} );\n\treturn view.type === 'list';\n}\n\nfunction MobilePagesView() {\n\tconst { query = {} } = useLocation();\n\tconst { canvas = 'view' } = query;\n\n\treturn canvas === 'edit' ? <Editor /> : <PostList postType=\"page\" />;\n}\n\nexport const pagesRoute = {\n\tname: 'pages',\n\tpath: '/page',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn siteData.currentTheme.is_block_theme ? (\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\t\tbackPath=\"/\"\n\t\t\t\t\tcontent={ <DataViewsSidebarContent postType=\"page\" /> }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tcontent( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? <PostList postType=\"page\" /> : undefined;\n\t\t},\n\t\tasync preview( { query, siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst isList = await isListView( query );\n\t\t\treturn isList ? <Editor /> : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\t\treturn <></>;\n\t\t\t}\n\t\t\treturn siteData.currentTheme.is_block_theme ? (\n\t\t\t\t<MobilePagesView />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t},\n\twidths: {\n\t\tasync content( { query } ) {\n\t\t\tconst isList = await isListView( query );\n\t\t\treturn isList ? 380 : undefined;\n\t\t},\n\t},\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAiD;AACjD,kBAAmB;AACnB,kBAA8B;AAC9B,uBAAmC;AACnC,mBAAyB;AAKzB,oBAAmB;AACnB,uCAAoC;AACpC,mDAA+C;AAC/C,+BAAoC;AACpC,uBAAqB;AACrB,yBAAuB;AACvB,mBAAkC;AA4BN;AA1B5B,IAAM,EAAE,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAElD,eAAe,WAAY,OAAQ;AAClC,QAAM,EAAE,aAAa,MAAM,IAAI;AAC/B,QAAM,SAAS,UAAM,+BAAQ,2BAAe,iBAAAC,KAAU,CAAE,EAAE;AAAA,IACzD;AAAA,IACA;AAAA,EACD;AACA,QAAM,cAAc,QAAQ;AAC5B,QAAM,iBAAiB,QAAQ;AAC/B,QAAM,YAAY,QAAQ,WAAW,KAAM,CAAE,MAAO,EAAE,SAAS,UAAW;AAC1E,QAAM,OAAO,UAAM,uBAAU;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,qBAAqB,WAAW,QAAQ,CAAC;AAAA,EAC1C,CAAE;AACF,SAAO,KAAK,SAAS;AACtB;AAEA,SAAS,kBAAkB;AAC1B,QAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,YAAY;AACnC,QAAM,EAAE,SAAS,OAAO,IAAI;AAE5B,SAAO,WAAW,SAAS,4CAAC,cAAAC,SAAA,EAAO,IAAK,4CAAC,iBAAAC,SAAA,EAAS,UAAS,QAAO;AACnE;AAEO,IAAM,aAAa;AAAA,EACzB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,UAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,eAAO;AAAA,MACR;AACA,aAAO,SAAS,aAAa,iBAC5B;AAAA,QAAC,iCAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,OAAQ;AAAA,UACpB,UAAS;AAAA,UACT,SAAU,4CAAC,yBAAAC,SAAA,EAAwB,UAAS,QAAO;AAAA;AAAA,MACpD,IAEA,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eAAe,4CAAC,iBAAAH,SAAA,EAAS,UAAS,QAAO,IAAK;AAAA,IACtD;AAAA,IACA,MAAM,QAAS,EAAE,OAAO,SAAS,GAAI;AACpC,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,SAAS,MAAM,WAAY,KAAM;AACvC,aAAO,SAAS,4CAAC,cAAAD,SAAA,EAAO,IAAK;AAAA,IAC9B;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,UAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,eAAO,2EAAE;AAAA,MACV;AACA,aAAO,SAAS,aAAa,iBAC5B,4CAAC,mBAAgB,IAEjB,4CAAC,6CAAAI,SAAA,EAAmC;AAAA,IAEtC;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,QAAS,EAAE,MAAM,GAAI;AAC1B,YAAM,SAAS,MAAM,WAAY,KAAM;AACvC,aAAO,SAAS,MAAM;AAAA,IACvB;AAAA,EACD;AACD;",
6
+ "names": ["routerPrivateApis", "coreStore", "Editor", "PostList", "SidebarNavigationScreen", "DataViewsSidebarContent", "SidebarNavigationScreenUnsupported"]
7
7
  }
@@ -46,6 +46,9 @@ var stylebookRoute = {
46
46
  path: "/stylebook",
47
47
  areas: {
48
48
  sidebar({ siteData }) {
49
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
50
+ return null;
51
+ }
49
52
  return (0, import_utils.isClassicThemeWithStyleBookSupport)(siteData) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
50
53
  import_sidebar_navigation_screen.default,
51
54
  {
@@ -58,10 +61,22 @@ var stylebookRoute = {
58
61
  ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
59
62
  },
60
63
  preview({ siteData }) {
61
- return (0, import_utils.isClassicThemeWithStyleBookSupport)(siteData) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyleBookPreview, { isStatic: true }) : void 0;
64
+ return (0, import_utils.isClassicThemeWithStyleBookSupport)(siteData) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ StyleBookPreview,
66
+ {
67
+ isStatic: true,
68
+ settings: siteData.editorSettings
69
+ }
70
+ ) : void 0;
62
71
  },
63
72
  mobile({ siteData }) {
64
- return (0, import_utils.isClassicThemeWithStyleBookSupport)(siteData) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyleBookPreview, { isStatic: true }) : void 0;
73
+ return (0, import_utils.isClassicThemeWithStyleBookSupport)(siteData) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
+ StyleBookPreview,
75
+ {
76
+ isStatic: true,
77
+ settings: siteData.editorSettings
78
+ }
79
+ ) : void 0;
65
80
  }
66
81
  }
67
82
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/stylebook.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport { unlock } from '../../lock-unlock';\nimport { isClassicThemeWithStyleBookSupport } from './utils';\n\nconst { StyleBookPreview } = unlock( editorPrivateApis );\n\nexport const stylebookRoute = {\n\tname: 'stylebook',\n\tpath: '/stylebook',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\treturn isClassicThemeWithStyleBookSupport( siteData ) ? (\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Styles' ) }\n\t\t\t\t\tbackPath=\"/\"\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t`Preview your website's visual identity: colors, typography, and blocks.`\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tpreview( { siteData } ) {\n\t\t\treturn isClassicThemeWithStyleBookSupport( siteData ) ? (\n\t\t\t\t<StyleBookPreview isStatic />\n\t\t\t) : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\treturn isClassicThemeWithStyleBookSupport( siteData ) ? (\n\t\t\t\t<StyleBookPreview isStatic />\n\t\t\t) : undefined;\n\t\t},\n\t},\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,oBAAiD;AAKjD,uCAAoC;AACpC,mDAA+C;AAC/C,yBAAuB;AACvB,mBAAmD;AAU/C;AARJ,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,cAAAA,WAAkB;AAEhD,IAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,iBAAO,iDAAoC,QAAS,IACnD;AAAA,QAAC,iCAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,QAAS;AAAA,UACrB,UAAS;AAAA,UACT,iBAAc;AAAA,YACb;AAAA,UACD;AAAA;AAAA,MACD,IAEA,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,iBAAO,iDAAoC,QAAS,IACnD,4CAAC,oBAAiB,UAAQ,MAAC,IACxB;AAAA,IACL;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,iBAAO,iDAAoC,QAAS,IACnD,4CAAC,oBAAiB,UAAQ,MAAC,IACxB;AAAA,IACL;AAAA,EACD;AACD;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport { unlock } from '../../lock-unlock';\nimport { isClassicThemeWithStyleBookSupport, isThemeDataLoaded } from './utils';\n\nconst { StyleBookPreview } = unlock( editorPrivateApis );\n\nexport const stylebookRoute = {\n\tname: 'stylebook',\n\tpath: '/stylebook',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn isClassicThemeWithStyleBookSupport( siteData ) ? (\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Styles' ) }\n\t\t\t\t\tbackPath=\"/\"\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t`Preview your website's visual identity: colors, typography, and blocks.`\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tpreview( { siteData } ) {\n\t\t\treturn isClassicThemeWithStyleBookSupport( siteData ) ? (\n\t\t\t\t<StyleBookPreview\n\t\t\t\t\tisStatic\n\t\t\t\t\tsettings={ siteData.editorSettings }\n\t\t\t\t/>\n\t\t\t) : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\treturn isClassicThemeWithStyleBookSupport( siteData ) ? (\n\t\t\t\t<StyleBookPreview\n\t\t\t\t\tisStatic\n\t\t\t\t\tsettings={ siteData.editorSettings }\n\t\t\t\t/>\n\t\t\t) : undefined;\n\t\t},\n\t},\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,oBAAiD;AAKjD,uCAAoC;AACpC,mDAA+C;AAC/C,yBAAuB;AACvB,mBAAsE;AAalE;AAXJ,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,cAAAA,WAAkB;AAEhD,IAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,UAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,eAAO;AAAA,MACR;AACA,iBAAO,iDAAoC,QAAS,IACnD;AAAA,QAAC,iCAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,QAAS;AAAA,UACrB,UAAS;AAAA,UACT,iBAAc;AAAA,YACb;AAAA,UACD;AAAA;AAAA,MACD,IAEA,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,iBAAO,iDAAoC,QAAS,IACnD;AAAA,QAAC;AAAA;AAAA,UACA,UAAQ;AAAA,UACR,UAAW,SAAS;AAAA;AAAA,MACrB,IACG;AAAA,IACL;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,iBAAO,iDAAoC,QAAS,IACnD;AAAA,QAAC;AAAA;AAAA,UACA,UAAQ;AAAA,UACR,UAAW,SAAS;AAAA;AAAA,MACrB,IACG;AAAA,IACL;AAAA,EACD;AACD;",
6
6
  "names": ["editorPrivateApis", "SidebarNavigationScreen", "SidebarNavigationScreenUnsupported"]
7
7
  }
@@ -36,19 +36,26 @@ module.exports = __toCommonJS(template_item_exports);
36
36
  var import_editor = __toESM(require("../editor/index.cjs"));
37
37
  var import_sidebar_navigation_screen_templates_browse = __toESM(require("../sidebar-navigation-screen-templates-browse/index.cjs"));
38
38
  var import_sidebar_navigation_screen_unsupported = __toESM(require("../sidebar-navigation-screen-unsupported/index.cjs"));
39
+ var import_utils = require("./utils.cjs");
39
40
  var import_jsx_runtime = require("react/jsx-runtime");
40
41
  var areas = {
41
42
  sidebar({ siteData }) {
42
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
43
- return isBlockTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_templates_browse.default, { backPath: "/" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
43
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
44
+ return null;
45
+ }
46
+ return siteData.currentTheme.is_block_theme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_templates_browse.default, { backPath: "/" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
44
47
  },
45
48
  mobile({ siteData }) {
46
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
47
- return isBlockTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
49
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {});
51
+ }
52
+ return siteData.currentTheme.is_block_theme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
48
53
  },
49
54
  preview({ siteData }) {
50
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
51
- return isBlockTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
55
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
56
+ return null;
57
+ }
58
+ return siteData.currentTheme.is_block_theme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
52
59
  }
53
60
  };
54
61
  var templateItemRoute = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/template-item.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\n\nconst areas = {\n\tsidebar( { siteData } ) {\n\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\treturn isBlockTheme ? (\n\t\t\t<SidebarNavigationScreenTemplatesBrowse backPath=\"/\" />\n\t\t) : (\n\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t);\n\t},\n\tmobile( { siteData } ) {\n\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\treturn isBlockTheme ? (\n\t\t\t<Editor />\n\t\t) : (\n\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t);\n\t},\n\tpreview( { siteData } ) {\n\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\treturn isBlockTheme ? (\n\t\t\t<Editor />\n\t\t) : (\n\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t);\n\t},\n};\n\nexport const templateItemRoute = {\n\tname: 'template-item',\n\tpath: '/wp_template/*postId',\n\tareas,\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAmB;AACnB,wDAAmD;AACnD,mDAA+C;AAM5C;AAJH,IAAM,QAAQ;AAAA,EACb,QAAS,EAAE,SAAS,GAAI;AACvB,UAAM,eAAe,SAAS,cAAc;AAC5C,WAAO,eACN,4CAAC,kDAAAA,SAAA,EAAuC,UAAS,KAAI,IAErD,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,EAEtC;AAAA,EACA,OAAQ,EAAE,SAAS,GAAI;AACtB,UAAM,eAAe,SAAS,cAAc;AAC5C,WAAO,eACN,4CAAC,cAAAC,SAAA,EAAO,IAER,4CAAC,6CAAAD,SAAA,EAAmC;AAAA,EAEtC;AAAA,EACA,QAAS,EAAE,SAAS,GAAI;AACvB,UAAM,eAAe,SAAS,cAAc;AAC5C,WAAO,eACN,4CAAC,cAAAC,SAAA,EAAO,IAER,4CAAC,6CAAAD,SAAA,EAAmC;AAAA,EAEtC;AACD;AAEO,IAAM,oBAAoB;AAAA,EAChC,MAAM;AAAA,EACN,MAAM;AAAA,EACN;AACD;",
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport { isThemeDataLoaded } from './utils';\n\nconst areas = {\n\tsidebar( { siteData } ) {\n\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn siteData.currentTheme.is_block_theme ? (\n\t\t\t<SidebarNavigationScreenTemplatesBrowse backPath=\"/\" />\n\t\t) : (\n\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t);\n\t},\n\tmobile( { siteData } ) {\n\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\treturn <></>;\n\t\t}\n\t\treturn siteData.currentTheme.is_block_theme ? (\n\t\t\t<Editor />\n\t\t) : (\n\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t);\n\t},\n\tpreview( { siteData } ) {\n\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn siteData.currentTheme.is_block_theme ? (\n\t\t\t<Editor />\n\t\t) : (\n\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t);\n\t},\n};\n\nexport const templateItemRoute = {\n\tname: 'template-item',\n\tpath: '/wp_template/*postId',\n\tareas,\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAmB;AACnB,wDAAmD;AACnD,mDAA+C;AAC/C,mBAAkC;AAQ/B;AANH,IAAM,QAAQ;AAAA,EACb,QAAS,EAAE,SAAS,GAAI;AACvB,QAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,aAAO;AAAA,IACR;AACA,WAAO,SAAS,aAAa,iBAC5B,4CAAC,kDAAAA,SAAA,EAAuC,UAAS,KAAI,IAErD,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,EAEtC;AAAA,EACA,OAAQ,EAAE,SAAS,GAAI;AACtB,QAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,aAAO,2EAAE;AAAA,IACV;AACA,WAAO,SAAS,aAAa,iBAC5B,4CAAC,cAAAC,SAAA,EAAO,IAER,4CAAC,6CAAAD,SAAA,EAAmC;AAAA,EAEtC;AAAA,EACA,QAAS,EAAE,SAAS,GAAI;AACvB,QAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,aAAO;AAAA,IACR;AACA,WAAO,SAAS,aAAa,iBAC5B,4CAAC,cAAAC,SAAA,EAAO,IAER,4CAAC,6CAAAD,SAAA,EAAmC;AAAA,EAEtC;AACD;AAEO,IAAM,oBAAoB;AAAA,EAChC,MAAM;AAAA,EACN,MAAM;AAAA,EACN;AACD;",
6
6
  "names": ["SidebarNavigationScreenTemplatesBrowse", "SidebarNavigationScreenUnsupported", "Editor"]
7
7
  }
@@ -33,22 +33,31 @@ __export(templates_exports, {
33
33
  templatesRoute: () => templatesRoute
34
34
  });
35
35
  module.exports = __toCommonJS(templates_exports);
36
+ var import_data = require("@wordpress/data");
37
+ var import_core_data = require("@wordpress/core-data");
36
38
  var import_views = require("@wordpress/views");
37
39
  var import_editor = __toESM(require("../editor/index.cjs"));
38
40
  var import_sidebar_navigation_screen_templates_browse = __toESM(require("../sidebar-navigation-screen-templates-browse/index.cjs"));
39
41
  var import_sidebar_navigation_screen_unsupported = __toESM(require("../sidebar-navigation-screen-unsupported/index.cjs"));
40
42
  var import_page_templates = __toESM(require("../page-templates/index.cjs"));
41
43
  var import_index_legacy = __toESM(require("../page-templates/index-legacy.cjs"));
42
- var import_view_utils = require("../page-templates/view-utils.cjs");
44
+ var import_lock_unlock = require("../../lock-unlock.cjs");
45
+ var import_utils = require("./utils.cjs");
43
46
  var import_jsx_runtime = require("react/jsx-runtime");
44
47
  async function isTemplateListView(query) {
45
48
  const { activeView = "active" } = query;
49
+ const config = await (0, import_lock_unlock.unlock)((0, import_data.resolveSelect)(import_core_data.store)).getViewConfig(
50
+ "postType",
51
+ "wp_template"
52
+ );
53
+ const defaultView = config?.default_view;
54
+ const activeViewOverrides = config?.view_list?.find((v) => v.slug === activeView)?.view ?? {};
46
55
  const view = await (0, import_views.loadView)({
47
56
  kind: "postType",
48
57
  name: "wp_template",
49
58
  slug: "default",
50
- defaultView: import_view_utils.DEFAULT_VIEW,
51
- activeViewOverrides: (0, import_view_utils.getActiveViewOverridesForTab)(activeView)
59
+ defaultView,
60
+ activeViewOverrides
52
61
  });
53
62
  return view.type === "list";
54
63
  }
@@ -57,8 +66,10 @@ var templatesRoute = {
57
66
  path: "/template",
58
67
  areas: {
59
68
  sidebar({ siteData }) {
60
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
61
- return isBlockTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_templates_browse.default, { backPath: "/" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
69
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
70
+ return null;
71
+ }
72
+ return siteData.currentTheme.is_block_theme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_templates_browse.default, { backPath: "/" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
62
73
  },
63
74
  content({ siteData }) {
64
75
  const isBlockTheme = siteData.currentTheme?.is_block_theme;
@@ -76,8 +87,10 @@ var templatesRoute = {
76
87
  return isListView ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.default, {}) : void 0;
77
88
  },
78
89
  mobile({ siteData }) {
79
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
80
- if (!isBlockTheme) {
90
+ if (!(0, import_utils.isThemeDataLoaded)(siteData)) {
91
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {});
92
+ }
93
+ if (!siteData.currentTheme.is_block_theme) {
81
94
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sidebar_navigation_screen_unsupported.default, {});
82
95
  }
83
96
  const isTemplateActivateEnabled = typeof window !== "undefined" && window.__experimentalTemplateActivate;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/templates.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { loadView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport PageTemplates from '../page-templates';\nimport PageTemplatesLegacy from '../page-templates/index-legacy';\nimport {\n\tDEFAULT_VIEW,\n\tgetActiveViewOverridesForTab,\n} from '../page-templates/view-utils';\n\nasync function isTemplateListView( query ) {\n\tconst { activeView = 'active' } = query;\n\tconst view = await loadView( {\n\t\tkind: 'postType',\n\t\tname: 'wp_template',\n\t\tslug: 'default',\n\t\tdefaultView: DEFAULT_VIEW,\n\t\tactiveViewOverrides: getActiveViewOverridesForTab( activeView ),\n\t} );\n\treturn view.type === 'list';\n}\n\nexport const templatesRoute = {\n\tname: 'templates',\n\tpath: '/template',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? (\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse backPath=\"/\" />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tcontent( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Use the new template activation system if experiment is enabled,\n\t\t\t// otherwise use the legacy simple template list.\n\t\t\treturn window?.__experimentalTemplateActivate ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<PageTemplatesLegacy />\n\t\t\t);\n\t\t},\n\t\tasync preview( { query, siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? <Editor /> : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn <SidebarNavigationScreenUnsupported />;\n\t\t\t}\n\t\t\t// Check if the template activation experiment is enabled.\n\t\t\tconst isTemplateActivateEnabled =\n\t\t\t\ttypeof window !== 'undefined' &&\n\t\t\t\twindow.__experimentalTemplateActivate;\n\t\t\t// Use the new template activation system if experiment is enabled,\n\t\t\t// otherwise use the legacy simple template list.\n\t\t\treturn isTemplateActivateEnabled ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<PageTemplatesLegacy />\n\t\t\t);\n\t\t},\n\t},\n\twidths: {\n\t\tasync content( { query } ) {\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? 380 : undefined;\n\t\t},\n\t},\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAyB;AAKzB,oBAAmB;AACnB,wDAAmD;AACnD,mDAA+C;AAC/C,4BAA0B;AAC1B,0BAAgC;AAChC,wBAGO;AAqBH;AAnBJ,eAAe,mBAAoB,OAAQ;AAC1C,QAAM,EAAE,aAAa,SAAS,IAAI;AAClC,QAAM,OAAO,UAAM,uBAAU;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,yBAAqB,gDAA8B,UAAW;AAAA,EAC/D,CAAE;AACF,SAAO,KAAK,SAAS;AACtB;AAEO,IAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eACN,4CAAC,kDAAAA,SAAA,EAAuC,UAAS,KAAI,IAErD,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AAGA,aAAO,QAAQ,iCACd,4CAAC,sBAAAC,SAAA,EAAc,IAEf,4CAAC,oBAAAC,SAAA,EAAoB;AAAA,IAEvB;AAAA,IACA,MAAM,QAAS,EAAE,OAAO,SAAS,GAAI;AACpC,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,4CAAC,cAAAC,SAAA,EAAO,IAAK;AAAA,IAClC;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO,4CAAC,6CAAAH,SAAA,EAAmC;AAAA,MAC5C;AAEA,YAAM,4BACL,OAAO,WAAW,eAClB,OAAO;AAGR,aAAO,4BACN,4CAAC,sBAAAC,SAAA,EAAc,IAEf,4CAAC,oBAAAC,SAAA,EAAoB;AAAA,IAEvB;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,QAAS,EAAE,MAAM,GAAI;AAC1B,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,MAAM;AAAA,IAC3B;AAAA,EACD;AACD;",
6
- "names": ["SidebarNavigationScreenTemplatesBrowse", "SidebarNavigationScreenUnsupported", "PageTemplates", "PageTemplatesLegacy", "Editor"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { resolveSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { loadView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport PageTemplates from '../page-templates';\nimport PageTemplatesLegacy from '../page-templates/index-legacy';\nimport { unlock } from '../../lock-unlock';\nimport { isThemeDataLoaded } from './utils';\n\nasync function isTemplateListView( query ) {\n\tconst { activeView = 'active' } = query;\n\tconst config = await unlock( resolveSelect( coreStore ) ).getViewConfig(\n\t\t'postType',\n\t\t'wp_template'\n\t);\n\tconst defaultView = config?.default_view;\n\tconst activeViewOverrides =\n\t\tconfig?.view_list?.find( ( v ) => v.slug === activeView )?.view ?? {};\n\tconst view = await loadView( {\n\t\tkind: 'postType',\n\t\tname: 'wp_template',\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t} );\n\treturn view.type === 'list';\n}\n\nexport const templatesRoute = {\n\tname: 'templates',\n\tpath: '/template',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn siteData.currentTheme.is_block_theme ? (\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse backPath=\"/\" />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tcontent( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Use the new template activation system if experiment is enabled,\n\t\t\t// otherwise use the legacy simple template list.\n\t\t\treturn window?.__experimentalTemplateActivate ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<PageTemplatesLegacy />\n\t\t\t);\n\t\t},\n\t\tasync preview( { query, siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? <Editor /> : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\tif ( ! isThemeDataLoaded( siteData ) ) {\n\t\t\t\treturn <></>;\n\t\t\t}\n\t\t\tif ( ! siteData.currentTheme.is_block_theme ) {\n\t\t\t\treturn <SidebarNavigationScreenUnsupported />;\n\t\t\t}\n\t\t\t// Check if the template activation experiment is enabled.\n\t\t\tconst isTemplateActivateEnabled =\n\t\t\t\ttypeof window !== 'undefined' &&\n\t\t\t\twindow.__experimentalTemplateActivate;\n\t\t\t// Use the new template activation system if experiment is enabled,\n\t\t\t// otherwise use the legacy simple template list.\n\t\t\treturn isTemplateActivateEnabled ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<PageTemplatesLegacy />\n\t\t\t);\n\t\t},\n\t},\n\twidths: {\n\t\tasync content( { query } ) {\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? 380 : undefined;\n\t\t},\n\t},\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA8B;AAC9B,uBAAmC;AACnC,mBAAyB;AAKzB,oBAAmB;AACnB,wDAAmD;AACnD,mDAA+C;AAC/C,4BAA0B;AAC1B,0BAAgC;AAChC,yBAAuB;AACvB,mBAAkC;AA8B9B;AA5BJ,eAAe,mBAAoB,OAAQ;AAC1C,QAAM,EAAE,aAAa,SAAS,IAAI;AAClC,QAAM,SAAS,UAAM,+BAAQ,2BAAe,iBAAAA,KAAU,CAAE,EAAE;AAAA,IACzD;AAAA,IACA;AAAA,EACD;AACA,QAAM,cAAc,QAAQ;AAC5B,QAAM,sBACL,QAAQ,WAAW,KAAM,CAAE,MAAO,EAAE,SAAS,UAAW,GAAG,QAAQ,CAAC;AACrE,QAAM,OAAO,UAAM,uBAAU;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD,CAAE;AACF,SAAO,KAAK,SAAS;AACtB;AAEO,IAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,UAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,eAAO;AAAA,MACR;AACA,aAAO,SAAS,aAAa,iBAC5B,4CAAC,kDAAAC,SAAA,EAAuC,UAAS,KAAI,IAErD,4CAAC,6CAAAC,SAAA,EAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AAGA,aAAO,QAAQ,iCACd,4CAAC,sBAAAC,SAAA,EAAc,IAEf,4CAAC,oBAAAC,SAAA,EAAoB;AAAA,IAEvB;AAAA,IACA,MAAM,QAAS,EAAE,OAAO,SAAS,GAAI;AACpC,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,4CAAC,cAAAC,SAAA,EAAO,IAAK;AAAA,IAClC;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,UAAK,KAAE,gCAAmB,QAAS,GAAI;AACtC,eAAO,2EAAE;AAAA,MACV;AACA,UAAK,CAAE,SAAS,aAAa,gBAAiB;AAC7C,eAAO,4CAAC,6CAAAH,SAAA,EAAmC;AAAA,MAC5C;AAEA,YAAM,4BACL,OAAO,WAAW,eAClB,OAAO;AAGR,aAAO,4BACN,4CAAC,sBAAAC,SAAA,EAAc,IAEf,4CAAC,oBAAAC,SAAA,EAAoB;AAAA,IAEvB;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,QAAS,EAAE,MAAM,GAAI;AAC1B,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,MAAM;AAAA,IAC3B;AAAA,EACD;AACD;",
6
+ "names": ["coreStore", "SidebarNavigationScreenTemplatesBrowse", "SidebarNavigationScreenUnsupported", "PageTemplates", "PageTemplatesLegacy", "Editor"]
7
7
  }
@@ -20,9 +20,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // packages/edit-site/src/components/site-editor-routes/utils.js
21
21
  var utils_exports = {};
22
22
  __export(utils_exports, {
23
- isClassicThemeWithStyleBookSupport: () => isClassicThemeWithStyleBookSupport
23
+ isClassicThemeWithStyleBookSupport: () => isClassicThemeWithStyleBookSupport,
24
+ isThemeDataLoaded: () => isThemeDataLoaded
24
25
  });
25
26
  module.exports = __toCommonJS(utils_exports);
27
+ function isThemeDataLoaded(siteData) {
28
+ return siteData.currentTheme !== void 0 && siteData.currentTheme !== null;
29
+ }
26
30
  function isClassicThemeWithStyleBookSupport(siteData) {
27
31
  const isBlockTheme = siteData.currentTheme?.is_block_theme;
28
32
  const supportsEditorStyles = siteData.currentTheme?.theme_supports["editor-styles"];
@@ -31,6 +35,7 @@ function isClassicThemeWithStyleBookSupport(siteData) {
31
35
  }
32
36
  // Annotate the CommonJS export names for ESM import in node:
33
37
  0 && (module.exports = {
34
- isClassicThemeWithStyleBookSupport
38
+ isClassicThemeWithStyleBookSupport,
39
+ isThemeDataLoaded
35
40
  });
36
41
  //# sourceMappingURL=utils.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/utils.js"],
4
- "sourcesContent": ["/**\n * Check if the classic theme supports the stylebook.\n *\n * @param {Object} siteData - The site data provided by the site editor route area resolvers.\n * @return {boolean} True if the stylebook is supported, false otherwise.\n */\nexport function isClassicThemeWithStyleBookSupport( siteData ) {\n\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\tconst supportsEditorStyles =\n\t\tsiteData.currentTheme?.theme_supports[ 'editor-styles' ];\n\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\tconst hasThemeJson = siteData.editorSettings?.supportsLayout;\n\treturn ! isBlockTheme && ( supportsEditorStyles || hasThemeJson );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,SAAS,mCAAoC,UAAW;AAC9D,QAAM,eAAe,SAAS,cAAc;AAC5C,QAAM,uBACL,SAAS,cAAc,eAAgB,eAAgB;AAExD,QAAM,eAAe,SAAS,gBAAgB;AAC9C,SAAO,CAAE,iBAAkB,wBAAwB;AACpD;",
4
+ "sourcesContent": ["/**\n * Check if the current theme data has been loaded from the REST API.\n *\n * @param {Object} siteData - The site data provided by the site editor route area resolvers.\n * @return {boolean} True if the theme data is available, false otherwise.\n */\nexport function isThemeDataLoaded( siteData ) {\n\treturn (\n\t\tsiteData.currentTheme !== undefined && siteData.currentTheme !== null\n\t);\n}\n\n/**\n * Check if the classic theme supports the stylebook.\n *\n * @param {Object} siteData - The site data provided by the site editor route area resolvers.\n * @return {boolean} True if the stylebook is supported, false otherwise.\n */\nexport function isClassicThemeWithStyleBookSupport( siteData ) {\n\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\tconst supportsEditorStyles =\n\t\tsiteData.currentTheme?.theme_supports[ 'editor-styles' ];\n\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\tconst hasThemeJson = siteData.editorSettings?.supportsLayout;\n\treturn ! isBlockTheme && ( supportsEditorStyles || hasThemeJson );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,SAAS,kBAAmB,UAAW;AAC7C,SACC,SAAS,iBAAiB,UAAa,SAAS,iBAAiB;AAEnE;AAQO,SAAS,mCAAoC,UAAW;AAC9D,QAAM,eAAe,SAAS,cAAc;AAC5C,QAAM,uBACL,SAAS,cAAc,eAAgB,eAAgB;AAExD,QAAM,eAAe,SAAS,gBAAgB;AAC9C,SAAO,CAAE,iBAAkB,wBAAwB;AACpD;",
6
6
  "names": []
7
7
  }
@@ -7,12 +7,10 @@ import { DataViews, filterSortAndPaginate } from "@wordpress/dataviews";
7
7
  import { useEntityRecords, store as coreStore } from "@wordpress/core-data";
8
8
  import { privateApis as editorPrivateApis } from "@wordpress/editor";
9
9
  import { privateApis as routerPrivateApis } from "@wordpress/router";
10
- import { useView } from "@wordpress/views";
10
+ import { useView, useViewConfig } from "@wordpress/views";
11
11
  import { useSelect } from "@wordpress/data";
12
12
  import { addQueryArgs } from "@wordpress/url";
13
13
  import {
14
- LAYOUT_GRID,
15
- LAYOUT_TABLE,
16
14
  PATTERN_TYPES,
17
15
  TEMPLATE_PART_POST_TYPE,
18
16
  PATTERN_DEFAULT_CATEGORY
@@ -33,31 +31,6 @@ var { ExperimentalBlockEditorProvider } = unlock(blockEditorPrivateApis);
33
31
  var { usePostActions, patternTitleField } = unlock(editorPrivateApis);
34
32
  var { useLocation, useHistory } = unlock(routerPrivateApis);
35
33
  var EMPTY_ARRAY = [];
36
- var defaultLayouts = {
37
- [LAYOUT_TABLE]: {
38
- layout: {
39
- styles: {
40
- author: {
41
- width: "1%"
42
- }
43
- }
44
- }
45
- },
46
- [LAYOUT_GRID]: {
47
- layout: {
48
- badgeFields: ["sync-status"]
49
- }
50
- }
51
- };
52
- var DEFAULT_VIEW = {
53
- type: LAYOUT_GRID,
54
- perPage: 20,
55
- titleField: "title",
56
- mediaField: "preview",
57
- fields: ["sync-status"],
58
- filters: [],
59
- ...defaultLayouts[LAYOUT_GRID]
60
- };
61
34
  function usePagePatternsHeader(type, categoryId) {
62
35
  const { patternCategories } = usePatternCategories();
63
36
  const templatePartAreas = useSelect(
@@ -85,11 +58,16 @@ function DataviewsPatterns() {
85
58
  const { postType = "wp_block", categoryId: categoryIdFromURL } = query;
86
59
  const history = useHistory();
87
60
  const categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;
61
+ const { default_view: defaultView, default_layouts: defaultLayouts } = useViewConfig({
62
+ kind: "postType",
63
+ name: postType
64
+ });
88
65
  const { view, updateView, isModified, resetToDefault } = useView({
89
66
  kind: "postType",
90
67
  name: postType,
91
68
  slug: "default",
92
- defaultView: DEFAULT_VIEW,
69
+ defaultView,
70
+ defaultLayouts,
93
71
  queryParams: {
94
72
  page: query.pageNumber,
95
73
  search: query.search
@@ -201,7 +179,7 @@ function DataviewsPatterns() {
201
179
  },
202
180
  view,
203
181
  onChangeView: updateView,
204
- defaultLayouts,
182
+ defaultLayouts: defaultLayouts ?? {},
205
183
  onReset: isModified ? resetToDefault : false
206
184
  },
207
185
  categoryId + postType
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttemplatePartAuthorField,\n} from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, patternTitleField } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tstyles: {\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tperPage: 20,\n\ttitleField: 'title',\n\tmediaField: 'preview',\n\tfields: [ 'sync-status' ],\n\tfilters: [],\n\t...defaultLayouts[ LAYOUT_GRID ],\n};\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView: DEFAULT_VIEW,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttemplatePartAuthorField,\n} from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, patternTitleField } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { default_view: defaultView, default_layouts: defaultLayouts } =\n\t\tuseViewConfig( {\n\t\t\tkind: 'postType',\n\t\t\tname: postType,\n\t\t} );\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts ?? {} }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -8,29 +8,31 @@ import { privateApis as routerPrivateApis } from "@wordpress/router";
8
8
  import { privateApis as editorPrivateApis } from "@wordpress/editor";
9
9
  import { addQueryArgs } from "@wordpress/url";
10
10
  import { useEvent } from "@wordpress/compose";
11
- import { useView } from "@wordpress/views";
11
+ import { useView, useViewConfig } from "@wordpress/views";
12
12
  import AddNewTemplate from "../add-new-template-legacy/index.mjs";
13
13
  import { TEMPLATE_POST_TYPE } from "../../utils/constants.mjs";
14
14
  import { unlock } from "../../lock-unlock.mjs";
15
15
  import { useEditPostAction } from "../dataviews-actions/index.mjs";
16
16
  import { authorField, descriptionField, previewField } from "./fields.mjs";
17
- import {
18
- defaultLayouts,
19
- DEFAULT_VIEW,
20
- getActiveViewOverridesForTab
21
- } from "./view-utils.mjs";
22
17
  import { jsx } from "react/jsx-runtime";
23
18
  var { usePostActions, templateTitleField } = unlock(editorPrivateApis);
24
19
  var { useHistory, useLocation } = unlock(routerPrivateApis);
25
20
  var { useEntityRecordsWithPermissions } = unlock(corePrivateApis);
26
21
  function PageTemplates() {
27
22
  const { path, query } = useLocation();
28
- const { activeView = "active", postId } = query;
23
+ const { activeView = "all", postId } = query;
29
24
  const [selection, setSelection] = useState([postId]);
30
- const defaultView = DEFAULT_VIEW;
25
+ const {
26
+ default_view: defaultView,
27
+ default_layouts: defaultLayouts,
28
+ view_list: viewList
29
+ } = useViewConfig({
30
+ kind: "postType",
31
+ name: TEMPLATE_POST_TYPE
32
+ });
31
33
  const activeViewOverrides = useMemo(
32
- () => getActiveViewOverridesForTab(activeView),
33
- [activeView]
34
+ () => viewList?.find((v) => v.slug === activeView)?.view ?? {},
35
+ [viewList, activeView]
34
36
  );
35
37
  const { view, updateView, isModified, resetToDefault } = useView({
36
38
  kind: "postType",
@@ -38,6 +40,7 @@ function PageTemplates() {
38
40
  slug: "default",
39
41
  defaultView,
40
42
  activeViewOverrides,
43
+ defaultLayouts,
41
44
  queryParams: {
42
45
  page: query.pageNumber,
43
46
  search: query.search
@@ -134,7 +137,7 @@ function PageTemplates() {
134
137
  history.navigate(`/wp_template/${id}?canvas=edit`);
135
138
  },
136
139
  selection,
137
- defaultLayouts,
140
+ defaultLayouts: defaultLayouts ?? {},
138
141
  onReset: isModified ? () => {
139
142
  resetToDefault();
140
143
  history.invalidate();
@@ -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 } 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';\nimport {\n\tdefaultLayouts,\n\tDEFAULT_VIEW,\n\tgetActiveViewOverridesForTab,\n} from './view-utils';\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 = 'active', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = DEFAULT_VIEW;\n\tconst activeViewOverrides = useMemo(\n\t\t() => getActiveViewOverridesForTab( activeView ),\n\t\t[ 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\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\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, 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\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": []
7
7
  }