@wordpress/edit-site 6.11.0 → 6.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/app/index.js +0 -2
  3. package/build/components/app/index.js.map +1 -1
  4. package/build/components/block-editor/use-editor-iframe-props.js +6 -8
  5. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  6. package/build/components/editor/index.js +9 -4
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/editor/use-editor-title.js +29 -12
  9. package/build/components/editor/use-editor-title.js.map +1 -1
  10. package/build/components/global-styles/screen-revisions/revisions-buttons.js +24 -22
  11. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  12. package/build/components/global-styles/shadows-edit-panel.js +2 -3
  13. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  14. package/build/components/global-styles/ui.js +42 -2
  15. package/build/components/global-styles/ui.js.map +1 -1
  16. package/build/components/global-styles-renderer/index.js +6 -8
  17. package/build/components/global-styles-renderer/index.js.map +1 -1
  18. package/build/components/layout/hooks.js +1 -10
  19. package/build/components/layout/hooks.js.map +1 -1
  20. package/build/components/layout/index.js +1 -0
  21. package/build/components/layout/index.js.map +1 -1
  22. package/build/components/page-patterns/fields.js +3 -7
  23. package/build/components/page-patterns/fields.js.map +1 -1
  24. package/build/components/page-templates/fields.js +1 -2
  25. package/build/components/page-templates/fields.js.map +1 -1
  26. package/build/components/post-edit/index.js +14 -8
  27. package/build/components/post-edit/index.js.map +1 -1
  28. package/build/components/post-fields/index.js +3 -197
  29. package/build/components/post-fields/index.js.map +1 -1
  30. package/build/components/post-list/index.js +11 -1
  31. package/build/components/post-list/index.js.map +1 -1
  32. package/build/components/sidebar/index.js +11 -3
  33. package/build/components/sidebar/index.js.map +1 -1
  34. package/build/components/sidebar-global-styles-wrapper/index.js +129 -0
  35. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  36. package/build/components/sidebar-navigation-screen-global-styles/index.js +14 -72
  37. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  38. package/build/components/sidebar-navigation-screen-main/index.js +43 -42
  39. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  40. package/build/components/site-editor-routes/styles-edit.js +6 -1
  41. package/build/components/site-editor-routes/styles-edit.js.map +1 -1
  42. package/build/components/site-editor-routes/styles-view.js +8 -2
  43. package/build/components/site-editor-routes/styles-view.js.map +1 -1
  44. package/build/components/site-hub/index.js +19 -6
  45. package/build/components/site-hub/index.js.map +1 -1
  46. package/build/components/style-book/constants.js +10 -3
  47. package/build/components/style-book/constants.js.map +1 -1
  48. package/build/components/style-book/examples.js +71 -1
  49. package/build/components/style-book/examples.js.map +1 -1
  50. package/build/components/style-book/index.js +70 -11
  51. package/build/components/style-book/index.js.map +1 -1
  52. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +32 -32
  53. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  54. package/build/components/welcome-guide/index.js +4 -2
  55. package/build/components/welcome-guide/index.js.map +1 -1
  56. package/build/components/welcome-guide/page.js +1 -9
  57. package/build/components/welcome-guide/page.js.map +1 -1
  58. package/build/components/welcome-guide/template.js +1 -12
  59. package/build/components/welcome-guide/template.js.map +1 -1
  60. package/build/hooks/commands/use-common-commands.js +15 -15
  61. package/build/hooks/commands/use-common-commands.js.map +1 -1
  62. package/build/index.js +1 -0
  63. package/build/index.js.map +1 -1
  64. package/build/posts.js +1 -0
  65. package/build/posts.js.map +1 -1
  66. package/build-module/components/app/index.js +0 -2
  67. package/build-module/components/app/index.js.map +1 -1
  68. package/build-module/components/block-editor/use-editor-iframe-props.js +6 -8
  69. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  70. package/build-module/components/editor/index.js +9 -4
  71. package/build-module/components/editor/index.js.map +1 -1
  72. package/build-module/components/editor/use-editor-title.js +29 -12
  73. package/build-module/components/editor/use-editor-title.js.map +1 -1
  74. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +25 -23
  75. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  76. package/build-module/components/global-styles/shadows-edit-panel.js +2 -3
  77. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  78. package/build-module/components/global-styles/ui.js +43 -3
  79. package/build-module/components/global-styles/ui.js.map +1 -1
  80. package/build-module/components/global-styles-renderer/index.js +6 -8
  81. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  82. package/build-module/components/layout/hooks.js +1 -9
  83. package/build-module/components/layout/hooks.js.map +1 -1
  84. package/build-module/components/layout/index.js +1 -0
  85. package/build-module/components/layout/index.js.map +1 -1
  86. package/build-module/components/page-patterns/fields.js +4 -8
  87. package/build-module/components/page-patterns/fields.js.map +1 -1
  88. package/build-module/components/page-templates/fields.js +1 -2
  89. package/build-module/components/page-templates/fields.js.map +1 -1
  90. package/build-module/components/post-edit/index.js +14 -8
  91. package/build-module/components/post-edit/index.js.map +1 -1
  92. package/build-module/components/post-fields/index.js +7 -202
  93. package/build-module/components/post-fields/index.js.map +1 -1
  94. package/build-module/components/post-list/index.js +11 -1
  95. package/build-module/components/post-list/index.js.map +1 -1
  96. package/build-module/components/sidebar/index.js +11 -3
  97. package/build-module/components/sidebar/index.js.map +1 -1
  98. package/build-module/components/sidebar-global-styles-wrapper/index.js +121 -0
  99. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  100. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +15 -73
  101. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  102. package/build-module/components/sidebar-navigation-screen-main/index.js +43 -43
  103. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  104. package/build-module/components/site-editor-routes/styles-edit.js +6 -1
  105. package/build-module/components/site-editor-routes/styles-edit.js.map +1 -1
  106. package/build-module/components/site-editor-routes/styles-view.js +8 -2
  107. package/build-module/components/site-editor-routes/styles-view.js.map +1 -1
  108. package/build-module/components/site-hub/index.js +19 -6
  109. package/build-module/components/site-hub/index.js.map +1 -1
  110. package/build-module/components/style-book/constants.js +10 -3
  111. package/build-module/components/style-book/constants.js.map +1 -1
  112. package/build-module/components/style-book/examples.js +71 -1
  113. package/build-module/components/style-book/examples.js.map +1 -1
  114. package/build-module/components/style-book/index.js +71 -12
  115. package/build-module/components/style-book/index.js.map +1 -1
  116. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +32 -32
  117. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  118. package/build-module/components/welcome-guide/index.js +4 -2
  119. package/build-module/components/welcome-guide/index.js.map +1 -1
  120. package/build-module/components/welcome-guide/page.js +1 -9
  121. package/build-module/components/welcome-guide/page.js.map +1 -1
  122. package/build-module/components/welcome-guide/template.js +1 -11
  123. package/build-module/components/welcome-guide/template.js.map +1 -1
  124. package/build-module/hooks/commands/use-common-commands.js +15 -15
  125. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  126. package/build-module/index.js +1 -0
  127. package/build-module/index.js.map +1 -1
  128. package/build-module/posts.js +1 -0
  129. package/build-module/posts.js.map +1 -1
  130. package/build-style/posts-rtl.css +54 -5
  131. package/build-style/posts.css +54 -5
  132. package/build-style/style-rtl.css +109 -28
  133. package/build-style/style.css +109 -28
  134. package/package.json +3 -4
  135. package/src/components/app/index.js +0 -2
  136. package/src/components/block-editor/use-editor-iframe-props.js +2 -3
  137. package/src/components/editor/index.js +16 -4
  138. package/src/components/editor/use-editor-title.js +37 -13
  139. package/src/components/editor-canvas-container/style.scss +0 -1
  140. package/src/components/global-styles/screen-revisions/revisions-buttons.js +28 -31
  141. package/src/components/global-styles/screen-revisions/style.scss +11 -17
  142. package/src/components/global-styles/shadows-edit-panel.js +4 -2
  143. package/src/components/global-styles/ui.js +42 -2
  144. package/src/components/global-styles-renderer/index.js +4 -10
  145. package/src/components/layout/hooks.js +1 -7
  146. package/src/components/layout/index.js +6 -1
  147. package/src/components/page-patterns/fields.js +6 -12
  148. package/src/components/page-patterns/style.scss +0 -5
  149. package/src/components/page-templates/fields.js +2 -3
  150. package/src/components/post-edit/index.js +38 -30
  151. package/src/components/post-edit/style.scss +7 -0
  152. package/src/components/post-fields/index.js +19 -273
  153. package/src/components/post-list/index.js +9 -3
  154. package/src/components/post-list/style.scss +29 -3
  155. package/src/components/sidebar/index.js +23 -7
  156. package/src/components/sidebar-global-styles-wrapper/index.js +150 -0
  157. package/src/components/sidebar-global-styles-wrapper/style.scss +35 -0
  158. package/src/components/sidebar-navigation-item/style.scss +2 -2
  159. package/src/components/sidebar-navigation-screen-global-styles/index.js +13 -88
  160. package/src/components/sidebar-navigation-screen-main/index.js +46 -45
  161. package/src/components/site-editor-routes/styles-edit.js +10 -1
  162. package/src/components/site-editor-routes/styles-view.js +11 -1
  163. package/src/components/site-hub/index.js +33 -16
  164. package/src/components/site-icon/style.scss +16 -0
  165. package/src/components/style-book/constants.ts +11 -3
  166. package/src/components/style-book/examples.tsx +105 -1
  167. package/src/components/style-book/index.js +86 -8
  168. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +54 -64
  169. package/src/components/welcome-guide/index.js +3 -3
  170. package/src/components/welcome-guide/page.js +1 -7
  171. package/src/components/welcome-guide/template.js +1 -8
  172. package/src/hooks/commands/use-common-commands.js +253 -246
  173. package/src/index.js +1 -0
  174. package/src/posts.js +1 -0
  175. package/src/style.scss +2 -3
  176. package/build/components/async/index.js +0 -51
  177. package/build/components/async/index.js.map +0 -1
  178. package/build/components/use-edited-entity-record/index.js +0 -60
  179. package/build/components/use-edited-entity-record/index.js.map +0 -1
  180. package/build/hooks/commands/use-edit-mode-commands.js +0 -179
  181. package/build/hooks/commands/use-edit-mode-commands.js.map +0 -1
  182. package/build-module/components/async/index.js +0 -44
  183. package/build-module/components/async/index.js.map +0 -1
  184. package/build-module/components/use-edited-entity-record/index.js +0 -53
  185. package/build-module/components/use-edited-entity-record/index.js.map +0 -1
  186. package/build-module/hooks/commands/use-edit-mode-commands.js +0 -171
  187. package/build-module/hooks/commands/use-edit-mode-commands.js.map +0 -1
  188. package/src/components/async/index.js +0 -43
  189. package/src/components/use-edited-entity-record/index.js +0 -58
  190. package/src/hooks/commands/use-edit-mode-commands.js +0 -168
@@ -48,6 +48,44 @@ function isObjectEmpty(object) {
48
48
  return !object || Object.keys(object).length === 0;
49
49
  }
50
50
 
51
+ /**
52
+ * Scrolls to a section within an iframe.
53
+ *
54
+ * @param {string} anchorId The id of the element to scroll to.
55
+ * @param {HTMLIFrameElement} iframe The target iframe.
56
+ */
57
+ const scrollToSection = (anchorId, iframe) => {
58
+ if (!iframe || !iframe?.contentDocument) {
59
+ return;
60
+ }
61
+ const element = iframe.contentDocument.getElementById(anchorId);
62
+ if (element) {
63
+ element.scrollIntoView({
64
+ behavior: 'smooth'
65
+ });
66
+ }
67
+ };
68
+
69
+ /**
70
+ * Parses a Block Editor navigation path to extract the block name and
71
+ * build a style book navigation path. The object can be extended to include a category,
72
+ * representing a style book tab/section.
73
+ *
74
+ * @param {string} path An internal Block Editor navigation path.
75
+ * @return {null|{block: string}} An object containing the example to navigate to.
76
+ */
77
+ const getStyleBookNavigationFromPath = path => {
78
+ if (path && typeof path === 'string') {
79
+ let block = path.includes('/blocks/') ? decodeURIComponent(path.split('/blocks/')[1]) : null;
80
+ // Default to theme-colors if the path ends with /colors.
81
+ block = path.endsWith('/colors') ? 'theme-colors' : block;
82
+ return {
83
+ block
84
+ };
85
+ }
86
+ return null;
87
+ };
88
+
51
89
  /**
52
90
  * Retrieves colors, gradients, and duotone filters from Global Styles.
53
91
  * The inclusion of default (Core) palettes is controlled by the relevant
@@ -102,7 +140,8 @@ function StyleBook({
102
140
  showCloseButton = true,
103
141
  onClose,
104
142
  showTabs = true,
105
- userConfig = {}
143
+ userConfig = {},
144
+ path = ''
106
145
  }) {
107
146
  const [resizeObserver, sizes] = (0, _compose.useResizeObserver)();
108
147
  const [textColor] = useGlobalStyle('color.text');
@@ -110,9 +149,19 @@ function StyleBook({
110
149
  const colors = useMultiOriginPalettes();
111
150
  const examples = (0, _element.useMemo)(() => (0, _examples.getExamples)(colors), [colors]);
112
151
  const tabs = (0, _element.useMemo)(() => (0, _categories.getTopLevelStyleBookCategories)().filter(category => examples.some(example => example.category === category.slug)), [examples]);
152
+ const examplesForSinglePageUse = [];
153
+ const overviewCategoryExamples = (0, _categories.getExamplesByCategory)({
154
+ slug: 'overview'
155
+ }, examples);
156
+ examplesForSinglePageUse.push(...overviewCategoryExamples.examples);
157
+ const otherExamples = examples.filter(example => {
158
+ return example.category !== 'overview' && !overviewCategoryExamples.examples.find(overviewExample => overviewExample.name === example.name);
159
+ });
160
+ examplesForSinglePageUse.push(...otherExamples);
113
161
  const {
114
162
  base: baseConfig
115
163
  } = (0, _element.useContext)(GlobalStylesContext);
164
+ const goTo = getStyleBookNavigationFromPath(path);
116
165
  const mergedConfig = (0, _element.useMemo)(() => {
117
166
  if (!isObjectEmpty(userConfig) && !isObjectEmpty(baseConfig)) {
118
167
  return mergeBaseAndUserConfigs(baseConfig, userConfig);
@@ -162,16 +211,18 @@ function StyleBook({
162
211
  onSelect: onSelect,
163
212
  settings: settings,
164
213
  sizes: sizes,
165
- title: tab.title
214
+ title: tab.title,
215
+ goTo: goTo
166
216
  })
167
217
  }, tab.slug))]
168
218
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(StyleBookBody, {
169
- examples: examples,
219
+ examples: examplesForSinglePageUse,
170
220
  isSelected: isSelected,
171
221
  onClick: onClick,
172
222
  onSelect: onSelect,
173
223
  settings: settings,
174
- sizes: sizes
224
+ sizes: sizes,
225
+ goTo: goTo
175
226
  })]
176
227
  })
177
228
  });
@@ -184,10 +235,12 @@ const StyleBookBody = ({
184
235
  onSelect,
185
236
  settings,
186
237
  sizes,
187
- title
238
+ title,
239
+ goTo
188
240
  }) => {
189
241
  const [isFocused, setIsFocused] = (0, _element.useState)(false);
190
-
242
+ const [hasIframeLoaded, setHasIframeLoaded] = (0, _element.useState)(false);
243
+ const iframeRef = (0, _element.useRef)(null);
191
244
  // The presence of an `onClick` prop indicates that the Style Book is being used as a button.
192
245
  // In this case, add additional props to the iframe to make it behave like a button.
193
246
  const buttonModeProps = {
@@ -217,7 +270,15 @@ const StyleBookBody = ({
217
270
  },
218
271
  readonly: true
219
272
  };
273
+ const handleLoad = () => setHasIframeLoaded(true);
274
+ (0, _element.useLayoutEffect)(() => {
275
+ if (goTo?.block && hasIframeLoaded && iframeRef?.current) {
276
+ scrollToSection(`example-${goTo?.block}`, iframeRef?.current);
277
+ }
278
+ }, [iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded]);
220
279
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.__unstableIframe, {
280
+ onLoad: handleLoad,
281
+ ref: iframeRef,
221
282
  className: (0, _clsx.default)('edit-site-style-book__iframe', {
222
283
  'is-focused': isFocused && !!onClick,
223
284
  'is-button': !!onClick
@@ -265,10 +326,8 @@ const Examples = (0, _element.memo)(({
265
326
  title: example.title,
266
327
  content: example.content,
267
328
  blocks: example.blocks,
268
- isSelected: isSelected(example.name),
269
- onClick: () => {
270
- onSelect?.(example.name);
271
- }
329
+ isSelected: isSelected?.(example.name),
330
+ onClick: () => onSelect?.(example.name)
272
331
  }, example.name)), !!filteredExamples?.subcategories?.length && filteredExamples.subcategories.map(subcategory => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Composite.Group, {
273
332
  className: "edit-site-style-book__subcategory",
274
333
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.GroupLabel, {
@@ -294,7 +353,7 @@ const Subcategory = ({
294
353
  title: example.title,
295
354
  content: example.content,
296
355
  blocks: example.blocks,
297
- isSelected: isSelected(example.name),
356
+ isSelected: isSelected?.(example.name),
298
357
  onClick: () => {
299
358
  onSelect?.(example.name);
300
359
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_blockEditor","_editor","_data","_compose","_element","_keycodes","_lockUnlock","_editorCanvasContainer","_constants","_categories","_examples","_jsxRuntime","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","editorPrivateApis","Tabs","componentsPrivateApis","isObjectEmpty","object","Object","keys","length","useMultiOriginPalettes","colors","gradients","useMultipleOriginColorsAndGradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","useSettings","palettes","useMemo","result","duotones","push","name","_x","slug","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","useResizeObserver","textColor","backgroundColor","examples","getExamples","tabs","getTopLevelStyleBookCategories","filter","category","some","example","base","baseConfig","useContext","mergedConfig","originalSettings","useSelect","select","blockEditorStore","getSettings","globalStyles","settings","styles","isPreviewMode","jsx","default","closeButtonLabel","__","children","jsxs","className","clsx","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","useState","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","ENTER","SPACE","preventDefault","readonly","__unstableIframe","tabIndex","__unstableEditorStyles","STYLE_BOOK_IFRAME_STYLES","Examples","label","sprintf","memo","categoryDefinition","find","_category","filteredExamples","getExamplesByCategory","Composite","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","includes","disabled","accessibleWhenDisabled","Item","render","Disabled","value","BlockList","renderAppender","_default","exports"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo, useContext } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\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{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps = disabledExamples.includes( id )\n\t\t? {\n\t\t\t\tdisabled: true,\n\t\t\t\taccessibleWhenDisabled: true,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_blockEditor","_editor","_data","_compose","_element","_keycodes","_lockUnlock","_editorCanvasContainer","_constants","_categories","_examples","_jsxRuntime","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","editorPrivateApis","Tabs","componentsPrivateApis","isObjectEmpty","object","Object","keys","length","scrollToSection","anchorId","iframe","contentDocument","element","getElementById","scrollIntoView","behavior","getStyleBookNavigationFromPath","path","block","includes","decodeURIComponent","split","endsWith","useMultiOriginPalettes","colors","gradients","useMultipleOriginColorsAndGradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","useSettings","palettes","useMemo","result","duotones","push","name","_x","slug","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","useResizeObserver","textColor","backgroundColor","examples","getExamples","tabs","getTopLevelStyleBookCategories","filter","category","some","example","examplesForSinglePageUse","overviewCategoryExamples","getExamplesByCategory","otherExamples","find","overviewExample","base","baseConfig","useContext","goTo","mergedConfig","originalSettings","useSelect","select","blockEditorStore","getSettings","globalStyles","settings","styles","isPreviewMode","jsx","default","closeButtonLabel","__","children","jsxs","className","clsx","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","useState","hasIframeLoaded","setHasIframeLoaded","iframeRef","useRef","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","ENTER","SPACE","preventDefault","readonly","handleLoad","useLayoutEffect","current","__unstableIframe","onLoad","ref","tabIndex","__unstableEditorStyles","STYLE_BOOK_IFRAME_STYLES","Examples","label","sprintf","memo","categoryDefinition","_category","filteredExamples","Composite","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","disabled","accessibleWhenDisabled","Item","render","Disabled","value","BlockList","renderAppender","_default","exports"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport {\n\tuseMemo,\n\tuseState,\n\tmemo,\n\tuseContext,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Scrolls to a section within an iframe.\n *\n * @param {string} anchorId The id of the element to scroll to.\n * @param {HTMLIFrameElement} iframe The target iframe.\n */\nconst scrollToSection = ( anchorId, iframe ) => {\n\tif ( ! iframe || ! iframe?.contentDocument ) {\n\t\treturn;\n\t}\n\n\tconst element = iframe.contentDocument.getElementById( anchorId );\n\tif ( element ) {\n\t\telement.scrollIntoView( {\n\t\t\tbehavior: 'smooth',\n\t\t} );\n\t}\n};\n\n/**\n * Parses a Block Editor navigation path to extract the block name and\n * build a style book navigation path. The object can be extended to include a category,\n * representing a style book tab/section.\n *\n * @param {string} path An internal Block Editor navigation path.\n * @return {null|{block: string}} An object containing the example to navigate to.\n */\nconst getStyleBookNavigationFromPath = ( path ) => {\n\tif ( path && typeof path === 'string' ) {\n\t\tlet block = path.includes( '/blocks/' )\n\t\t\t? decodeURIComponent( path.split( '/blocks/' )[ 1 ] )\n\t\t\t: null;\n\t\t// Default to theme-colors if the path ends with /colors.\n\t\tblock = path.endsWith( '/colors' ) ? 'theme-colors' : block;\n\n\t\treturn {\n\t\t\tblock,\n\t\t};\n\t}\n\treturn null;\n};\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n\tpath = '',\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst examplesForSinglePageUse = [];\n\tconst overviewCategoryExamples = getExamplesByCategory(\n\t\t{ slug: 'overview' },\n\t\texamples\n\t);\n\texamplesForSinglePageUse.push( ...overviewCategoryExamples.examples );\n\tconst otherExamples = examples.filter( ( example ) => {\n\t\treturn (\n\t\t\texample.category !== 'overview' &&\n\t\t\t! overviewCategoryExamples.examples.find(\n\t\t\t\t( overviewExample ) => overviewExample.name === example.name\n\t\t\t)\n\t\t);\n\t} );\n\texamplesForSinglePageUse.push( ...otherExamples );\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( path );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examplesForSinglePageUse }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n\tgoTo,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst [ hasIframeLoaded, setHasIframeLoaded ] = useState( false );\n\tconst iframeRef = useRef( null );\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst handleLoad = () => setHasIframeLoaded( true );\n\tuseLayoutEffect( () => {\n\t\tif ( goTo?.block && hasIframeLoaded && iframeRef?.current ) {\n\t\t\tscrollToSection( `example-${ goTo?.block }`, iframeRef?.current );\n\t\t}\n\t}, [ iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded ] );\n\n\treturn (\n\t\t<Iframe\n\t\t\tonLoad={ handleLoad }\n\t\t\tref={ iframeRef }\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => onSelect?.( example.name ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps = disabledExamples.includes( id )\n\t\t? {\n\t\t\t\tdisabled: true,\n\t\t\t\taccessibleWhenDisabled: true,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AASA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAQA,IAAAQ,SAAA,GAAAR,OAAA;AAKA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,sBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAIA,IAAAa,SAAA,GAAAb,OAAA;AAAyC,IAAAc,WAAA,GAAAd,OAAA;AA9CzC;AACA;AACA;;AAGA;AACA;AACA;;AA6BA;AACA;AACA;;AAUA,MAAM;EACLe,+BAA+B;EAC/BC,cAAc;EACdC,mBAAmB;EACnBC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AACpC,MAAM;EAAEC;AAAwB,CAAC,GAAG,IAAAF,kBAAM,EAAEG,mBAAkB,CAAC;AAE/D,MAAM;EAAEC;AAAK,CAAC,GAAG,IAAAJ,kBAAM,EAAEK,uBAAsB,CAAC;AAEhD,SAASC,aAAaA,CAAEC,MAAM,EAAG;EAChC,OAAO,CAAEA,MAAM,IAAIC,MAAM,CAACC,IAAI,CAAEF,MAAO,CAAC,CAACG,MAAM,KAAK,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CAAEC,QAAQ,EAAEC,MAAM,KAAM;EAC/C,IAAK,CAAEA,MAAM,IAAI,CAAEA,MAAM,EAAEC,eAAe,EAAG;IAC5C;EACD;EAEA,MAAMC,OAAO,GAAGF,MAAM,CAACC,eAAe,CAACE,cAAc,CAAEJ,QAAS,CAAC;EACjE,IAAKG,OAAO,EAAG;IACdA,OAAO,CAACE,cAAc,CAAE;MACvBC,QAAQ,EAAE;IACX,CAAE,CAAC;EACJ;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,8BAA8B,GAAKC,IAAI,IAAM;EAClD,IAAKA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAG;IACvC,IAAIC,KAAK,GAAGD,IAAI,CAACE,QAAQ,CAAE,UAAW,CAAC,GACpCC,kBAAkB,CAAEH,IAAI,CAACI,KAAK,CAAE,UAAW,CAAC,CAAE,CAAC,CAAG,CAAC,GACnD,IAAI;IACP;IACAH,KAAK,GAAGD,IAAI,CAACK,QAAQ,CAAE,SAAU,CAAC,GAAG,cAAc,GAAGJ,KAAK;IAE3D,OAAO;MACNA;IACD,CAAC;EACF;EACA,OAAO,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,sBAAsBA,CAAA,EAAG;EACjC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,8DAAmC,EAAC,CAAC;;EAEnE;EACA,MAAM,CACLC,4BAA4B,EAC5BC,cAAc,EACdC,aAAa,EACbC,eAAe,CACf,GAAG,IAAAC,wBAAW,EACd,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBACD,CAAC;EAED,MAAMC,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,MAAMC,MAAM,GAAG;MAAEV,MAAM;MAAEC,SAAS;MAAEU,QAAQ,EAAE;IAAG,CAAC;IAElD,IAAKN,aAAa,IAAIA,aAAa,CAACtB,MAAM,EAAG;MAC5C2B,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAE;QACrBC,IAAI,EAAE,IAAAC,QAAE,EACP,OAAO,EACP,sDACD,CAAC;QACDC,IAAI,EAAE,OAAO;QACbJ,QAAQ,EAAEN;MACX,CAAE,CAAC;IACJ;IAEA,IACCF,4BAA4B,IAC5BG,eAAe,IACfA,eAAe,CAACvB,MAAM,EACrB;MACD2B,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAE;QACrBC,IAAI,EAAE,IAAAC,QAAE,EACP,SAAS,EACT,sDACD,CAAC;QACDC,IAAI,EAAE,SAAS;QACfJ,QAAQ,EAAEL;MACX,CAAE,CAAC;IACJ;IACA,IAAKF,cAAc,IAAIA,cAAc,CAACrB,MAAM,EAAG;MAC9C2B,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAE;QACrBC,IAAI,EAAE,IAAAC,QAAE,EACP,QAAQ,EACR,0DACD,CAAC;QACDC,IAAI,EAAE,QAAQ;QACdJ,QAAQ,EAAEP;MACX,CAAE,CAAC;IACJ;IAEA,OAAOM,MAAM;EACd,CAAC,EAAE,CACFV,MAAM,EACNC,SAAS,EACTG,cAAc,EACdC,aAAa,EACbC,eAAe,EACfH,4BAA4B,CAC3B,CAAC;EAEH,OAAOK,QAAQ;AAChB;AAEA,SAASQ,SAASA,CAAE;EACnBC,cAAc,GAAG,IAAI;EACrBC,UAAU;EACVC,OAAO;EACPC,QAAQ;EACRC,eAAe,GAAG,IAAI;EACtBC,OAAO;EACPC,QAAQ,GAAG,IAAI;EACfC,UAAU,GAAG,CAAC,CAAC;EACf/B,IAAI,GAAG;AACR,CAAC,EAAG;EACH,MAAM,CAAEgC,cAAc,EAAEC,KAAK,CAAE,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EACrD,MAAM,CAAEC,SAAS,CAAE,GAAG1D,cAAc,CAAE,YAAa,CAAC;EACpD,MAAM,CAAE2D,eAAe,CAAE,GAAG3D,cAAc,CAAE,kBAAmB,CAAC;EAChE,MAAM8B,MAAM,GAAGD,sBAAsB,CAAC,CAAC;EACvC,MAAM+B,QAAQ,GAAG,IAAArB,gBAAO,EAAE,MAAM,IAAAsB,qBAAW,EAAE/B,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EACnE,MAAMgC,IAAI,GAAG,IAAAvB,gBAAO,EACnB,MACC,IAAAwB,0CAA8B,EAAC,CAAC,CAACC,MAAM,CAAIC,QAAQ,IAClDL,QAAQ,CAACM,IAAI,CACVC,OAAO,IAAMA,OAAO,CAACF,QAAQ,KAAKA,QAAQ,CAACpB,IAC9C,CACD,CAAC,EACF,CAAEe,QAAQ,CACX,CAAC;EAED,MAAMQ,wBAAwB,GAAG,EAAE;EACnC,MAAMC,wBAAwB,GAAG,IAAAC,iCAAqB,EACrD;IAAEzB,IAAI,EAAE;EAAW,CAAC,EACpBe,QACD,CAAC;EACDQ,wBAAwB,CAAC1B,IAAI,CAAE,GAAG2B,wBAAwB,CAACT,QAAS,CAAC;EACrE,MAAMW,aAAa,GAAGX,QAAQ,CAACI,MAAM,CAAIG,OAAO,IAAM;IACrD,OACCA,OAAO,CAACF,QAAQ,KAAK,UAAU,IAC/B,CAAEI,wBAAwB,CAACT,QAAQ,CAACY,IAAI,CACrCC,eAAe,IAAMA,eAAe,CAAC9B,IAAI,KAAKwB,OAAO,CAACxB,IACzD,CAAC;EAEH,CAAE,CAAC;EACHyB,wBAAwB,CAAC1B,IAAI,CAAE,GAAG6B,aAAc,CAAC;EAEjD,MAAM;IAAEG,IAAI,EAAEC;EAAW,CAAC,GAAG,IAAAC,mBAAU,EAAE3E,mBAAoB,CAAC;EAC9D,MAAM4E,IAAI,GAAGvD,8BAA8B,CAAEC,IAAK,CAAC;EAEnD,MAAMuD,YAAY,GAAG,IAAAvC,gBAAO,EAAE,MAAM;IACnC,IAAK,CAAE9B,aAAa,CAAE6C,UAAW,CAAC,IAAI,CAAE7C,aAAa,CAAEkE,UAAW,CAAC,EAAG;MACrE,OAAOtE,uBAAuB,CAAEsE,UAAU,EAAErB,UAAW,CAAC;IACzD;IACA,OAAO,CAAC,CAAC;EACV,CAAC,EAAE,CAAEqB,UAAU,EAAErB,UAAU,CAAG,CAAC;;EAE/B;EACA;EACA,MAAMyB,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IAAMA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,EACtD,EACD,CAAC;EACD,MAAM,CAAEC,YAAY,CAAE,GAAGlF,+BAA+B,CAAE4E,YAAa,CAAC;EAExE,MAAMO,QAAQ,GAAG,IAAA9C,gBAAO,EACvB,OAAQ;IACP,GAAGwC,gBAAgB;IACnBO,MAAM,EACL,CAAE7E,aAAa,CAAE2E,YAAa,CAAC,IAAI,CAAE3E,aAAa,CAAE6C,UAAW,CAAC,GAC7D8B,YAAY,GACZL,gBAAgB,CAACO,MAAM;IAC3BC,aAAa,EAAE;EAChB,CAAC,CAAE,EACH,CAAEH,YAAY,EAAEL,gBAAgB,EAAEzB,UAAU,CAC7C,CAAC;EAED,oBACC,IAAAxD,WAAA,CAAA0F,GAAA,EAAC9F,sBAAA,CAAA+F,OAAqB;IACrBrC,OAAO,EAAGA,OAAS;IACnBL,cAAc,EAAGA,cAAgB;IACjC2C,gBAAgB,EAAGvC,eAAe,GAAG,IAAAwC,QAAE,EAAE,OAAQ,CAAC,GAAG,IAAM;IAAAC,QAAA,eAE3D,IAAA9F,WAAA,CAAA+F,IAAA;MACCC,SAAS,EAAG,IAAAC,aAAI,EAAE,sBAAsB,EAAE;QACzC,SAAS,EAAEvC,KAAK,CAACwC,KAAK,GAAG,GAAG;QAC5B,WAAW,EAAE,CAAC,CAAE/C;MACjB,CAAE,CAAG;MACLgD,KAAK,EAAG;QACPC,KAAK,EAAExC,SAAS;QAChByC,UAAU,EAAExC;MACb,CAAG;MAAAiC,QAAA,GAEDrC,cAAc,EACdF,QAAQ,gBACT,IAAAvD,WAAA,CAAA+F,IAAA,EAACtF,IAAI;QAAAqF,QAAA,gBACJ,IAAA9F,WAAA,CAAA0F,GAAA;UAAKM,SAAS,EAAC,yCAAyC;UAAAF,QAAA,eACvD,IAAA9F,WAAA,CAAA0F,GAAA,EAACjF,IAAI,CAAC6F,OAAO;YAAAR,QAAA,EACV9B,IAAI,CAACuC,GAAG,CAAIC,GAAG,iBAChB,IAAAxG,WAAA,CAAA0F,GAAA,EAACjF,IAAI,CAACgG,GAAG;cACRC,KAAK,EAAGF,GAAG,CAACzD,IAAM;cAAA+C,QAAA,EAGhBU,GAAG,CAACG;YAAK,GAFLH,GAAG,CAACzD,IAGD,CACT;UAAC,CACU;QAAC,CACX,CAAC,EACJiB,IAAI,CAACuC,GAAG,CAAIC,GAAG,iBAChB,IAAAxG,WAAA,CAAA0F,GAAA,EAACjF,IAAI,CAACmG,QAAQ;UAEbF,KAAK,EAAGF,GAAG,CAACzD,IAAM;UAClB8D,SAAS,EAAG,KAAO;UACnBb,SAAS,EAAC,gCAAgC;UAAAF,QAAA,eAE1C,IAAA9F,WAAA,CAAA0F,GAAA,EAACoB,aAAa;YACb3C,QAAQ,EAAGqC,GAAG,CAACzD,IAAM;YACrBe,QAAQ,EAAGA,QAAU;YACrBZ,UAAU,EAAGA,UAAY;YACzBE,QAAQ,EAAGA,QAAU;YACrBmC,QAAQ,EAAGA,QAAU;YACrB7B,KAAK,EAAGA,KAAO;YACfiD,KAAK,EAAGH,GAAG,CAACG,KAAO;YACnB5B,IAAI,EAAGA;UAAM,CACb;QAAC,GAdIyB,GAAG,CAACzD,IAeI,CACd,CAAC;MAAA,CACE,CAAC,gBAEP,IAAA/C,WAAA,CAAA0F,GAAA,EAACoB,aAAa;QACbhD,QAAQ,EAAGQ,wBAA0B;QACrCpB,UAAU,EAAGA,UAAY;QACzBC,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA,QAAU;QACrBmC,QAAQ,EAAGA,QAAU;QACrB7B,KAAK,EAAGA,KAAO;QACfqB,IAAI,EAAGA;MAAM,CACb,CACD;IAAA,CACG;EAAC,CACgB,CAAC;AAE1B;AAEA,MAAM+B,aAAa,GAAGA,CAAE;EACvB3C,QAAQ;EACRL,QAAQ;EACRZ,UAAU;EACVC,OAAO;EACPC,QAAQ;EACRmC,QAAQ;EACR7B,KAAK;EACLiD,KAAK;EACL5B;AACD,CAAC,KAAM;EACN,MAAM,CAAEgC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACrD,MAAM,CAAEC,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EACjE,MAAMG,SAAS,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;EAChC;EACA;EACA,MAAMC,eAAe,GAAG;IACvBC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAEA,CAAA,KAAMR,YAAY,CAAE,IAAK,CAAC;IACnCS,MAAM,EAAEA,CAAA,KAAMT,YAAY,CAAE,KAAM,CAAC;IACnCU,SAAS,EAAIC,KAAK,IAAM;MACvB,IAAKA,KAAK,CAACC,gBAAgB,EAAG;QAC7B;MACD;MACA,MAAM;QAAEC;MAAQ,CAAC,GAAGF,KAAK;MACzB,IAAKxE,OAAO,KAAM0E,OAAO,KAAKC,eAAK,IAAID,OAAO,KAAKE,eAAK,CAAE,EAAG;QAC5DJ,KAAK,CAACK,cAAc,CAAC,CAAC;QACtB7E,OAAO,CAAEwE,KAAM,CAAC;MACjB;IACD,CAAC;IACDxE,OAAO,EAAIwE,KAAK,IAAM;MACrB,IAAKA,KAAK,CAACC,gBAAgB,EAAG;QAC7B;MACD;MACA,IAAKzE,OAAO,EAAG;QACdwE,KAAK,CAACK,cAAc,CAAC,CAAC;QACtB7E,OAAO,CAAEwE,KAAM,CAAC;MACjB;IACD,CAAC;IACDM,QAAQ,EAAE;EACX,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAA,KAAMf,kBAAkB,CAAE,IAAK,CAAC;EACnD,IAAAgB,wBAAe,EAAE,MAAM;IACtB,IAAKpD,IAAI,EAAErD,KAAK,IAAIwF,eAAe,IAAIE,SAAS,EAAEgB,OAAO,EAAG;MAC3DpH,eAAe,CAAE,WAAY+D,IAAI,EAAErD,KAAK,EAAG,EAAE0F,SAAS,EAAEgB,OAAQ,CAAC;IAClE;EACD,CAAC,EAAE,CAAEhB,SAAS,EAAEgB,OAAO,EAAErD,IAAI,EAAErD,KAAK,EAAEV,eAAe,EAAEkG,eAAe,CAAG,CAAC;EAE1E,oBACC,IAAAlH,WAAA,CAAA+F,IAAA,EAAC1G,YAAA,CAAAgJ,gBAAM;IACNC,MAAM,EAAGJ,UAAY;IACrBK,GAAG,EAAGnB,SAAW;IACjBpB,SAAS,EAAG,IAAAC,aAAI,EAAE,8BAA8B,EAAE;MACjD,YAAY,EAAEc,SAAS,IAAI,CAAC,CAAE5D,OAAO;MACrC,WAAW,EAAE,CAAC,CAAEA;IACjB,CAAE,CAAG;IACLN,IAAI,EAAC,mBAAmB;IACxB2F,QAAQ,EAAG,CAAG;IAAA,IACPrF,OAAO,GAAGmE,eAAe,GAAG,CAAC,CAAC;IAAAxB,QAAA,gBAErC,IAAA9F,WAAA,CAAA0F,GAAA,EAACrG,YAAA,CAAAoJ,sBAAY;MAACjD,MAAM,EAAGD,QAAQ,CAACC;IAAQ,CAAE,CAAC,eAC3C,IAAAxF,WAAA,CAAA+F,IAAA;MAAAD,QAAA,GACG4C,mCAAwB,EACxB,CAAC,CAAEvF,OAAO,IACX,4DAA4D;IAAA,CACvD,CAAC,eACR,IAAAnD,WAAA,CAAA0F,GAAA,EAACiD,QAAQ;MACR3C,SAAS,EAAG,IAAAC,aAAI,EAAE,gCAAgC,EAAE;QACnD,SAAS,EAAEvC,KAAK,CAACwC,KAAK,GAAG;MAC1B,CAAE,CAAG;MACLpC,QAAQ,EAAGA,QAAU;MACrBK,QAAQ,EAAGA,QAAU;MACrByE,KAAK,EACJjC,KAAK,GACF,IAAAkC,aAAO;MACP;MACA,IAAAhD,QAAE,EAAE,uCAAwC,CAAC,EAC7Cc,KACA,CAAC,GACD,IAAAd,QAAE,EAAE,oBAAqB,CAC5B;MACD3C,UAAU,EAAGA,UAAY;MACzBE,QAAQ,EAAGA;IAAU,GACfe,QACN,CAAC;EAAA,CACK,CAAC;AAEX,CAAC;AAED,MAAMwE,QAAQ,GAAG,IAAAG,aAAI,EACpB,CAAE;EAAE9C,SAAS;EAAElC,QAAQ;EAAEK,QAAQ;EAAEyE,KAAK;EAAE1F,UAAU;EAAEE;AAAS,CAAC,KAAM;EACrE,MAAM2F,kBAAkB,GAAG5E,QAAQ,GAChC,IAAAF,0CAA8B,EAAC,CAAC,CAACS,IAAI,CACnCsE,SAAS,IAAMA,SAAS,CAACjG,IAAI,KAAKoB,QACpC,CAAC,GACD,IAAI;EAEP,MAAM8E,gBAAgB,GAAGF,kBAAkB,GACxC,IAAAvE,iCAAqB,EAAEuE,kBAAkB,EAAEjF,QAAS,CAAC,GACrD;IAAEA;EAAS,CAAC;EAEf,oBACC,IAAA9D,WAAA,CAAA+F,IAAA,EAAC5G,WAAA,CAAA+J,SAAS;IACTC,WAAW,EAAC,UAAU;IACtBnD,SAAS,EAAGA,SAAW;IACvB,cAAa4C,KAAO;IACpBrB,IAAI,EAAC,MAAM;IAAAzB,QAAA,GAET,CAAC,CAAEmD,gBAAgB,EAAEnF,QAAQ,EAAE/C,MAAM,IACtCkI,gBAAgB,CAACnF,QAAQ,CAACyC,GAAG,CAAIlC,OAAO,iBACvC,IAAArE,WAAA,CAAA0F,GAAA,EAAC0D,OAAO;MAEPC,EAAE,EAAG,WAAYhF,OAAO,CAACxB,IAAI,EAAK;MAClC8D,KAAK,EAAGtC,OAAO,CAACsC,KAAO;MACvB2C,OAAO,EAAGjF,OAAO,CAACiF,OAAS;MAC3BC,MAAM,EAAGlF,OAAO,CAACkF,MAAQ;MACzBrG,UAAU,EAAGA,UAAU,GAAImB,OAAO,CAACxB,IAAK,CAAG;MAC3CM,OAAO,EAAGA,CAAA,KAAMC,QAAQ,GAAIiB,OAAO,CAACxB,IAAK;IAAG,GANtCwB,OAAO,CAACxB,IAOd,CACA,CAAC,EACF,CAAC,CAAEoG,gBAAgB,EAAEO,aAAa,EAAEzI,MAAM,IAC3CkI,gBAAgB,CAACO,aAAa,CAACjD,GAAG,CAAIkD,WAAW,iBAChD,IAAAzJ,WAAA,CAAA+F,IAAA,EAAC5G,WAAA,CAAA+J,SAAS,CAACQ,KAAK;MACf1D,SAAS,EAAC,mCAAmC;MAAAF,QAAA,gBAG7C,IAAA9F,WAAA,CAAA0F,GAAA,EAACvG,WAAA,CAAA+J,SAAS,CAACS,UAAU;QAAA7D,QAAA,eACpB,IAAA9F,WAAA,CAAA0F,GAAA;UAAIM,SAAS,EAAC,yCAAyC;UAAAF,QAAA,EACpD2D,WAAW,CAAC9C;QAAK,CAChB;MAAC,CACgB,CAAC,eACvB,IAAA3G,WAAA,CAAA0F,GAAA,EAACkE,WAAW;QACX9F,QAAQ,EAAG2F,WAAW,CAAC3F,QAAU;QACjCZ,UAAU,EAAGA,UAAY;QACzBE,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,GAXI,eAAgBqG,WAAW,CAAC1G,IAAI,EAYtB,CAChB,CAAC;EAAA,CACM,CAAC;AAEd,CACD,CAAC;AAED,MAAM6G,WAAW,GAAGA,CAAE;EAAE9F,QAAQ;EAAEZ,UAAU;EAAEE;AAAS,CAAC,KAAM;EAC7D,OACC,CAAC,CAAEU,QAAQ,EAAE/C,MAAM,IACnB+C,QAAQ,CAACyC,GAAG,CAAIlC,OAAO,iBACtB,IAAArE,WAAA,CAAA0F,GAAA,EAAC0D,OAAO;IAEPC,EAAE,EAAG,WAAYhF,OAAO,CAACxB,IAAI,EAAK;IAClC8D,KAAK,EAAGtC,OAAO,CAACsC,KAAO;IACvB2C,OAAO,EAAGjF,OAAO,CAACiF,OAAS;IAC3BC,MAAM,EAAGlF,OAAO,CAACkF,MAAQ;IACzBrG,UAAU,EAAGA,UAAU,GAAImB,OAAO,CAACxB,IAAK,CAAG;IAC3CM,OAAO,EAAGA,CAAA,KAAM;MACfC,QAAQ,GAAIiB,OAAO,CAACxB,IAAK,CAAC;IAC3B;EAAG,GARGwB,OAAO,CAACxB,IASd,CACA,CAAC;AAEL,CAAC;AAED,MAAMgH,gBAAgB,GAAG,CAAE,kBAAkB,CAAE;AAE/C,MAAMT,OAAO,GAAGA,CAAE;EAAEC,EAAE;EAAE1C,KAAK;EAAE4C,MAAM;EAAErG,UAAU;EAAEC,OAAO;EAAEmG;AAAQ,CAAC,KAAM;EAC1E,MAAMrE,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IAAMA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,EACtD,EACD,CAAC;EACD,MAAME,QAAQ,GAAG,IAAA9C,gBAAO,EACvB,OAAQ;IACP,GAAGwC,gBAAgB;IACnB6E,SAAS,EAAE,KAAK;IAAE;IAClBrE,aAAa,EAAE;EAChB,CAAC,CAAE,EACH,CAAER,gBAAgB,CACnB,CAAC;;EAED;EACA,MAAM8E,cAAc,GAAG,IAAAtH,gBAAO,EAC7B,MAAQuH,KAAK,CAACC,OAAO,CAAEV,MAAO,CAAC,GAAGA,MAAM,GAAG,CAAEA,MAAM,CAAI,EACvD,CAAEA,MAAM,CACT,CAAC;EAED,MAAMW,aAAa,GAAGL,gBAAgB,CAAClI,QAAQ,CAAE0H,EAAG,CAAC,GAClD;IACAc,QAAQ,EAAE,IAAI;IACdC,sBAAsB,EAAE;EACxB,CAAC,GACD,CAAC,CAAC;EAEL,oBACC,IAAApK,WAAA,CAAA0F,GAAA;IAAK6B,IAAI,EAAC,KAAK;IAAAzB,QAAA,eACd,IAAA9F,WAAA,CAAA0F,GAAA;MAAK6B,IAAI,EAAC,UAAU;MAAAzB,QAAA,eACnB,IAAA9F,WAAA,CAAA+F,IAAA,EAAC5G,WAAA,CAAA+J,SAAS,CAACmB,IAAI;QACdrE,SAAS,EAAG,IAAAC,aAAI,EAAE,+BAA+B,EAAE;UAClD,aAAa,EAAE/C,UAAU;UACzB,qBAAqB,EAAE,CAAC,CAAEgH,aAAa,EAAEC;QAC1C,CAAE,CAAG;QACLd,EAAE,EAAGA,EAAI;QACT,cAAa,IAAAR,aAAO;QACnB;QACA,IAAAhD,QAAE,EAAE,gCAAiC,CAAC,EACtCc,KACD,CAAG;QACH2D,MAAM,eAAG,IAAAtK,WAAA,CAAA0F,GAAA,WAAM,CAAG;QAClB6B,IAAI,EAAC,QAAQ;QACbpE,OAAO,EAAGA,OAAS;QAAA,GACd+G,aAAa;QAAApE,QAAA,gBAElB,IAAA9F,WAAA,CAAA0F,GAAA;UAAMM,SAAS,EAAC,qCAAqC;UAAAF,QAAA,EAClDa;QAAK,CACF,CAAC,eACP,IAAA3G,WAAA,CAAA0F,GAAA;UACCM,SAAS,EAAC,uCAAuC;UACjD,mBAAW;UAAAF,QAAA,eAEX,IAAA9F,WAAA,CAAA0F,GAAA,EAACvG,WAAA,CAAAoL,QAAQ;YAACvE,SAAS,EAAC,gDAAgD;YAAAF,QAAA,EACjEwD,OAAO,GACRA,OAAO,gBAEP,IAAAtJ,WAAA,CAAA+F,IAAA,EAAC9F,+BAA+B;cAC/BuK,KAAK,EAAGT,cAAgB;cACxBxE,QAAQ,EAAGA,QAAU;cAAAO,QAAA,gBAErB,IAAA9F,WAAA,CAAA0F,GAAA,EAACrG,YAAA,CAAAoJ,sBAAY,IAAE,CAAC,eAChB,IAAAzI,WAAA,CAAA0F,GAAA,EAACrG,YAAA,CAAAoL,SAAS;gBAACC,cAAc,EAAG;cAAO,CAAE,CAAC;YAAA,CACN;UACjC,CACQ;QAAC,CACP,CAAC;MAAA,CACS;IAAC,CACb;EAAC,CACF,CAAC;AAER,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAjF,OAAA,GAEa3C,SAAS","ignoreList":[]}
@@ -32,33 +32,19 @@ function useResolveEditedEntityAndContext({
32
32
  const {
33
33
  hasLoadedAllDependencies,
34
34
  homepageId,
35
- postsPageId,
36
- url,
37
- frontPageTemplateId
35
+ postsPageId
38
36
  } = (0, _data.useSelect)(select => {
39
37
  const {
40
- getEntityRecord,
41
- getEntityRecords
38
+ getEntityRecord
42
39
  } = select(_coreData.store);
43
40
  const siteData = getEntityRecord('root', 'site');
44
- const base = getEntityRecord('root', '__unstableBase');
45
- const templates = getEntityRecords('postType', _constants.TEMPLATE_POST_TYPE, {
46
- per_page: -1
47
- });
48
41
  const _homepageId = siteData?.show_on_front === 'page' && ['number', 'string'].includes(typeof siteData.page_on_front) && !!+siteData.page_on_front // We also need to check if it's not zero(`0`).
49
42
  ? siteData.page_on_front.toString() : null;
50
43
  const _postsPageId = siteData?.show_on_front === 'page' && ['number', 'string'].includes(typeof siteData.page_for_posts) ? siteData.page_for_posts.toString() : null;
51
- let _frontPageTemplateId;
52
- if (templates) {
53
- const frontPageTemplate = templates.find(t => t.slug === 'front-page');
54
- _frontPageTemplateId = frontPageTemplate ? frontPageTemplate.id : false;
55
- }
56
44
  return {
57
- hasLoadedAllDependencies: !!base && !!siteData,
45
+ hasLoadedAllDependencies: !!siteData,
58
46
  homepageId: _homepageId,
59
- postsPageId: _postsPageId,
60
- url: base?.home,
61
- frontPageTemplateId: _frontPageTemplateId
47
+ postsPageId: _postsPageId
62
48
  };
63
49
  }, []);
64
50
 
@@ -82,20 +68,33 @@ function useResolveEditedEntityAndContext({
82
68
  const {
83
69
  getEditedEntityRecord,
84
70
  getEntityRecords,
85
- getDefaultTemplateId,
86
- __experimentalGetTemplateForLink
71
+ getDefaultTemplateId
87
72
  } = select(_coreData.store);
88
73
  function resolveTemplateForPostTypeAndId(postTypeToResolve, postIdToResolve) {
89
74
  // For the front page, we always use the front page template if existing.
90
75
  if (postTypeToResolve === 'page' && homepageId === postIdToResolve) {
91
- // We're still checking whether the front page template exists.
92
- // Don't resolve the template yet.
93
- if (frontPageTemplateId === undefined) {
76
+ // The /lookup endpoint cannot currently handle a lookup
77
+ // when a page is set as the front page, so specifically in
78
+ // that case, we want to check if there is a front page
79
+ // template, and instead of falling back to the home
80
+ // template, we want to fall back to the page template.
81
+ const templates = getEntityRecords('postType', _constants.TEMPLATE_POST_TYPE, {
82
+ per_page: -1
83
+ });
84
+ if (templates) {
85
+ const id = templates?.find(({
86
+ slug
87
+ }) => slug === 'front-page')?.id;
88
+ if (id) {
89
+ return id;
90
+ }
91
+
92
+ // If no front page template is found, continue with the
93
+ // logic below (fetching the page template).
94
+ } else {
95
+ // Still resolving `templates`.
94
96
  return undefined;
95
97
  }
96
- if (!!frontPageTemplateId) {
97
- return frontPageTemplateId;
98
- }
99
98
  }
100
99
  const editedEntity = getEditedEntityRecord('postType', postTypeToResolve, postIdToResolve);
101
100
  if (!editedEntity) {
@@ -103,7 +102,9 @@ function useResolveEditedEntityAndContext({
103
102
  }
104
103
  // Check if the current page is the posts page.
105
104
  if (postTypeToResolve === 'page' && postsPageId === postIdToResolve) {
106
- return __experimentalGetTemplateForLink(editedEntity.link)?.id;
105
+ return getDefaultTemplateId({
106
+ slug: 'home'
107
+ });
107
108
  }
108
109
  // First see if the post/page has an assigned template and fetch it.
109
110
  const currentTemplateSlug = editedEntity.template;
@@ -148,11 +149,10 @@ function useResolveEditedEntityAndContext({
148
149
  }
149
150
 
150
151
  // If we're not rendering a specific page, use the front page template.
151
- if (url) {
152
- const template = __experimentalGetTemplateForLink(url);
153
- return template?.id;
154
- }
155
- }, [homepageId, postsPageId, hasLoadedAllDependencies, url, postId, postType, frontPageTemplateId]);
152
+ return getDefaultTemplateId({
153
+ slug: 'front-page'
154
+ });
155
+ }, [homepageId, postsPageId, hasLoadedAllDependencies, postId, postType]);
156
156
  const context = (0, _element.useMemo)(() => {
157
157
  if (postTypesWithoutParentTemplate.includes(postType) && postId) {
158
158
  return {};
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_coreData","_router","_blockEditor","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","authorizedPostTypes","useResolveEditedEntityAndContext","postId","postType","hasLoadedAllDependencies","homepageId","postsPageId","url","frontPageTemplateId","useSelect","select","getEntityRecord","getEntityRecords","coreDataStore","siteData","base","templates","per_page","_homepageId","show_on_front","includes","page_on_front","toString","_postsPageId","page_for_posts","_frontPageTemplateId","frontPageTemplate","find","t","slug","id","home","resolvedTemplateId","undefined","getEditedEntityRecord","getDefaultTemplateId","__experimentalGetTemplateForLink","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","editedEntity","link","currentTemplateSlug","template","currentTemplate","slugToCheck","context","useMemo","isReady","useInitEditedEntityFromURL","params","setEditedEntity","useDispatch","editSiteStore","resetZoomLevel","blockEditorStore","useEffect"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nconst authorizedPostTypes = [ 'page', 'post' ];\n\nfunction useResolveEditedEntityAndContext( { postId, postType } ) {\n\tconst {\n\t\thasLoadedAllDependencies,\n\t\thomepageId,\n\t\tpostsPageId,\n\t\turl,\n\t\tfrontPageTemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, getEntityRecords } = select( coreDataStore );\n\t\tconst siteData = getEntityRecord( 'root', 'site' );\n\t\tconst base = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst templates = getEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\t\tconst _homepageId =\n\t\t\tsiteData?.show_on_front === 'page' &&\n\t\t\t[ 'number', 'string' ].includes( typeof siteData.page_on_front ) &&\n\t\t\t!! +siteData.page_on_front // We also need to check if it's not zero(`0`).\n\t\t\t\t? siteData.page_on_front.toString()\n\t\t\t\t: null;\n\t\tconst _postsPageId =\n\t\t\tsiteData?.show_on_front === 'page' &&\n\t\t\t[ 'number', 'string' ].includes( typeof siteData.page_for_posts )\n\t\t\t\t? siteData.page_for_posts.toString()\n\t\t\t\t: null;\n\t\tlet _frontPageTemplateId;\n\t\tif ( templates ) {\n\t\t\tconst frontPageTemplate = templates.find(\n\t\t\t\t( t ) => t.slug === 'front-page'\n\t\t\t);\n\t\t\t_frontPageTemplateId = frontPageTemplate\n\t\t\t\t? frontPageTemplate.id\n\t\t\t\t: false;\n\t\t}\n\t\treturn {\n\t\t\thasLoadedAllDependencies: !! base && !! siteData,\n\t\t\thomepageId: _homepageId,\n\t\t\tpostsPageId: _postsPageId,\n\t\t\turl: base?.home,\n\t\t\tfrontPageTemplateId: _frontPageTemplateId,\n\t\t};\n\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif (\n\t\t\t\tpostTypesWithoutParentTemplate.includes( postType ) &&\n\t\t\t\tpostId\n\t\t\t) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Don't trigger resolution for multi-selected posts.\n\t\t\tif ( postId && postId.includes( ',' ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetDefaultTemplateId,\n\t\t\t\t__experimentalGetTemplateForLink,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tfunction resolveTemplateForPostTypeAndId(\n\t\t\t\tpostTypeToResolve,\n\t\t\t\tpostIdToResolve\n\t\t\t) {\n\t\t\t\t// For the front page, we always use the front page template if existing.\n\t\t\t\tif (\n\t\t\t\t\tpostTypeToResolve === 'page' &&\n\t\t\t\t\thomepageId === postIdToResolve\n\t\t\t\t) {\n\t\t\t\t\t// We're still checking whether the front page template exists.\n\t\t\t\t\t// Don't resolve the template yet.\n\t\t\t\t\tif ( frontPageTemplateId === undefined ) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !! frontPageTemplateId ) {\n\t\t\t\t\t\treturn frontPageTemplateId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst editedEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeToResolve,\n\t\t\t\t\tpostIdToResolve\n\t\t\t\t);\n\t\t\t\tif ( ! editedEntity ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\t// Check if the current page is the posts page.\n\t\t\t\tif (\n\t\t\t\t\tpostTypeToResolve === 'page' &&\n\t\t\t\t\tpostsPageId === postIdToResolve\n\t\t\t\t) {\n\t\t\t\t\treturn __experimentalGetTemplateForLink( editedEntity.link )\n\t\t\t\t\t\t?.id;\n\t\t\t\t}\n\t\t\t\t// First see if the post/page has an assigned template and fetch it.\n\t\t\t\tconst currentTemplateSlug = editedEntity.template;\n\t\t\t\tif ( currentTemplateSlug ) {\n\t\t\t\t\tconst currentTemplate = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t)?.find( ( { slug } ) => slug === currentTemplateSlug );\n\t\t\t\t\tif ( currentTemplate ) {\n\t\t\t\t\t\treturn currentTemplate.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\tlet slugToCheck;\n\t\t\t\t// In `draft` status we might not have a slug available, so we use the `single`\n\t\t\t\t// post type templates slug(ex page, single-post, single-product etc..).\n\t\t\t\t// Pages do not need the `single` prefix in the slug to be prioritized\n\t\t\t\t// through template hierarchy.\n\t\t\t\tif ( editedEntity.slug ) {\n\t\t\t\t\tslugToCheck =\n\t\t\t\t\t\tpostTypeToResolve === 'page'\n\t\t\t\t\t\t\t? `${ postTypeToResolve }-${ editedEntity.slug }`\n\t\t\t\t\t\t\t: `single-${ postTypeToResolve }-${ editedEntity.slug }`;\n\t\t\t\t} else {\n\t\t\t\t\tslugToCheck =\n\t\t\t\t\t\tpostTypeToResolve === 'page'\n\t\t\t\t\t\t\t? 'page'\n\t\t\t\t\t\t\t: `single-${ postTypeToResolve }`;\n\t\t\t\t}\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: slugToCheck,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( ! hasLoadedAllDependencies ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// If we're rendering a specific page, we need to resolve its template.\n\t\t\t// The site editor only supports pages for now, not other CPTs.\n\t\t\tif (\n\t\t\t\tpostType &&\n\t\t\t\tpostId &&\n\t\t\t\tauthorizedPostTypes.includes( postType )\n\t\t\t) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homepageId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', homepageId );\n\t\t\t}\n\n\t\t\t// If we're not rendering a specific page, use the front page template.\n\t\t\tif ( url ) {\n\t\t\t\tconst template = __experimentalGetTemplateForLink( url );\n\t\t\t\treturn template?.id;\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\thomepageId,\n\t\t\tpostsPageId,\n\t\t\thasLoadedAllDependencies,\n\t\t\turl,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfrontPageTemplateId,\n\t\t]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId && authorizedPostTypes.includes( postType ) ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\t\t// TODO: for post types lists we should probably not render the front page, but maybe a placeholder\n\t\t// with a message like \"Select a page\" or something similar.\n\t\tif ( homepageId ) {\n\t\t\treturn { postType: 'page', postId: homepageId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homepageId, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( hasLoadedAllDependencies ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\n\tconst { postType, postId, context, isReady } =\n\t\tuseResolveEditedEntityAndContext( params );\n\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tresetZoomLevel();\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [\n\t\tisReady,\n\t\tpostType,\n\t\tpostId,\n\t\tcontext,\n\t\tsetEditedEntity,\n\t\tresetZoomLevel,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_data","_coreData","_router","_blockEditor","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","authorizedPostTypes","useResolveEditedEntityAndContext","postId","postType","hasLoadedAllDependencies","homepageId","postsPageId","useSelect","select","getEntityRecord","coreDataStore","siteData","_homepageId","show_on_front","includes","page_on_front","toString","_postsPageId","page_for_posts","resolvedTemplateId","undefined","getEditedEntityRecord","getEntityRecords","getDefaultTemplateId","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","templates","per_page","id","find","slug","editedEntity","currentTemplateSlug","template","currentTemplate","slugToCheck","context","useMemo","isReady","useInitEditedEntityFromURL","params","setEditedEntity","useDispatch","editSiteStore","resetZoomLevel","blockEditorStore","useEffect"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nconst authorizedPostTypes = [ 'page', 'post' ];\n\nfunction useResolveEditedEntityAndContext( { postId, postType } ) {\n\tconst { hasLoadedAllDependencies, homepageId, postsPageId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\t\tconst siteData = getEntityRecord( 'root', 'site' );\n\t\t\tconst _homepageId =\n\t\t\t\tsiteData?.show_on_front === 'page' &&\n\t\t\t\t[ 'number', 'string' ].includes(\n\t\t\t\t\ttypeof siteData.page_on_front\n\t\t\t\t) &&\n\t\t\t\t!! +siteData.page_on_front // We also need to check if it's not zero(`0`).\n\t\t\t\t\t? siteData.page_on_front.toString()\n\t\t\t\t\t: null;\n\t\t\tconst _postsPageId =\n\t\t\t\tsiteData?.show_on_front === 'page' &&\n\t\t\t\t[ 'number', 'string' ].includes(\n\t\t\t\t\ttypeof siteData.page_for_posts\n\t\t\t\t)\n\t\t\t\t\t? siteData.page_for_posts.toString()\n\t\t\t\t\t: null;\n\t\t\treturn {\n\t\t\t\thasLoadedAllDependencies: !! siteData,\n\t\t\t\thomepageId: _homepageId,\n\t\t\t\tpostsPageId: _postsPageId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif (\n\t\t\t\tpostTypesWithoutParentTemplate.includes( postType ) &&\n\t\t\t\tpostId\n\t\t\t) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Don't trigger resolution for multi-selected posts.\n\t\t\tif ( postId && postId.includes( ',' ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetDefaultTemplateId,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tfunction resolveTemplateForPostTypeAndId(\n\t\t\t\tpostTypeToResolve,\n\t\t\t\tpostIdToResolve\n\t\t\t) {\n\t\t\t\t// For the front page, we always use the front page template if existing.\n\t\t\t\tif (\n\t\t\t\t\tpostTypeToResolve === 'page' &&\n\t\t\t\t\thomepageId === postIdToResolve\n\t\t\t\t) {\n\t\t\t\t\t// The /lookup endpoint cannot currently handle a lookup\n\t\t\t\t\t// when a page is set as the front page, so specifically in\n\t\t\t\t\t// that case, we want to check if there is a front page\n\t\t\t\t\t// template, and instead of falling back to the home\n\t\t\t\t\t// template, we want to fall back to the page template.\n\t\t\t\t\tconst templates = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tif ( templates ) {\n\t\t\t\t\t\tconst id = templates?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === 'front-page'\n\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tif ( id ) {\n\t\t\t\t\t\t\treturn id;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If no front page template is found, continue with the\n\t\t\t\t\t\t// logic below (fetching the page template).\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Still resolving `templates`.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst editedEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeToResolve,\n\t\t\t\t\tpostIdToResolve\n\t\t\t\t);\n\t\t\t\tif ( ! editedEntity ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\t// Check if the current page is the posts page.\n\t\t\t\tif (\n\t\t\t\t\tpostTypeToResolve === 'page' &&\n\t\t\t\t\tpostsPageId === postIdToResolve\n\t\t\t\t) {\n\t\t\t\t\treturn getDefaultTemplateId( { slug: 'home' } );\n\t\t\t\t}\n\t\t\t\t// First see if the post/page has an assigned template and fetch it.\n\t\t\t\tconst currentTemplateSlug = editedEntity.template;\n\t\t\t\tif ( currentTemplateSlug ) {\n\t\t\t\t\tconst currentTemplate = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t)?.find( ( { slug } ) => slug === currentTemplateSlug );\n\t\t\t\t\tif ( currentTemplate ) {\n\t\t\t\t\t\treturn currentTemplate.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\tlet slugToCheck;\n\t\t\t\t// In `draft` status we might not have a slug available, so we use the `single`\n\t\t\t\t// post type templates slug(ex page, single-post, single-product etc..).\n\t\t\t\t// Pages do not need the `single` prefix in the slug to be prioritized\n\t\t\t\t// through template hierarchy.\n\t\t\t\tif ( editedEntity.slug ) {\n\t\t\t\t\tslugToCheck =\n\t\t\t\t\t\tpostTypeToResolve === 'page'\n\t\t\t\t\t\t\t? `${ postTypeToResolve }-${ editedEntity.slug }`\n\t\t\t\t\t\t\t: `single-${ postTypeToResolve }-${ editedEntity.slug }`;\n\t\t\t\t} else {\n\t\t\t\t\tslugToCheck =\n\t\t\t\t\t\tpostTypeToResolve === 'page'\n\t\t\t\t\t\t\t? 'page'\n\t\t\t\t\t\t\t: `single-${ postTypeToResolve }`;\n\t\t\t\t}\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: slugToCheck,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( ! hasLoadedAllDependencies ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// If we're rendering a specific page, we need to resolve its template.\n\t\t\t// The site editor only supports pages for now, not other CPTs.\n\t\t\tif (\n\t\t\t\tpostType &&\n\t\t\t\tpostId &&\n\t\t\t\tauthorizedPostTypes.includes( postType )\n\t\t\t) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homepageId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', homepageId );\n\t\t\t}\n\n\t\t\t// If we're not rendering a specific page, use the front page template.\n\t\t\treturn getDefaultTemplateId( { slug: 'front-page' } );\n\t\t},\n\t\t[ homepageId, postsPageId, hasLoadedAllDependencies, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId && authorizedPostTypes.includes( postType ) ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\t\t// TODO: for post types lists we should probably not render the front page, but maybe a placeholder\n\t\t// with a message like \"Select a page\" or something similar.\n\t\tif ( homepageId ) {\n\t\t\treturn { postType: 'page', postId: homepageId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homepageId, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( hasLoadedAllDependencies ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\n\tconst { postType, postId, context, isReady } =\n\t\tuseResolveEditedEntityAndContext( params );\n\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tresetZoomLevel();\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [\n\t\tisReady,\n\t\tpostType,\n\t\tpostId,\n\t\tcontext,\n\t\tsetEditedEntity,\n\t\tresetZoomLevel,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,9 +14,11 @@ var _jsxRuntime = require("react/jsx-runtime");
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
- function WelcomeGuide() {
17
+ function WelcomeGuide({
18
+ postType
19
+ }) {
18
20
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
19
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_page.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_template.default, {})]
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.default, {}), postType === 'page' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_page.default, {}), postType === 'wp_template' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_template.default, {})]
20
22
  });
21
23
  }
22
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_editor","_interopRequireDefault","require","_styles","_page","_template","_jsxRuntime","WelcomeGuide","jsxs","Fragment","children","jsx","default"],"sources":["@wordpress/edit-site/src/components/welcome-guide/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport WelcomeGuideEditor from './editor';\nimport WelcomeGuideStyles from './styles';\nimport WelcomeGuidePage from './page';\nimport WelcomeGuideTemplate from './template';\n\nexport default function WelcomeGuide() {\n\treturn (\n\t\t<>\n\t\t\t<WelcomeGuideEditor />\n\t\t\t<WelcomeGuideStyles />\n\t\t\t<WelcomeGuidePage />\n\t\t\t<WelcomeGuideTemplate />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA8C,IAAAI,WAAA,GAAAJ,OAAA;AAN9C;AACA;AACA;;AAMe,SAASK,YAAYA,CAAA,EAAG;EACtC,oBACC,IAAAD,WAAA,CAAAE,IAAA,EAAAF,WAAA,CAAAG,QAAA;IAAAC,QAAA,gBACC,IAAAJ,WAAA,CAAAK,GAAA,EAACX,OAAA,CAAAY,OAAkB,IAAE,CAAC,eACtB,IAAAN,WAAA,CAAAK,GAAA,EAACR,OAAA,CAAAS,OAAkB,IAAE,CAAC,eACtB,IAAAN,WAAA,CAAAK,GAAA,EAACP,KAAA,CAAAQ,OAAgB,IAAE,CAAC,eACpB,IAAAN,WAAA,CAAAK,GAAA,EAACN,SAAA,CAAAO,OAAoB,IAAE,CAAC;EAAA,CACvB,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_editor","_interopRequireDefault","require","_styles","_page","_template","_jsxRuntime","WelcomeGuide","postType","jsxs","Fragment","children","jsx","default"],"sources":["@wordpress/edit-site/src/components/welcome-guide/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport WelcomeGuideEditor from './editor';\nimport WelcomeGuideStyles from './styles';\nimport WelcomeGuidePage from './page';\nimport WelcomeGuideTemplate from './template';\n\nexport default function WelcomeGuide( { postType } ) {\n\treturn (\n\t\t<>\n\t\t\t<WelcomeGuideEditor />\n\t\t\t<WelcomeGuideStyles />\n\t\t\t{ postType === 'page' && <WelcomeGuidePage /> }\n\t\t\t{ postType === 'wp_template' && <WelcomeGuideTemplate /> }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA8C,IAAAI,WAAA,GAAAJ,OAAA;AAN9C;AACA;AACA;;AAMe,SAASK,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACpD,oBACC,IAAAF,WAAA,CAAAG,IAAA,EAAAH,WAAA,CAAAI,QAAA;IAAAC,QAAA,gBACC,IAAAL,WAAA,CAAAM,GAAA,EAACZ,OAAA,CAAAa,OAAkB,IAAE,CAAC,eACtB,IAAAP,WAAA,CAAAM,GAAA,EAACT,OAAA,CAAAU,OAAkB,IAAE,CAAC,EACpBL,QAAQ,KAAK,MAAM,iBAAI,IAAAF,WAAA,CAAAM,GAAA,EAACR,KAAA,CAAAS,OAAgB,IAAE,CAAC,EAC3CL,QAAQ,KAAK,aAAa,iBAAI,IAAAF,WAAA,CAAAM,GAAA,EAACP,SAAA,CAAAQ,OAAoB,IAAE,CAAC;EAAA,CACvD,CAAC;AAEL","ignoreList":[]}
@@ -8,16 +8,11 @@ var _data = require("@wordpress/data");
8
8
  var _components = require("@wordpress/components");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _preferences = require("@wordpress/preferences");
11
- var _store = require("../../store");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  /**
14
13
  * WordPress dependencies
15
14
  */
16
15
 
17
- /**
18
- * Internal dependencies
19
- */
20
-
21
16
  function WelcomeGuidePage() {
22
17
  const {
23
18
  toggle
@@ -25,10 +20,7 @@ function WelcomeGuidePage() {
25
20
  const isVisible = (0, _data.useSelect)(select => {
26
21
  const isPageActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuidePage');
27
22
  const isEditorActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuide');
28
- const {
29
- isPage
30
- } = select(_store.store);
31
- return isPageActive && !isEditorActive && isPage();
23
+ return isPageActive && !isEditorActive;
32
24
  }, []);
33
25
  if (!isVisible) {
34
26
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","_jsxRuntime","WelcomeGuidePage","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isPageActive","get","isEditorActive","isPage","editSiteStore","heading","__","jsx","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","children","src","type","content","jsxs","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/page.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuidePage() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isPageActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuidePage'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { isPage } = select( editSiteStore );\n\t\treturn isPageActive && ! isEditorActive && isPage();\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a page' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-page\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () => toggle( 'core/edit-site', 'welcomeGuidePage' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-page.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'It’s now possible to edit page content in the site editor. To customise other parts of the page like the header and footer switch to editing the template using the settings sidebar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAqD,IAAAK,WAAA,GAAAL,OAAA;AAXrD;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASM,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,YAAY,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACrD,gBAAgB,EAChB,kBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE;IAAO,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IAC1C,OAAOJ,YAAY,IAAI,CAAEE,cAAc,IAAIC,MAAM,CAAC,CAAC;EACpD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEN,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMQ,OAAO,GAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAEtC,oBACC,IAAAd,WAAA,CAAAe,GAAA,EAACnB,WAAA,CAAAoB,KAAK;IACLC,SAAS,EAAC,oCAAoC;IAC9CC,YAAY,EAAGL,OAAS;IACxBM,gBAAgB,EAAG,IAAAL,QAAE,EAAE,UAAW,CAAG;IACrCM,QAAQ,EAAGA,CAAA,KAAMlB,MAAM,CAAE,gBAAgB,EAAE,kBAAmB,CAAG;IACjEmB,KAAK,EAAG,CACP;MACCC,KAAK,eACJ,IAAAtB,WAAA,CAAAe,GAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC,KAAK;QAAAC,QAAA,eAEZ,IAAA5B,WAAA,CAAAe,GAAA;UACCc,GAAG,EAAC,2DAA2D;UAC/DC,IAAI,EAAC;QAAW,CAChB;MAAC,CACI,CACP;MACDC,OAAO,eACN,IAAA/B,WAAA,CAAAgC,IAAA,EAAAhC,WAAA,CAAAiC,QAAA;QAAAL,QAAA,gBACC,IAAA5B,WAAA,CAAAe,GAAA;UAAIE,SAAS,EAAC,kCAAkC;UAAAW,QAAA,EAC7Cf;QAAO,CACN,CAAC,eACL,IAAAb,WAAA,CAAAe,GAAA;UAAGE,SAAS,EAAC,+BAA+B;UAAAW,QAAA,EACzC,IAAAd,QAAE,EACH,uLACD;QAAC,CACC,CAAC;MAAA,CACH;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_components","_i18n","_preferences","_jsxRuntime","WelcomeGuidePage","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isPageActive","get","isEditorActive","heading","__","jsx","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","children","src","type","content","jsxs","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/page.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\nexport default function WelcomeGuidePage() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isPageActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuidePage'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\treturn isPageActive && ! isEditorActive;\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a page' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-page\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () => toggle( 'core/edit-site', 'welcomeGuidePage' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-page.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'It’s now possible to edit page content in the site editor. To customise other parts of the page like the header and footer switch to editing the template using the settings sidebar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAAmE,IAAAI,WAAA,GAAAJ,OAAA;AANnE;AACA;AACA;;AAMe,SAASK,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,YAAY,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACrD,gBAAgB,EAChB,kBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,OAAOD,YAAY,IAAI,CAAEE,cAAc;EACxC,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEL,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMM,OAAO,GAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAEtC,oBACC,IAAAZ,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAAiB,KAAK;IACLC,SAAS,EAAC,oCAAoC;IAC9CC,YAAY,EAAGL,OAAS;IACxBM,gBAAgB,EAAG,IAAAL,QAAE,EAAE,UAAW,CAAG;IACrCM,QAAQ,EAAGA,CAAA,KAAMhB,MAAM,CAAE,gBAAgB,EAAE,kBAAmB,CAAG;IACjEiB,KAAK,EAAG,CACP;MACCC,KAAK,eACJ,IAAApB,WAAA,CAAAa,GAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC,KAAK;QAAAC,QAAA,eAEZ,IAAA1B,WAAA,CAAAa,GAAA;UACCc,GAAG,EAAC,2DAA2D;UAC/DC,IAAI,EAAC;QAAW,CAChB;MAAC,CACI,CACP;MACDC,OAAO,eACN,IAAA7B,WAAA,CAAA8B,IAAA,EAAA9B,WAAA,CAAA+B,QAAA;QAAAL,QAAA,gBACC,IAAA1B,WAAA,CAAAa,GAAA;UAAIE,SAAS,EAAC,kCAAkC;UAAAW,QAAA,EAC7Cf;QAAO,CACN,CAAC,eACL,IAAAX,WAAA,CAAAa,GAAA;UAAGE,SAAS,EAAC,+BAA+B;UAAAW,QAAA,EACzC,IAAAd,QAAE,EACH,uLACD;QAAC,CACC,CAAC;MAAA,CACH;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -10,25 +9,15 @@ var _components = require("@wordpress/components");
10
9
  var _i18n = require("@wordpress/i18n");
11
10
  var _preferences = require("@wordpress/preferences");
12
11
  var _editor = require("@wordpress/editor");
13
- var _useEditedEntityRecord = _interopRequireDefault(require("../use-edited-entity-record"));
14
12
  var _jsxRuntime = require("react/jsx-runtime");
15
13
  /**
16
14
  * WordPress dependencies
17
15
  */
18
16
 
19
- /**
20
- * Internal dependencies
21
- */
22
-
23
17
  function WelcomeGuideTemplate() {
24
18
  const {
25
19
  toggle
26
20
  } = (0, _data.useDispatch)(_preferences.store);
27
- const {
28
- isLoaded,
29
- record
30
- } = (0, _useEditedEntityRecord.default)();
31
- const isPostTypeTemplate = isLoaded && record.type === 'wp_template';
32
21
  const {
33
22
  isActive,
34
23
  hasPreviousEntity
@@ -44,7 +33,7 @@ function WelcomeGuideTemplate() {
44
33
  hasPreviousEntity: !!getEditorSettings().onNavigateToPreviousEntityRecord
45
34
  };
46
35
  }, []);
47
- const isVisible = isActive && isPostTypeTemplate && hasPreviousEntity;
36
+ const isVisible = isActive && hasPreviousEntity;
48
37
  if (!isVisible) {
49
38
  return null;
50
39
  }