@wordpress/edit-site 5.12.10 → 5.12.12

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 (113) hide show
  1. package/build/components/global-styles/screen-revisions/index.js +8 -2
  2. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  3. package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  4. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  5. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +31 -25
  6. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  7. package/build/components/keyboard-shortcuts/edit-mode.js +7 -5
  8. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  9. package/build/components/layout/index.js +14 -3
  10. package/build/components/layout/index.js.map +1 -1
  11. package/build/components/page-patterns/patterns-list.js +2 -1
  12. package/build/components/page-patterns/patterns-list.js.map +1 -1
  13. package/build/components/page-patterns/use-patterns.js +1 -1
  14. package/build/components/page-patterns/use-patterns.js.map +1 -1
  15. package/build/components/page-template-parts/index.js +1 -2
  16. package/build/components/page-template-parts/index.js.map +1 -1
  17. package/build/components/resizable-frame/index.js +14 -23
  18. package/build/components/resizable-frame/index.js.map +1 -1
  19. package/build/components/sidebar-edit-mode/page-panels/page-status.js +2 -7
  20. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  21. package/build/components/sidebar-navigation-screen/index.js +15 -13
  22. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  23. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +8 -0
  24. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  25. package/build/components/sidebar-navigation-screen-pages/index.js +2 -0
  26. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  27. package/build/components/sidebar-navigation-screen-patterns/index.js +0 -9
  28. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  29. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  30. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  31. package/build/components/sidebar-navigation-screen-templates/index.js +1 -10
  32. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  33. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -0
  34. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  35. package/build/components/site-hub/index.js +16 -7
  36. package/build/components/site-hub/index.js.map +1 -1
  37. package/build/hooks/commands/use-common-commands.js +78 -20
  38. package/build/hooks/commands/use-common-commands.js.map +1 -1
  39. package/build/hooks/commands/use-edit-mode-commands.js +30 -0
  40. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  41. package/build/store/private-actions.js +2 -1
  42. package/build/store/private-actions.js.map +1 -1
  43. package/build-module/components/global-styles/screen-revisions/index.js +9 -3
  44. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  45. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  46. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  47. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +27 -21
  48. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  49. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -5
  50. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  51. package/build-module/components/layout/index.js +14 -3
  52. package/build-module/components/layout/index.js.map +1 -1
  53. package/build-module/components/page-patterns/patterns-list.js +3 -2
  54. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  55. package/build-module/components/page-patterns/use-patterns.js +1 -1
  56. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  57. package/build-module/components/page-template-parts/index.js +1 -2
  58. package/build-module/components/page-template-parts/index.js.map +1 -1
  59. package/build-module/components/resizable-frame/index.js +15 -24
  60. package/build-module/components/resizable-frame/index.js.map +1 -1
  61. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +2 -7
  62. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  63. package/build-module/components/sidebar-navigation-screen/index.js +13 -13
  64. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  65. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -0
  66. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  67. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -0
  68. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  69. package/build-module/components/sidebar-navigation-screen-patterns/index.js +0 -7
  70. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  71. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  72. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  73. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -8
  74. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  75. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -0
  76. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  77. package/build-module/components/site-hub/index.js +16 -7
  78. package/build-module/components/site-hub/index.js.map +1 -1
  79. package/build-module/hooks/commands/use-common-commands.js +74 -20
  80. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  81. package/build-module/hooks/commands/use-edit-mode-commands.js +29 -0
  82. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  83. package/build-module/store/private-actions.js +2 -1
  84. package/build-module/store/private-actions.js.map +1 -1
  85. package/build-style/style-rtl.css +12 -11
  86. package/build-style/style.css +12 -11
  87. package/package.json +20 -20
  88. package/src/components/global-styles/screen-revisions/index.js +76 -58
  89. package/src/components/global-styles/screen-revisions/revisions-buttons.js +17 -31
  90. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +14 -1
  91. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +63 -48
  92. package/src/components/keyboard-shortcuts/edit-mode.js +4 -5
  93. package/src/components/layout/index.js +22 -2
  94. package/src/components/layout/style.scss +1 -1
  95. package/src/components/page-patterns/patterns-list.js +5 -2
  96. package/src/components/page-patterns/style.scss +3 -0
  97. package/src/components/page-patterns/use-patterns.js +1 -0
  98. package/src/components/page-template-parts/index.js +0 -1
  99. package/src/components/resizable-frame/index.js +12 -28
  100. package/src/components/resizable-frame/style.scss +0 -17
  101. package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -4
  102. package/src/components/sidebar-navigation-screen/index.js +13 -15
  103. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +27 -15
  104. package/src/components/sidebar-navigation-screen-pages/index.js +9 -4
  105. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -8
  106. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  107. package/src/components/sidebar-navigation-screen-templates/index.js +1 -9
  108. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -0
  109. package/src/components/site-hub/index.js +21 -7
  110. package/src/components/site-hub/style.scss +9 -2
  111. package/src/hooks/commands/use-common-commands.js +56 -23
  112. package/src/hooks/commands/use-edit-mode-commands.js +34 -3
  113. package/src/store/private-actions.js +5 -1
@@ -28,13 +28,15 @@ export default function useGlobalStylesRevisions() {
28
28
  authors,
29
29
  currentUser,
30
30
  isDirty,
31
- revisions
31
+ revisions,
32
+ isLoadingGlobalStylesRevisions
32
33
  } = useSelect(select => {
33
34
  const {
34
35
  __experimentalGetDirtyEntityRecords,
35
36
  getCurrentUser,
36
37
  getUsers,
37
- getCurrentThemeGlobalStylesRevisions
38
+ getCurrentThemeGlobalStylesRevisions,
39
+ isResolving
38
40
  } = select(coreStore);
39
41
 
40
42
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
@@ -51,13 +53,14 @@ export default function useGlobalStylesRevisions() {
51
53
  authors: _authors,
52
54
  currentUser: _currentUser,
53
55
  isDirty: _isDirty,
54
- revisions: globalStylesRevisions
56
+ revisions: globalStylesRevisions,
57
+ isLoadingGlobalStylesRevisions: isResolving('getCurrentThemeGlobalStylesRevisions')
55
58
  };
56
59
  }, []);
57
60
  return useMemo(() => {
58
61
  let _modifiedRevisions = [];
59
62
 
60
- if (!authors.length || !revisions.length) {
63
+ if (!authors.length || isLoadingGlobalStylesRevisions) {
61
64
  return {
62
65
  revisions: _modifiedRevisions,
63
66
  hasUnsavedChanges: isDirty,
@@ -70,26 +73,29 @@ export default function useGlobalStylesRevisions() {
70
73
  return { ...revision,
71
74
  author: authors.find(author => author.id === revision.author)
72
75
  };
73
- }); // Flags the most current saved revision.
76
+ });
74
77
 
75
- if (_modifiedRevisions[0].id !== 'unsaved') {
76
- _modifiedRevisions[0].isLatest = true;
77
- } // Adds an item for unsaved changes.
78
+ if (_modifiedRevisions.length) {
79
+ // Flags the most current saved revision.
80
+ if (_modifiedRevisions[0].id !== 'unsaved') {
81
+ _modifiedRevisions[0].isLatest = true;
82
+ } // Adds an item for unsaved changes.
78
83
 
79
84
 
80
- if (isDirty && userConfig && Object.keys(userConfig).length > 0 && currentUser) {
81
- const unsavedRevision = {
82
- id: 'unsaved',
83
- styles: userConfig?.styles,
84
- settings: userConfig?.settings,
85
- author: {
86
- name: currentUser?.name,
87
- avatar_urls: currentUser?.avatar_urls
88
- },
89
- modified: new Date()
90
- };
85
+ if (isDirty && userConfig && Object.keys(userConfig).length > 0 && currentUser) {
86
+ const unsavedRevision = {
87
+ id: 'unsaved',
88
+ styles: userConfig?.styles,
89
+ settings: userConfig?.settings,
90
+ author: {
91
+ name: currentUser?.name,
92
+ avatar_urls: currentUser?.avatar_urls
93
+ },
94
+ modified: new Date()
95
+ };
91
96
 
92
- _modifiedRevisions.unshift(unsavedRevision);
97
+ _modifiedRevisions.unshift(unsavedRevision);
98
+ }
93
99
  }
94
100
 
95
101
  return {
@@ -97,6 +103,6 @@ export default function useGlobalStylesRevisions() {
97
103
  hasUnsavedChanges: isDirty,
98
104
  isLoading: false
99
105
  };
100
- }, [isDirty, revisions, currentUser, authors, userConfig]);
106
+ }, [isDirty, revisions, currentUser, authors, userConfig, isLoadingGlobalStylesRevisions]);
101
107
  }
102
108
  //# sourceMappingURL=use-global-styles-revisions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","user","userConfig","authors","currentUser","isDirty","revisions","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst { authors, currentUser, isDirty, revisions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetCurrentUser,\n\t\t\t\tgetUsers,\n\t\t\t\tgetCurrentThemeGlobalStylesRevisions,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst _currentUser = getCurrentUser();\n\t\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\t\tconst globalStylesRevisions =\n\t\t\t\tgetCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;\n\t\t\tconst _authors =\n\t\t\t\tgetUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\n\t\t\treturn {\n\t\t\t\tauthors: _authors,\n\t\t\t\tcurrentUser: _currentUser,\n\t\t\t\tisDirty: _isDirty,\n\t\t\t\trevisions: globalStylesRevisions,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || ! revisions.length ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\t// Flags the most current saved revision.\n\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t}\n\n\t\t// Adds an item for unsaved changes.\n\t\tif (\n\t\t\tisDirty &&\n\t\t\tuserConfig &&\n\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\tcurrentUser\n\t\t) {\n\t\t\tconst unsavedRevision = {\n\t\t\t\tid: 'unsaved',\n\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\tauthor: {\n\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t},\n\t\t\t\tmodified: new Date(),\n\t\t\t};\n\n\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [ isDirty, revisions, currentUser, authors, userConfig ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","user","userConfig","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","isResolving","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tgetCurrentUser,\n\t\t\tgetUsers,\n\t\t\tgetCurrentThemeGlobalStylesRevisions,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _currentUser = getCurrentUser();\n\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\tconst globalStylesRevisions =\n\t\t\tgetCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;\n\t\tconst _authors = getUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\n\t\treturn {\n\t\t\tauthors: _authors,\n\t\t\tcurrentUser: _currentUser,\n\t\t\tisDirty: _isDirty,\n\t\t\trevisions: globalStylesRevisions,\n\t\t\tisLoadingGlobalStylesRevisions: isResolving(\n\t\t\t\t'getCurrentThemeGlobalStylesRevisions'\n\t\t\t),\n\t\t};\n\t}, [] );\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tif ( _modifiedRevisions.length ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"]}
@@ -29,10 +29,8 @@ function KeyboardShortcutsEditMode() {
29
29
  undo
30
30
  } = useDispatch(coreStore);
31
31
  const {
32
- isFeatureActive,
33
32
  setIsListViewOpened,
34
33
  switchEditorMode,
35
- toggleFeature,
36
34
  setIsInserterOpened,
37
35
  closeGeneralSidebar
38
36
  } = useDispatch(editSiteStore);
@@ -49,7 +47,11 @@ function KeyboardShortcutsEditMode() {
49
47
  getBlockAttributes
50
48
  } = useSelect(blockEditorStore);
51
49
  const {
52
- set: setPreference
50
+ get: getPreference
51
+ } = useSelect(preferencesStore);
52
+ const {
53
+ set: setPreference,
54
+ toggle
53
55
  } = useDispatch(preferencesStore);
54
56
  const {
55
57
  createInfoNotice
@@ -128,8 +130,8 @@ function KeyboardShortcutsEditMode() {
128
130
  });
129
131
  useShortcut('core/edit-site/toggle-distraction-free', () => {
130
132
  toggleDistractionFree();
131
- toggleFeature('distractionFree');
132
- createInfoNotice(isFeatureActive('distractionFree') ? __('Distraction free mode turned on.') : __('Distraction free mode turned off.'), {
133
+ toggle('core/edit-site', 'distractionFree');
134
+ createInfoNotice(getPreference('core/edit-site', 'distractionFree') ? __('Distraction free mode turned on.') : __('Distraction free mode turned off.'), {
133
135
  id: 'core/edit-site/distraction-free-mode/notice',
134
136
  type: 'snackbar'
135
137
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/edit-mode.js"],"names":["__","useShortcut","useDispatch","useSelect","store","coreStore","blockEditorStore","interfaceStore","createBlock","preferencesStore","noticesStore","editSiteStore","SIDEBAR_BLOCK","STORE_NAME","KeyboardShortcutsEditMode","getEditorMode","isListViewOpen","select","isListViewOpened","isBlockInspectorOpen","getActiveComplementaryArea","name","redo","undo","isFeatureActive","setIsListViewOpened","switchEditorMode","toggleFeature","setIsInserterOpened","closeGeneralSidebar","enableComplementaryArea","disableComplementaryArea","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","set","setPreference","createInfoNotice","toggleDistractionFree","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","forEach","id","type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { createBlock } from '@wordpress/blocks';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';\nimport { STORE_NAME } from '../../store/constants';\n\nfunction KeyboardShortcutsEditMode() {\n\tconst { getEditorMode } = useSelect( editSiteStore );\n\tconst isListViewOpen = useSelect(\n\t\t( select ) => select( editSiteStore ).isListViewOpened(),\n\t\t[]\n\t);\n\tconst isBlockInspectorOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t) === SIDEBAR_BLOCK,\n\t\t[]\n\t);\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst {\n\t\tisFeatureActive,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\ttoggleFeature,\n\t\tsetIsInserterOpened,\n\t\tcloseGeneralSidebar,\n\t} = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseShortcut( 'core/edit-site/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-site/toggle-list-view', () => {\n\t\tif ( isListViewOpen ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsListViewOpened( true );\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-block-settings-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isBlockInspectorOpen ) {\n\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-mode', () => {\n\t\tswitchEditorMode( getEditorMode() === 'visual' ? 'text' : 'visual' );\n\t} );\n\n\tuseShortcut( 'core/edit-site/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-site/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t\ttoggleFeature( 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tisFeatureActive( 'distractionFree' )\n\t\t\t\t? __( 'Distraction free mode turned on.' )\n\t\t\t\t: __( 'Distraction free mode turned off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-site/distraction-free-mode/notice',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcutsEditMode;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/edit-mode.js"],"names":["__","useShortcut","useDispatch","useSelect","store","coreStore","blockEditorStore","interfaceStore","createBlock","preferencesStore","noticesStore","editSiteStore","SIDEBAR_BLOCK","STORE_NAME","KeyboardShortcutsEditMode","getEditorMode","isListViewOpen","select","isListViewOpened","isBlockInspectorOpen","getActiveComplementaryArea","name","redo","undo","setIsListViewOpened","switchEditorMode","setIsInserterOpened","closeGeneralSidebar","enableComplementaryArea","disableComplementaryArea","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","get","getPreference","set","setPreference","toggle","createInfoNotice","toggleDistractionFree","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","forEach","id","type"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,QAA4B,+BAA5B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,yBAA1C;AACA,SAASF,KAAK,IAAIG,cAAlB,QAAwC,sBAAxC;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SAASJ,KAAK,IAAIK,gBAAlB,QAA0C,wBAA1C;AACA,SAASL,KAAK,IAAIM,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,SAASN,KAAK,IAAIO,aAAlB,QAAuC,aAAvC;AACA,SAASC,aAAT,QAA8B,gCAA9B;AACA,SAASC,UAAT,QAA2B,uBAA3B;;AAEA,SAASC,yBAAT,GAAqC;AACpC,QAAM;AAAEC,IAAAA;AAAF,MAAoBZ,SAAS,CAAEQ,aAAF,CAAnC;AACA,QAAMK,cAAc,GAAGb,SAAS,CAC7Bc,MAAF,IAAcA,MAAM,CAAEN,aAAF,CAAN,CAAwBO,gBAAxB,EADiB,EAE/B,EAF+B,CAAhC;AAIA,QAAMC,oBAAoB,GAAGhB,SAAS,CACnCc,MAAF,IACCA,MAAM,CAAEV,cAAF,CAAN,CAAyBa,0BAAzB,CACCT,aAAa,CAACU,IADf,MAEMT,aAJ8B,EAKrC,EALqC,CAAtC;AAOA,QAAM;AAAEU,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAiBrB,WAAW,CAAEG,SAAF,CAAlC;AACA,QAAM;AACLmB,IAAAA,mBADK;AAELC,IAAAA,gBAFK;AAGLC,IAAAA,mBAHK;AAILC,IAAAA;AAJK,MAKFzB,WAAW,CAAES,aAAF,CALf;AAMA,QAAM;AAAEiB,IAAAA,uBAAF;AAA2BC,IAAAA;AAA3B,MACL3B,WAAW,CAAEK,cAAF,CADZ;AAGA,QAAM;AAAEuB,IAAAA;AAAF,MAAoB5B,WAAW,CAAEI,gBAAF,CAArC;AACA,QAAM;AAAEyB,IAAAA,YAAF;AAAgBC,IAAAA,wBAAhB;AAA0CC,IAAAA;AAA1C,MACL9B,SAAS,CAAEG,gBAAF,CADV;AAGA,QAAM;AAAE4B,IAAAA,GAAG,EAAEC;AAAP,MAAyBhC,SAAS,CAAEM,gBAAF,CAAxC;AACA,QAAM;AAAE2B,IAAAA,GAAG,EAAEC,aAAP;AAAsBC,IAAAA;AAAtB,MAAiCpC,WAAW,CAAEO,gBAAF,CAAlD;AACA,QAAM;AAAE8B,IAAAA;AAAF,MAAuBrC,WAAW,CAAEQ,YAAF,CAAxC;;AAEA,QAAM8B,qBAAqB,GAAG,MAAM;AACnCH,IAAAA,aAAa,CAAE,gBAAF,EAAoB,cAApB,EAAoC,KAApC,CAAb;AACAX,IAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACAF,IAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACAG,IAAAA,mBAAmB;AACnB,GALD;;AAOA,QAAMc,uBAAuB,GAAG,CAAEC,KAAF,EAASC,KAAT,KAAoB;AACnDD,IAAAA,KAAK,CAACE,cAAN;AACA,UAAMC,oBAAoB,GACzBF,KAAK,KAAK,CAAV,GAAc,gBAAd,GAAiC,cADlC;AAEA,UAAMG,eAAe,GAAGd,wBAAwB,EAAhD;;AACA,QAAKc,eAAe,KAAK,IAAzB,EAAgC;AAC/B;AACA;;AACD,UAAMC,SAAS,GAAGhB,YAAY,CAAEe,eAAF,CAA9B;;AACA,QAAKC,SAAS,KAAK,gBAAd,IAAkCA,SAAS,KAAK,cAArD,EAAsE;AACrE;AACA;;AACD,UAAMC,UAAU,GAAGf,kBAAkB,CAAEa,eAAF,CAArC;AACA,UAAMG,SAAS,GACdF,SAAS,KAAK,gBAAd,GAAiC,OAAjC,GAA2C,WAD5C;AAEA,UAAMG,oBAAoB,GACzBL,oBAAoB,KAAK,gBAAzB,GAA4C,OAA5C,GAAsD,WADvD;AAGAf,IAAAA,aAAa,CACZgB,eADY,EAEZtC,WAAW,CAAEqC,oBAAF,EAAwB;AAClCF,MAAAA,KADkC;AAElCQ,MAAAA,OAAO,EAAEH,UAAU,CAACG,OAFc;AAGlC,SAAG;AAAE,SAAED,oBAAF,GAA0BF,UAAU,CAAEC,SAAF;AAAtC;AAH+B,KAAxB,CAFC,CAAb;AAQA,GA1BD;;AA4BAhD,EAAAA,WAAW,CAAE,qBAAF,EAA2ByC,KAAF,IAAa;AAChDnB,IAAAA,IAAI;AACJmB,IAAAA,KAAK,CAACE,cAAN;AACA,GAHU,CAAX;AAKA3C,EAAAA,WAAW,CAAE,qBAAF,EAA2ByC,KAAF,IAAa;AAChDpB,IAAAA,IAAI;AACJoB,IAAAA,KAAK,CAACE,cAAN;AACA,GAHU,CAAX,CAvEoC,CA4EpC;;AACA3C,EAAAA,WAAW,CAAE,iCAAF,EAAqC,MAAM;AACrD,QAAKe,cAAL,EAAsB;AACrB;AACA;;AACDQ,IAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACA,GALU,CAAX;AAOAvB,EAAAA,WAAW,CAAE,8CAAF,EAAoDyC,KAAF,IAAa;AACzE;AACA;AACAA,IAAAA,KAAK,CAACE,cAAN;;AAEA,QAAKzB,oBAAL,EAA4B;AAC3BU,MAAAA,wBAAwB,CAAEhB,UAAF,CAAxB;AACA,KAFD,MAEO;AACNe,MAAAA,uBAAuB,CAAEf,UAAF,EAAcD,aAAd,CAAvB;AACA;AACD,GAVU,CAAX;AAYAX,EAAAA,WAAW,CAAE,4BAAF,EAAgC,MAAM;AAChDwB,IAAAA,gBAAgB,CAAEV,aAAa,OAAO,QAApB,GAA+B,MAA/B,GAAwC,QAA1C,CAAhB;AACA,GAFU,CAAX;AAIAd,EAAAA,WAAW,CAAE,+CAAF,EAAqDyC,KAAF,IAC7DD,uBAAuB,CAAEC,KAAF,EAAS,CAAT,CADb,CAAX;AAIA,GAAE,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAqBU,OAArB,CAAgCT,KAAF,IAAa;AAC1C;AACA;AACA;AACA1C,IAAAA,WAAW,CACT,iDAAiD0C,KAAO,EAD/C,EAERD,KAAF,IAAaD,uBAAuB,CAAEC,KAAF,EAASC,KAAT,CAF1B,CAAX;AAIA,GARD;AAUA1C,EAAAA,WAAW,CAAE,wCAAF,EAA4C,MAAM;AAC5DuC,IAAAA,qBAAqB;AACrBF,IAAAA,MAAM,CAAE,gBAAF,EAAoB,iBAApB,CAAN;AACAC,IAAAA,gBAAgB,CACfJ,aAAa,CAAE,gBAAF,EAAoB,iBAApB,CAAb,GACGnC,EAAE,CAAE,kCAAF,CADL,GAEGA,EAAE,CAAE,mCAAF,CAHU,EAIf;AACCqD,MAAAA,EAAE,EAAE,6CADL;AAECC,MAAAA,IAAI,EAAE;AAFP,KAJe,CAAhB;AASA,GAZU,CAAX;AAcA,SAAO,IAAP;AACA;;AAED,eAAexC,yBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { createBlock } from '@wordpress/blocks';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';\nimport { STORE_NAME } from '../../store/constants';\n\nfunction KeyboardShortcutsEditMode() {\n\tconst { getEditorMode } = useSelect( editSiteStore );\n\tconst isListViewOpen = useSelect(\n\t\t( select ) => select( editSiteStore ).isListViewOpened(),\n\t\t[]\n\t);\n\tconst isBlockInspectorOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t) === SIDEBAR_BLOCK,\n\t\t[]\n\t);\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst {\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\tsetIsInserterOpened,\n\t\tcloseGeneralSidebar,\n\t} = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { get: getPreference } = useSelect( preferencesStore );\n\tconst { set: setPreference, toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseShortcut( 'core/edit-site/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-site/toggle-list-view', () => {\n\t\tif ( isListViewOpen ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsListViewOpened( true );\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-block-settings-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isBlockInspectorOpen ) {\n\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-mode', () => {\n\t\tswitchEditorMode( getEditorMode() === 'visual' ? 'text' : 'visual' );\n\t} );\n\n\tuseShortcut( 'core/edit-site/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-site/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t\ttoggle( 'core/edit-site', 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tgetPreference( 'core/edit-site', 'distractionFree' )\n\t\t\t\t? __( 'Distraction free mode turned on.' )\n\t\t\t\t: __( 'Distraction free mode turned off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-site/distraction-free-mode/notice',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcutsEditMode;\n"]}
@@ -102,7 +102,8 @@ export default function Layout() {
102
102
  const [canvasResizer, canvasSize] = useResizeObserver();
103
103
  const [fullResizer] = useResizeObserver();
104
104
  const [isResizing] = useState(false);
105
- const isEditorLoading = useIsSiteEditorLoading(); // This determines which animation variant should apply to the header.
105
+ const isEditorLoading = useIsSiteEditorLoading();
106
+ const [isResizableFrameOversized, setIsResizableFrameOversized] = useState(false); // This determines which animation variant should apply to the header.
106
107
  // There is also a `isDistractionFreeHovering` state that gets priority
107
108
  // when hovering the `edit-site-layout__header-container` in distraction
108
109
  // free mode. It's set via framer and trickles down to all the children
@@ -191,6 +192,7 @@ export default function Layout() {
191
192
  }
192
193
  },
193
194
  ref: hubRef,
195
+ isTransparent: isResizableFrameOversized,
194
196
  className: "edit-site-layout__hub"
195
197
  }), createElement(AnimatePresence, {
196
198
  initial: false
@@ -263,7 +265,9 @@ export default function Layout() {
263
265
  } : {},
264
266
  initial: false,
265
267
  layout: "position",
266
- className: "edit-site-layout__canvas",
268
+ className: classnames('edit-site-layout__canvas', {
269
+ 'is-right-aligned': isResizableFrameOversized
270
+ }),
267
271
  transition: {
268
272
  type: 'tween',
269
273
  duration: disableMotion || isResizing ? 0 : ANIMATION_DURATION,
@@ -272,7 +276,14 @@ export default function Layout() {
272
276
  }, createElement(ErrorBoundary, null, createElement(ResizableFrame, {
273
277
  isReady: !isEditorLoading,
274
278
  isFullWidth: isEditing,
275
- oversizedClassName: "edit-site-layout__resizable-frame-oversized",
279
+ defaultSize: {
280
+ width: canvasSize.width - 24
281
+ /* $canvas-padding */
282
+ ,
283
+ height: canvasSize.height
284
+ },
285
+ isOversized: isResizableFrameOversized,
286
+ setIsOversized: setIsResizableFrameOversized,
276
287
  innerContentStyle: {
277
288
  background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor
278
289
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/layout/index.js"],"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","useRef","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","routerPrivateApis","coreCommandsPrivateApis","Sidebar","Editor","ErrorBoundary","editSiteStore","getIsListPage","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","PageMain","useIsSiteEditorLoading","useCommands","useCommandContext","useLocation","useGlobalStyle","ANIMATION_DURATION","Layout","hubRef","params","isMobileViewport","isListPage","isEditorPage","isDistractionFree","hasFixedToolbar","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isResizing","isEditorLoading","headerAnimationState","commandContext","backgroundColor","gradientValue","ref","className","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","undefined","div","x","y","duration","ease","width","scale","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\n\tconst hubRef = useRef();\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst [ isResizing ] = useState( false );\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tconst commandContext =\n\t\tcanvasMode === 'edit' && isEditorPage\n\t\t\t? 'site-editor-edit'\n\t\t\t: 'site-editor';\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free': isDistractionFree && isEditing,\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\t\t\t\tview: { x: 0 },\n\t\t\t\t\t\t\tedit: { x: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tref={ hubRef }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\t// The sidebar is needed for routing on mobile\n\t\t\t\t\t\t// (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),\n\t\t\t\t\t\t// so we can't remove the element entirely. Using `inert` will make\n\t\t\t\t\t\t// it inaccessible to screen readers and keyboard navigation.\n\t\t\t\t\t\tinert={ showSidebar ? undefined : 'inert' }\n\t\t\t\t\t\tanimate={ { opacity: showSidebar ? 1 : 0 } }\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration:\n\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\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigableRegion ariaLabel={ __( 'Navigation' ) }>\n\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas-container',\n\t\t\t\t\t\t\t\t\t\t{\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) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\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\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__canvas\"\n\t\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\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<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\toversizedClassName=\"edit-site-layout__resizable-frame-oversized\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\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\t\t\tgradientValue ??\n\t\t\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\t\t} }\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<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\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/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\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</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/layout/index.js"],"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","useRef","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","routerPrivateApis","coreCommandsPrivateApis","Sidebar","Editor","ErrorBoundary","editSiteStore","getIsListPage","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","PageMain","useIsSiteEditorLoading","useCommands","useCommandContext","useLocation","useGlobalStyle","ANIMATION_DURATION","Layout","hubRef","params","isMobileViewport","isListPage","isEditorPage","isDistractionFree","hasFixedToolbar","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isResizing","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","headerAnimationState","commandContext","backgroundColor","gradientValue","ref","className","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","undefined","div","x","y","duration","ease","width","scale","height","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\n\tconst hubRef = useRef();\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst [ isResizing ] = useState( false );\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tconst commandContext =\n\t\tcanvasMode === 'edit' && isEditorPage\n\t\t\t? 'site-editor-edit'\n\t\t\t: 'site-editor';\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free': isDistractionFree && isEditing,\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\t\t\t\tview: { x: 0 },\n\t\t\t\t\t\t\tedit: { x: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tref={ hubRef }\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\t// The sidebar is needed for routing on mobile\n\t\t\t\t\t\t// (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),\n\t\t\t\t\t\t// so we can't remove the element entirely. Using `inert` will make\n\t\t\t\t\t\t// it inaccessible to screen readers and keyboard navigation.\n\t\t\t\t\t\tinert={ showSidebar ? undefined : 'inert' }\n\t\t\t\t\t\tanimate={ { opacity: showSidebar ? 1 : 0 } }\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration:\n\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\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigableRegion ariaLabel={ __( 'Navigation' ) }>\n\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas-container',\n\t\t\t\t\t\t\t\t\t\t{\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) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\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\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\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\t\t{\n\t\t\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\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\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\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<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\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\t\t\tcanvasSize.width -\n\t\t\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\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\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\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\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\t\t\tgradientValue ??\n\t\t\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\t\t} }\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<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\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/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\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</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -20,7 +20,7 @@ import usePatterns from './use-patterns';
20
20
  import SidebarButton from '../sidebar-button';
21
21
  import useDebouncedInput from '../../utils/use-debounced-input';
22
22
  import { unlock } from '../../lock-unlock';
23
- import { SYNC_TYPES, USER_PATTERN_CATEGORY } from './utils';
23
+ import { SYNC_TYPES, USER_PATTERN_CATEGORY, PATTERNS } from './utils';
24
24
  const {
25
25
  useLocation,
26
26
  useHistory
@@ -46,10 +46,11 @@ export default function PatternsList({
46
46
  const deferredFilterValue = useDeferredValue(delayedFilterValue);
47
47
  const [syncFilter, setSyncFilter] = useState('all');
48
48
  const deferredSyncedFilter = useDeferredValue(syncFilter);
49
+ const isUncategorizedThemePatterns = type === PATTERNS && categoryId === 'uncategorized';
49
50
  const {
50
51
  patterns,
51
52
  isResolving
52
- } = usePatterns(type, categoryId !== 'uncategorized' ? categoryId : '', {
53
+ } = usePatterns(type, isUncategorizedThemePatterns ? '' : categoryId, {
53
54
  search: deferredFilterValue,
54
55
  syncStatus: deferredSyncedFilter === 'all' ? undefined : deferredSyncedFilter
55
56
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"names":["useState","useDeferredValue","useId","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useViewportMatch","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","useDebouncedInput","unlock","SYNC_TYPES","USER_PATTERN_CATEGORY","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","deferredSyncedFilter","patterns","isResolving","search","syncStatus","undefined","id","titleId","descriptionId","hasPatterns","length","title","description","state","backPath","back","push","path","value","Object","entries","map","key","label"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY } from './utils';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ SYNC_TYPES.unsynced ]: __( 'Standard' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tcategoryId !== 'uncategorized' ? categoryId : '',\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\treturn (\n\t\t<VStack spacing={ 6 }>\n\t\t\t<PatternsHeader\n\t\t\t\tcategoryId={ categoryId }\n\t\t\t\ttype={ type }\n\t\t\t\ttitleId={ titleId }\n\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t/>\n\n\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\tif ( location.state?.backPath === '/patterns' ) {\n\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\tonChange={ ( value ) => setFilterValue( value ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t{ categoryId === USER_PATTERN_CATEGORY && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tonChange={ ( value ) => setSyncFilter( value ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t{ hasPatterns && (\n\t\t\t\t<Grid\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\titems={ patterns }\n\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t</VStack>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"names":["useState","useDeferredValue","useId","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useViewportMatch","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","useDebouncedInput","unlock","SYNC_TYPES","USER_PATTERN_CATEGORY","PATTERNS","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","deferredSyncedFilter","isUncategorizedThemePatterns","patterns","isResolving","search","syncStatus","undefined","id","titleId","descriptionId","hasPatterns","length","title","description","state","backPath","back","push","path","value","Object","entries","map","key","label"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,gBAAnB,EAAqCC,KAArC,QAAkD,oBAAlD;AACA,SACCC,aADD,EAECC,oBAAoB,IAAIC,MAFzB,EAGCC,IAHD,EAICC,SAJD,EAKCC,gCAAgC,IAAIC,kBALrC,EAMCC,sCAAsC,IAAIC,wBAN3C,EAOCC,qBAAqB,IAAIC,OAP1B,EAQCC,kBAAkB,IAAIC,IARvB,QASO,uBATP;AAUA,SAASC,EAAT,EAAaC,KAAb,QAA0B,iBAA1B;AACA,SAASC,WAAT,EAAsBC,YAAtB,QAA0C,kBAA1C;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,MAA2B,UAA3B;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,iBAAP,MAA8B,iCAA9B;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASC,UAAT,EAAqBC,qBAArB,EAA4CC,QAA5C,QAA4D,SAA5D;AAEA,MAAM;AAAEC,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAA8BL,MAAM,CAAER,iBAAF,CAA1C;AAEA,MAAMc,YAAY,GAAG;AACpBC,EAAAA,GAAG,EAAEpB,EAAE,CAAE,KAAF,CADa;AAEpB,GAAEc,UAAU,CAACO,IAAb,GAAqBrB,EAAE,CAAE,QAAF,CAFH;AAGpB,GAAEc,UAAU,CAACQ,QAAb,GAAyBtB,EAAE,CAAE,UAAF;AAHP,CAArB;AAMA,MAAMuB,iBAAiB,GAAG;AACzBH,EAAAA,GAAG,EAAE,EADoB;AAEzB,GAAEN,UAAU,CAACO,IAAb,GAAqBrB,EAAE,CACtB,iDADsB,CAFE;AAKzB,GAAEc,UAAU,CAACQ,QAAb,GAAyBtB,EAAE,CAC1B,iEAD0B;AALF,CAA1B;AAUA,eAAe,SAASwB,YAAT,CAAuB;AAAEC,EAAAA,UAAF;AAAcC,EAAAA;AAAd,CAAvB,EAA8C;AAC5D,QAAMC,QAAQ,GAAGV,WAAW,EAA5B;AACA,QAAMW,OAAO,GAAGV,UAAU,EAA1B;AACA,QAAMW,gBAAgB,GAAGvB,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAAzC;AACA,QAAM,CAAEwB,WAAF,EAAeC,cAAf,EAA+BC,kBAA/B,IACLpB,iBAAiB,CAAE,EAAF,CADlB;AAEA,QAAMqB,mBAAmB,GAAGhD,gBAAgB,CAAE+C,kBAAF,CAA5C;AAEA,QAAM,CAAEE,UAAF,EAAcC,aAAd,IAAgCnD,QAAQ,CAAE,KAAF,CAA9C;AACA,QAAMoD,oBAAoB,GAAGnD,gBAAgB,CAAEiD,UAAF,CAA7C;AAEA,QAAMG,4BAA4B,GACjCX,IAAI,KAAKV,QAAT,IAAqBS,UAAU,KAAK,eADrC;AAGA,QAAM;AAAEa,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAA4B7B,WAAW,CAC5CgB,IAD4C,EAE5CW,4BAA4B,GAAG,EAAH,GAAQZ,UAFQ,EAG5C;AACCe,IAAAA,MAAM,EAAEP,mBADT;AAECQ,IAAAA,UAAU,EACTL,oBAAoB,KAAK,KAAzB,GACGM,SADH,GAEGN;AALL,GAH4C,CAA7C;AAYA,QAAMO,EAAE,GAAGzD,KAAK,EAAhB;AACA,QAAM0D,OAAO,GAAI,GAAGD,EAAI,QAAxB;AACA,QAAME,aAAa,GAAI,GAAGF,EAAI,cAA9B;AAEA,QAAMG,WAAW,GAAGR,QAAQ,CAACS,MAA7B;AACA,QAAMC,KAAK,GAAG7B,YAAY,CAAEe,UAAF,CAA1B;AACA,QAAMe,WAAW,GAAG1B,iBAAiB,CAAEW,UAAF,CAArC;AAEA,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,cAAD;AACC,IAAA,UAAU,EAAGT,UADd;AAEC,IAAA,IAAI,EAAGC,IAFR;AAGC,IAAA,OAAO,EAAGkB,OAHX;AAIC,IAAA,aAAa,EAAGC;AAJjB,IADD,EAQC,cAAC,IAAD;AAAM,IAAA,SAAS,EAAC,SAAhB;AAA0B,IAAA,IAAI;AAA9B,KACGhB,gBAAgB,IACjB,cAAC,aAAD;AACC,IAAA,IAAI,EAAG5B,KAAK,KAAKE,YAAL,GAAoBD,WADjC;AAEC,IAAA,KAAK,EAAGF,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,OAAO,EAAG,MAAM;AACf;AACA;AACA,UAAK2B,QAAQ,CAACuB,KAAT,EAAgBC,QAAhB,KAA6B,WAAlC,EAAgD;AAC/CvB,QAAAA,OAAO,CAACwB,IAAR;AACA,OAFD,MAEO;AACNxB,QAAAA,OAAO,CAACyB,IAAR,CAAc;AAAEC,UAAAA,IAAI,EAAE;AAAR,SAAd;AACA;AACD;AAXF,IAFF,EAgBC,cAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,KACC,cAAC,aAAD;AACC,IAAA,SAAS,EAAC,4BADX;AAEC,IAAA,QAAQ,EAAKC,KAAF,IAAaxB,cAAc,CAAEwB,KAAF,CAFvC;AAGC,IAAA,WAAW,EAAGvD,EAAE,CAAE,iBAAF,CAHjB;AAIC,IAAA,KAAK,EAAGA,EAAE,CAAE,iBAAF,CAJX;AAKC,IAAA,KAAK,EAAG8B,WALT;AAMC,IAAA,uBAAuB;AANxB,IADD,CAhBD,EA0BGL,UAAU,KAAKV,qBAAf,IACD,cAAC,kBAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,KAAK,EAAGf,EAAE,CAAE,uBAAF,CAHX;AAIC,IAAA,KAAK,EAAGkC,UAJT;AAKC,IAAA,OAAO,MALR;AAMC,IAAA,QAAQ,EAAKqB,KAAF,IAAapB,aAAa,CAAEoB,KAAF,CANtC;AAOC,IAAA,uBAAuB;AAPxB,KASGC,MAAM,CAACC,OAAP,CAAgBtC,YAAhB,EAA+BuC,GAA/B,CACD,CAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF,KACC,cAAC,wBAAD;AACC,IAAA,SAAS,EAAC,+CADX;AAEC,IAAA,GAAG,EAAGD,GAFP;AAGC,IAAA,KAAK,EAAGA,GAHT;AAIC,IAAA,KAAK,EAAGC;AAJT,IAFA,CATH,CA3BF,CARD,EAyDG1B,UAAU,KAAK,KAAf,IACD,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,cAAC,OAAD;AAAS,IAAA,EAAE,EAAC,IAAZ;AAAiB,IAAA,KAAK,EAAG,CAAzB;AAA6B,IAAA,EAAE,EAAGU;AAAlC,KACGI,KADH,CADD,EAIGC,WAAW,GACZ,cAAC,IAAD;AAAM,IAAA,OAAO,EAAC,OAAd;AAAsB,IAAA,EAAE,EAAC,GAAzB;AAA6B,IAAA,EAAE,EAAGJ;AAAlC,KACGI,WADH,CADY,GAIT,IARL,CA1DF,EAqEGH,WAAW,IACZ,cAAC,IAAD;AACC,IAAA,UAAU,EAAGrB,UADd;AAEC,IAAA,KAAK,EAAGa,QAFT;AAGC,uBAAkBM,OAHnB;AAIC,wBAAmBC;AAJpB,IAtEF,EA6EG,CAAEN,WAAF,IAAiB,CAAEO,WAAnB,IAAkC,cAAC,UAAD,OA7ErC,CADD;AAiFA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY, PATTERNS } from './utils';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ SYNC_TYPES.unsynced ]: __( 'Standard' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERNS && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\treturn (\n\t\t<VStack spacing={ 6 }>\n\t\t\t<PatternsHeader\n\t\t\t\tcategoryId={ categoryId }\n\t\t\t\ttype={ type }\n\t\t\t\ttitleId={ titleId }\n\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t/>\n\n\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\tif ( location.state?.backPath === '/patterns' ) {\n\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\tonChange={ ( value ) => setFilterValue( value ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t{ categoryId === USER_PATTERN_CATEGORY && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tonChange={ ( value ) => setSyncFilter( value ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t{ hasPatterns && (\n\t\t\t\t<Grid\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\titems={ patterns }\n\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t</VStack>\n\t);\n}\n"]}
@@ -70,7 +70,7 @@ const selectThemePatterns = (select, {
70
70
  const settings = getSettings();
71
71
  const blockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
72
72
  const restBlockPatterns = select(coreStore).getBlockPatterns();
73
- let patterns = [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !CORE_PATTERN_SOURCES.includes(pattern.source)).filter(filterOutDuplicatesByName).map(pattern => ({ ...pattern,
73
+ let patterns = [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !CORE_PATTERN_SOURCES.includes(pattern.source)).filter(filterOutDuplicatesByName).filter(pattern => pattern.inserter !== false).map(pattern => ({ ...pattern,
74
74
  keywords: pattern.keywords || [],
75
75
  type: 'pattern',
76
76
  blocks: parse(pattern.content)
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["parse","useSelect","store","coreStore","decodeEntities","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","isCustom","source","keywords","id","name","title","rendered","type","templatePartHasCategory","item","category","selectTemplatePartsAsPatterns","select","categoryId","search","getEntityRecords","getIsResolving","query","per_page","rawTemplateParts","templateParts","map","isResolving","patterns","hasCategory","selectThemePatterns","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","includes","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","full","selectUserPatterns","records","record","usePatterns","categoryType"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,mBAAtB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,SACCC,oBADD,EAECC,QAFD,EAGCC,UAHD,EAICC,cAJD,EAKCC,aALD,EAMCC,yBAND,QAOO,SAPP;AAQA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASV,KAAK,IAAIW,aAAlB,QAAuC,aAAvC;AAEA,MAAMC,kBAAkB,GAAG,EAA3B;;AAEA,MAAMC,oBAAoB,GAAG,CAAEC,KAAF,EAASC,IAAT,KAC5BD,KAAK,IAAIC,IAAT,GAAgBD,KAAK,GAAG,IAAR,GAAeC,IAA/B,GAAsC,IADvC;;AAGA,MAAMC,qBAAqB,GAAKC,YAAF,KAAsB;AACnDC,EAAAA,MAAM,EAAEpB,KAAK,CAAEmB,YAAY,CAACE,OAAb,CAAqBC,GAAvB,CADsC;AAEnDC,EAAAA,UAAU,EAAE,CAAEJ,YAAY,CAACK,IAAf,CAFuC;AAGnDC,EAAAA,WAAW,EAAEN,YAAY,CAACM,WAAb,IAA4B,EAHU;AAInDC,EAAAA,QAAQ,EAAEP,YAAY,CAACQ,MAAb,KAAwB,QAJiB;AAKnDC,EAAAA,QAAQ,EAAET,YAAY,CAACS,QAAb,IAAyB,EALgB;AAMnDC,EAAAA,EAAE,EAAEd,oBAAoB,CAAEI,YAAY,CAACH,KAAf,EAAsBG,YAAY,CAACF,IAAnC,CAN2B;AAOnDa,EAAAA,IAAI,EAAEf,oBAAoB,CAAEI,YAAY,CAACH,KAAf,EAAsBG,YAAY,CAACF,IAAnC,CAPyB;AAQnDc,EAAAA,KAAK,EAAE3B,cAAc,CAAEe,YAAY,CAACY,KAAb,CAAmBC,QAArB,CAR8B;AASnDC,EAAAA,IAAI,EAAEd,YAAY,CAACc,IATgC;AAUnDd,EAAAA;AAVmD,CAAtB,CAA9B;;AAaA,MAAMe,uBAAuB,GAAG,CAAEC,IAAF,EAAQC,QAAR,KAC/BD,IAAI,CAAChB,YAAL,CAAkBK,IAAlB,KAA2BY,QAD5B;;AAGA,MAAMC,6BAA6B,GAAG,CACrCC,MADqC,EAErC;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,MAAM,GAAG;AAAvB,IAA8B,EAFO,KAGjC;AAAA;;AACJ,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAuCJ,MAAM,CAAEnC,SAAF,CAAnD;AACA,QAAMwC,KAAK,GAAG;AAAEC,IAAAA,QAAQ,EAAE,CAAC;AAAb,GAAd;AACA,QAAMC,gBAAgB,wBACrBJ,gBAAgB,CAAE,UAAF,EAAcjC,cAAd,EAA8BmC,KAA9B,CADK,iEAErB7B,kBAFD;AAGA,QAAMgC,aAAa,GAAGD,gBAAgB,CAACE,GAAjB,CAAwB5B,YAAF,IAC3CD,qBAAqB,CAAEC,YAAF,CADA,CAAtB;AAIA,QAAM6B,WAAW,GAAGN,cAAc,CAAE,kBAAF,EAAsB,CACvD,UADuD,EAEvD,kBAFuD,EAGvDC,KAHuD,CAAtB,CAAlC;AAMA,QAAMM,QAAQ,GAAGrC,WAAW,CAAEkC,aAAF,EAAiBN,MAAjB,EAAyB;AACpDD,IAAAA,UADoD;AAEpDW,IAAAA,WAAW,EAAEhB;AAFuC,GAAzB,CAA5B;AAKA,SAAO;AAAEe,IAAAA,QAAF;AAAYD,IAAAA;AAAZ,GAAP;AACA,CAzBD;;AA2BA,MAAMG,mBAAmB,GAAG,CAAEb,MAAF,EAAU;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,MAAM,GAAG;AAAvB,IAA8B,EAAxC,KAAgD;AAAA;;AAC3E,QAAM;AAAEY,IAAAA;AAAF,MAAkBzC,MAAM,CAAE2B,MAAM,CAAEzB,aAAF,CAAR,CAA9B;AACA,QAAMwC,QAAQ,GAAGD,WAAW,EAA5B;AACA,QAAME,aAAa,4BAClBD,QAAQ,CAACE,qCADS,yEAElBF,QAAQ,CAACG,2BAFV;AAIA,QAAMC,iBAAiB,GAAGnB,MAAM,CAAEnC,SAAF,CAAN,CAAoBuD,gBAApB,EAA1B;AAEA,MAAIT,QAAQ,GAAG,CACd,IAAKK,aAAa,IAAI,EAAtB,CADc,EAEd,IAAKG,iBAAiB,IAAI,EAA1B,CAFc,EAIbE,MAJa,CAKXC,OAAF,IAAe,CAAEvD,oBAAoB,CAACwD,QAArB,CAA+BD,OAAO,CAACjC,MAAvC,CALJ,EAObgC,MAPa,CAOLjD,yBAPK,EAQbqC,GARa,CAQNa,OAAF,KAAiB,EACtB,GAAGA,OADmB;AAEtBhC,IAAAA,QAAQ,EAAEgC,OAAO,CAAChC,QAAR,IAAoB,EAFR;AAGtBK,IAAAA,IAAI,EAAE,SAHgB;AAItBb,IAAAA,MAAM,EAAEpB,KAAK,CAAE4D,OAAO,CAACvC,OAAV;AAJS,GAAjB,CARQ,CAAf;;AAeA,MAAKkB,UAAL,EAAkB;AACjBU,IAAAA,QAAQ,GAAGrC,WAAW,CAAEqC,QAAF,EAAYT,MAAZ,EAAoB;AACzCD,MAAAA,UADyC;AAEzCW,MAAAA,WAAW,EAAE,CAAEf,IAAF,EAAQ2B,eAAR,KACZ3B,IAAI,CAACZ,UAAL,EAAiBsC,QAAjB,CAA2BC,eAA3B;AAHwC,KAApB,CAAtB;AAKA,GAND,MAMO;AACNb,IAAAA,QAAQ,GAAGrC,WAAW,CAAEqC,QAAF,EAAYT,MAAZ,EAAoB;AACzCU,MAAAA,WAAW,EAAIf,IAAF,IAAY,CAAEA,IAAI,CAAC4B,cAAL,CAAqB,YAArB;AADc,KAApB,CAAtB;AAGA;;AAED,SAAO;AAAEd,IAAAA,QAAF;AAAYD,IAAAA,WAAW,EAAE;AAAzB,GAAP;AACA,CArCD;;AAuCA,MAAMgB,sBAAsB,GAAKC,aAAF,KAAuB;AACrD7C,EAAAA,MAAM,EAAEpB,KAAK,CAAEiE,aAAa,CAAC5C,OAAd,CAAsBC,GAAxB,CADwC;AAErDC,EAAAA,UAAU,EAAE0C,aAAa,CAACC,UAF2B;AAGrDrC,EAAAA,EAAE,EAAEoC,aAAa,CAACpC,EAHmC;AAIrDC,EAAAA,IAAI,EAAEmC,aAAa,CAAChD,IAJiC;AAKrDkD,EAAAA,UAAU,EAAEF,aAAa,CAACG,sBAAd,IAAwC7D,UAAU,CAAC8D,IALV;AAMrDtC,EAAAA,KAAK,EAAEkC,aAAa,CAAClC,KAAd,CAAoBT,GAN0B;AAOrDW,EAAAA,IAAI,EAAEgC,aAAa,CAAChC,IAPiC;AAQrDgC,EAAAA;AARqD,CAAvB,CAA/B;;AAWA,MAAMK,kBAAkB,GAAG,CAAEhC,MAAF,EAAU;AAAEE,EAAAA,MAAM,GAAG,EAAX;AAAe2B,EAAAA;AAAf,IAA8B,EAAxC,KAAgD;AAC1E,QAAM;AAAE1B,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAuCJ,MAAM,CAAEnC,SAAF,CAAnD;AAEA,QAAMwC,KAAK,GAAG;AAAEC,IAAAA,QAAQ,EAAE,CAAC;AAAb,GAAd;AACA,QAAM2B,OAAO,GAAG9B,gBAAgB,CAAE,UAAF,EAAchC,aAAd,EAA6BkC,KAA7B,CAAhC;AAEA,MAAIM,QAAQ,GAAGsB,OAAO,GACnBA,OAAO,CAACxB,GAAR,CAAeyB,MAAF,IAAcR,sBAAsB,CAAEQ,MAAF,CAAjD,CADmB,GAEnB1D,kBAFH;AAGA,QAAMkC,WAAW,GAAGN,cAAc,CAAE,kBAAF,EAAsB,CACvD,UADuD,EAEvDjC,aAFuD,EAGvDkC,KAHuD,CAAtB,CAAlC;;AAMA,MAAKwB,UAAL,EAAkB;AACjBlB,IAAAA,QAAQ,GAAGA,QAAQ,CAACU,MAAT,CACRC,OAAF,IAAeA,OAAO,CAACO,UAAR,KAAuBA,UAD5B,CAAX;AAGA;;AAEDlB,EAAAA,QAAQ,GAAGrC,WAAW,CAAEqC,QAAF,EAAYT,MAAZ,EAAoB;AACzC;AACA;AACA;AACAU,IAAAA,WAAW,EAAE,MAAM;AAJsB,GAApB,CAAtB;AAOA,SAAO;AAAED,IAAAA,QAAF;AAAYD,IAAAA;AAAZ,GAAP;AACA,CA7BD;;AA+BA,OAAO,MAAMyB,WAAW,GAAG,CAC1BC,YAD0B,EAE1BnC,UAF0B,EAG1B;AAAEC,EAAAA,MAAM,GAAG,EAAX;AAAe2B,EAAAA;AAAf,CAH0B,KAItB;AACJ,SAAOlE,SAAS,CACbqC,MAAF,IAAc;AACb,QAAKoC,YAAY,KAAKlE,cAAtB,EAAuC;AACtC,aAAO6B,6BAA6B,CAAEC,MAAF,EAAU;AAC7CC,QAAAA,UAD6C;AAE7CC,QAAAA;AAF6C,OAAV,CAApC;AAIA,KALD,MAKO,IAAKkC,YAAY,KAAKpE,QAAtB,EAAiC;AACvC,aAAO6C,mBAAmB,CAAEb,MAAF,EAAU;AAAEC,QAAAA,UAAF;AAAcC,QAAAA;AAAd,OAAV,CAA1B;AACA,KAFM,MAEA,IAAKkC,YAAY,KAAKjE,aAAtB,EAAsC;AAC5C,aAAO6D,kBAAkB,CAAEhC,MAAF,EAAU;AAAEE,QAAAA,MAAF;AAAU2B,QAAAA;AAAV,OAAV,CAAzB;AACA;;AACD,WAAO;AAAElB,MAAAA,QAAQ,EAAEnC,kBAAZ;AAAgCkC,MAAAA,WAAW,EAAE;AAA7C,KAAP;AACA,GAbc,EAcf,CAAET,UAAF,EAAcmC,YAAd,EAA4BlC,MAA5B,EAAoC2B,UAApC,CAde,CAAhB;AAgBA,CArBM;AAuBP,eAAeM,WAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst templatePartHasCategory = ( item, category ) =>\n\titem.templatePart.area === category;\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus }\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["parse","useSelect","store","coreStore","decodeEntities","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","isCustom","source","keywords","id","name","title","rendered","type","templatePartHasCategory","item","category","selectTemplatePartsAsPatterns","select","categoryId","search","getEntityRecords","getIsResolving","query","per_page","rawTemplateParts","templateParts","map","isResolving","patterns","hasCategory","selectThemePatterns","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","includes","inserter","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","full","selectUserPatterns","records","record","usePatterns","categoryType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst templatePartHasCategory = ( item, category ) =>\n\titem.templatePart.area === category;\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus }\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"]}
@@ -31,8 +31,7 @@ export default function PageTemplateParts() {
31
31
  }, createElement(Link, {
32
32
  params: {
33
33
  postId: templatePart.id,
34
- postType: templatePart.type,
35
- canvas: 'view'
34
+ postType: templatePart.type
36
35
  },
37
36
  state: {
38
37
  backPath: '/wp_template_part/all'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","PageTemplateParts","records","templateParts","per_page","columns","header","cell","templatePart","postId","id","postType","type","canvas","backPath","title","rendered","slug","maxWidth"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,cADD,EAECC,qBAAqB,IAAIC,OAF1B,EAGCC,oBAAoB,IAAIC,MAHzB,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AAEA,eAAe,SAASC,iBAAT,GAA6B;AAC3C,QAAM;AAAEC,IAAAA,OAAO,EAAEC;AAAX,MAA6BV,gBAAgB,CAClD,UADkD,EAElD,kBAFkD,EAGlD;AACCW,IAAAA,QAAQ,EAAE,CAAC;AADZ,GAHkD,CAAnD;AAQA,QAAMC,OAAO,GAAG,CACf;AACCC,IAAAA,MAAM,EAAEd,EAAE,CAAE,eAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,MAAD,QACC,cAAC,OAAD;AAAS,MAAA,EAAE,EAAC,IAAZ;AAAiB,MAAA,KAAK,EAAG;AAAzB,OACC,cAAC,IAAD;AACC,MAAA,MAAM,EAAG;AACRC,QAAAA,MAAM,EAAED,YAAY,CAACE,EADb;AAERC,QAAAA,QAAQ,EAAEH,YAAY,CAACI,IAFf;AAGRC,QAAAA,MAAM,EAAE;AAHA,OADV;AAMC,MAAA,KAAK,EAAG;AAAEC,QAAAA,QAAQ,EAAE;AAAZ;AANT,OAQGpB,cAAc,CACfc,YAAY,CAACO,KAAb,EAAoBC,QAApB,IACCR,YAAY,CAACS,IAFC,CARjB,CADD,CADD,CAHF;AAqBCC,IAAAA,QAAQ,EAAE;AArBX,GADe,EAwBf;AACCZ,IAAAA,MAAM,EAAEd,EAAE,CAAE,UAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,OAAD;AACC,MAAA,QAAQ,EAAGA,YAAY,CAACI,IADzB;AAEC,MAAA,MAAM,EAAGJ,YAAY,CAACE;AAFvB;AAHF,GAxBe,EAiCf;AACCJ,IAAAA,MAAM,EAAE,cAAC,cAAD,QAAkBd,EAAE,CAAE,SAAF,CAApB,CADT;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,eAAD;AACC,MAAA,QAAQ,EAAGA,YAAY,CAACI,IADzB;AAEC,MAAA,MAAM,EAAGJ,YAAY,CAACE;AAFvB;AAHF,GAjCe,CAAhB;AA4CA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGlB,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAG,cAAC,kBAAD;AAFX,KAIGW,aAAa,IACd,cAAC,KAAD;AAAO,IAAA,IAAI,EAAGA,aAAd;AAA8B,IAAA,OAAO,EAAGE;AAAxC,IALF,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\n\nexport default function PageTemplateParts() {\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template Part' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\t\tpostType: templatePart.type,\n\t\t\t\t\t\t\t\tcanvas: 'view',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstate={ { backPath: '/wp_template_part/all' } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplatePart.title?.rendered ||\n\t\t\t\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<AddedBy\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\tactions={ <AddNewTemplatePart /> }\n\t\t>\n\t\t\t{ templateParts && (\n\t\t\t\t<Table data={ templateParts } columns={ columns } />\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","PageTemplateParts","records","templateParts","per_page","columns","header","cell","templatePart","postId","id","postType","type","backPath","title","rendered","slug","maxWidth"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,cADD,EAECC,qBAAqB,IAAIC,OAF1B,EAGCC,oBAAoB,IAAIC,MAHzB,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AAEA,eAAe,SAASC,iBAAT,GAA6B;AAC3C,QAAM;AAAEC,IAAAA,OAAO,EAAEC;AAAX,MAA6BV,gBAAgB,CAClD,UADkD,EAElD,kBAFkD,EAGlD;AACCW,IAAAA,QAAQ,EAAE,CAAC;AADZ,GAHkD,CAAnD;AAQA,QAAMC,OAAO,GAAG,CACf;AACCC,IAAAA,MAAM,EAAEd,EAAE,CAAE,eAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,MAAD,QACC,cAAC,OAAD;AAAS,MAAA,EAAE,EAAC,IAAZ;AAAiB,MAAA,KAAK,EAAG;AAAzB,OACC,cAAC,IAAD;AACC,MAAA,MAAM,EAAG;AACRC,QAAAA,MAAM,EAAED,YAAY,CAACE,EADb;AAERC,QAAAA,QAAQ,EAAEH,YAAY,CAACI;AAFf,OADV;AAKC,MAAA,KAAK,EAAG;AAAEC,QAAAA,QAAQ,EAAE;AAAZ;AALT,OAOGnB,cAAc,CACfc,YAAY,CAACM,KAAb,EAAoBC,QAApB,IACCP,YAAY,CAACQ,IAFC,CAPjB,CADD,CADD,CAHF;AAoBCC,IAAAA,QAAQ,EAAE;AApBX,GADe,EAuBf;AACCX,IAAAA,MAAM,EAAEd,EAAE,CAAE,UAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,OAAD;AACC,MAAA,QAAQ,EAAGA,YAAY,CAACI,IADzB;AAEC,MAAA,MAAM,EAAGJ,YAAY,CAACE;AAFvB;AAHF,GAvBe,EAgCf;AACCJ,IAAAA,MAAM,EAAE,cAAC,cAAD,QAAkBd,EAAE,CAAE,SAAF,CAApB,CADT;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,eAAD;AACC,MAAA,QAAQ,EAAGA,YAAY,CAACI,IADzB;AAEC,MAAA,MAAM,EAAGJ,YAAY,CAACE;AAFvB;AAHF,GAhCe,CAAhB;AA2CA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGlB,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAG,cAAC,kBAAD;AAFX,KAIGW,aAAa,IACd,cAAC,KAAD;AAAO,IAAA,IAAI,EAAGA,aAAd;AAA8B,IAAA,OAAO,EAAGE;AAAxC,IALF,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\n\nexport default function PageTemplateParts() {\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template Part' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\t\tpostType: templatePart.type,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstate={ { backPath: '/wp_template_part/all' } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplatePart.title?.rendered ||\n\t\t\t\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<AddedBy\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\tactions={ <AddNewTemplatePart /> }\n\t\t>\n\t\t\t{ templateParts && (\n\t\t\t\t<Table data={ templateParts } columns={ columns } />\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"]}