@wordpress/block-editor 12.21.0 → 12.22.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 (213) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-actions/index.js +2 -4
  3. package/build/components/block-actions/index.js.map +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js +5 -5
  5. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  6. package/build/components/block-heading-level-dropdown/index.native.js +5 -4
  7. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  8. package/build/components/block-list/block-crash-boundary.native.js +49 -0
  9. package/build/components/block-list/block-crash-boundary.native.js.map +1 -0
  10. package/build/components/block-list/block-crash-warning.native.js +24 -0
  11. package/build/components/block-list/block-crash-warning.native.js.map +1 -0
  12. package/build/components/block-list/block.native.js +7 -2
  13. package/build/components/block-list/block.native.js.map +1 -1
  14. package/build/components/block-settings/container.native.js +2 -1
  15. package/build/components/block-settings/container.native.js.map +1 -1
  16. package/build/components/block-settings-menu/block-settings-dropdown.js +29 -29
  17. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  18. package/build/components/block-settings-menu-controls/index.js +1 -3
  19. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  20. package/build/components/block-toolbar/index.js +3 -1
  21. package/build/components/block-toolbar/index.js.map +1 -1
  22. package/build/components/block-toolbar/shuffle.js +1 -1
  23. package/build/components/block-toolbar/shuffle.js.map +1 -1
  24. package/build/components/child-layout-control/index.js +108 -11
  25. package/build/components/child-layout-control/index.js.map +1 -1
  26. package/build/components/convert-to-group-buttons/toolbar.js +11 -0
  27. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  28. package/build/components/global-styles/dimensions-panel.js +8 -33
  29. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  30. package/build/components/global-styles/use-global-styles-output.js +1 -1
  31. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  32. package/build/components/global-styles/utils.js +1 -3
  33. package/build/components/global-styles/utils.js.map +1 -1
  34. package/build/components/iframe/index.js +34 -30
  35. package/build/components/iframe/index.js.map +1 -1
  36. package/build/components/inserter/block-patterns-explorer/index.js +3 -6
  37. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  38. package/build/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  39. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  40. package/build/components/inserter/menu.js +3 -9
  41. package/build/components/inserter/menu.js.map +1 -1
  42. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  43. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  44. package/build/components/inserter/search-results.js +2 -3
  45. package/build/components/inserter/search-results.js.map +1 -1
  46. package/build/components/inserter/tabs.js +1 -2
  47. package/build/components/inserter/tabs.js.map +1 -1
  48. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +36 -0
  49. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  50. package/build/components/list-view/block-select-button.js +2 -12
  51. package/build/components/list-view/block-select-button.js.map +1 -1
  52. package/build/components/list-view/block.js +4 -11
  53. package/build/components/list-view/block.js.map +1 -1
  54. package/build/components/list-view/utils.js +5 -3
  55. package/build/components/list-view/utils.js.map +1 -1
  56. package/build/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  57. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  58. package/build/components/use-moving-animation/index.js +4 -0
  59. package/build/components/use-moving-animation/index.js.map +1 -1
  60. package/build/components/warning/index.native.js +9 -4
  61. package/build/components/warning/index.native.js.map +1 -1
  62. package/build/hooks/anchor.js +7 -8
  63. package/build/hooks/anchor.js.map +1 -1
  64. package/build/hooks/background.js +39 -2
  65. package/build/hooks/background.js.map +1 -1
  66. package/build/hooks/index.js +2 -1
  67. package/build/hooks/index.js.map +1 -1
  68. package/build/hooks/layout-child.js +28 -6
  69. package/build/hooks/layout-child.js.map +1 -1
  70. package/build/hooks/layout.js +21 -10
  71. package/build/hooks/layout.js.map +1 -1
  72. package/build/hooks/position.js +1 -1
  73. package/build/hooks/position.js.map +1 -1
  74. package/build/private-apis.native.js +3 -1
  75. package/build/private-apis.native.js.map +1 -1
  76. package/build/store/reducer.js +31 -26
  77. package/build/store/reducer.js.map +1 -1
  78. package/build-module/components/block-actions/index.js +2 -4
  79. package/build-module/components/block-actions/index.js.map +1 -1
  80. package/build-module/components/block-heading-level-dropdown/index.js +5 -5
  81. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  82. package/build-module/components/block-heading-level-dropdown/index.native.js +5 -4
  83. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  84. package/build-module/components/block-list/block-crash-boundary.native.js +42 -0
  85. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -0
  86. package/build-module/components/block-list/block-crash-warning.native.js +15 -0
  87. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -0
  88. package/build-module/components/block-list/block.native.js +7 -2
  89. package/build-module/components/block-list/block.native.js.map +1 -1
  90. package/build-module/components/block-settings/container.native.js +3 -2
  91. package/build-module/components/block-settings/container.native.js.map +1 -1
  92. package/build-module/components/block-settings-menu/block-settings-dropdown.js +30 -30
  93. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  94. package/build-module/components/block-settings-menu-controls/index.js +1 -3
  95. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  96. package/build-module/components/block-toolbar/index.js +3 -1
  97. package/build-module/components/block-toolbar/index.js.map +1 -1
  98. package/build-module/components/block-toolbar/shuffle.js +1 -1
  99. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  100. package/build-module/components/child-layout-control/index.js +109 -12
  101. package/build-module/components/child-layout-control/index.js.map +1 -1
  102. package/build-module/components/convert-to-group-buttons/toolbar.js +12 -1
  103. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  104. package/build-module/components/global-styles/dimensions-panel.js +9 -34
  105. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  106. package/build-module/components/global-styles/use-global-styles-output.js +1 -1
  107. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  108. package/build-module/components/global-styles/utils.js +0 -2
  109. package/build-module/components/global-styles/utils.js.map +1 -1
  110. package/build-module/components/iframe/index.js +34 -30
  111. package/build-module/components/iframe/index.js.map +1 -1
  112. package/build-module/components/inserter/block-patterns-explorer/index.js +3 -6
  113. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  114. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  115. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  116. package/build-module/components/inserter/menu.js +3 -9
  117. package/build-module/components/inserter/menu.js.map +1 -1
  118. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  119. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  120. package/build-module/components/inserter/search-results.js +2 -3
  121. package/build-module/components/inserter/search-results.js.map +1 -1
  122. package/build-module/components/inserter/tabs.js +1 -2
  123. package/build-module/components/inserter/tabs.js.map +1 -1
  124. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +28 -0
  125. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  126. package/build-module/components/list-view/block-select-button.js +3 -13
  127. package/build-module/components/list-view/block-select-button.js.map +1 -1
  128. package/build-module/components/list-view/block.js +6 -13
  129. package/build-module/components/list-view/block.js.map +1 -1
  130. package/build-module/components/list-view/utils.js +2 -1
  131. package/build-module/components/list-view/utils.js.map +1 -1
  132. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  133. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  134. package/build-module/components/use-moving-animation/index.js +4 -0
  135. package/build-module/components/use-moving-animation/index.js.map +1 -1
  136. package/build-module/components/warning/index.native.js +9 -4
  137. package/build-module/components/warning/index.native.js.map +1 -1
  138. package/build-module/hooks/anchor.js +8 -9
  139. package/build-module/hooks/anchor.js.map +1 -1
  140. package/build-module/hooks/background.js +38 -1
  141. package/build-module/hooks/background.js.map +1 -1
  142. package/build-module/hooks/index.js +2 -1
  143. package/build-module/hooks/index.js.map +1 -1
  144. package/build-module/hooks/layout-child.js +28 -6
  145. package/build-module/hooks/layout-child.js.map +1 -1
  146. package/build-module/hooks/layout.js +21 -10
  147. package/build-module/hooks/layout.js.map +1 -1
  148. package/build-module/hooks/position.js +1 -1
  149. package/build-module/hooks/position.js.map +1 -1
  150. package/build-module/private-apis.native.js +3 -1
  151. package/build-module/private-apis.native.js.map +1 -1
  152. package/build-module/store/reducer.js +31 -26
  153. package/build-module/store/reducer.js.map +1 -1
  154. package/build-style/content-rtl.css +14 -0
  155. package/build-style/content.css +14 -0
  156. package/build-style/style-rtl.css +8 -20
  157. package/build-style/style.css +8 -20
  158. package/package.json +31 -31
  159. package/src/components/block-actions/index.js +2 -8
  160. package/src/components/block-bindings-toolbar-indicator/style.scss +10 -8
  161. package/src/components/block-heading-level-dropdown/README.md +5 -5
  162. package/src/components/block-heading-level-dropdown/index.js +5 -5
  163. package/src/components/block-heading-level-dropdown/index.native.js +5 -4
  164. package/src/components/block-list/block-crash-boundary.native.js +43 -0
  165. package/src/components/block-list/block-crash-warning.native.js +19 -0
  166. package/src/components/block-list/block.native.js +14 -7
  167. package/src/components/block-list/content.scss +16 -0
  168. package/src/components/block-settings/container.native.js +5 -1
  169. package/src/components/block-settings-menu/block-settings-dropdown.js +41 -56
  170. package/src/components/block-settings-menu-controls/README.md +0 -9
  171. package/src/components/block-settings-menu-controls/index.js +1 -6
  172. package/src/components/block-toolbar/index.js +3 -1
  173. package/src/components/block-toolbar/shuffle.js +1 -1
  174. package/src/components/block-toolbar/test/index.native.js +1 -7
  175. package/src/components/child-layout-control/index.js +147 -35
  176. package/src/components/convert-to-group-buttons/toolbar.js +13 -1
  177. package/src/components/global-styles/dimensions-panel.js +9 -34
  178. package/src/components/global-styles/test/use-global-styles-output.js +31 -0
  179. package/src/components/global-styles/use-global-styles-output.js +3 -1
  180. package/src/components/global-styles/utils.js +0 -18
  181. package/src/components/iframe/index.js +60 -44
  182. package/src/components/inserter/block-patterns-explorer/index.js +2 -9
  183. package/src/components/inserter/block-patterns-explorer/pattern-list.js +7 -1
  184. package/src/components/inserter/menu.js +4 -10
  185. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  186. package/src/components/inserter/search-results.js +1 -2
  187. package/src/components/inserter/tabs.js +1 -2
  188. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +31 -0
  189. package/src/components/link-control/style.scss +0 -5
  190. package/src/components/list-view/block-select-button.js +2 -18
  191. package/src/components/list-view/block.js +12 -21
  192. package/src/components/list-view/style.scss +34 -24
  193. package/src/components/list-view/utils.js +4 -1
  194. package/src/components/rich-text/README.md +6 -0
  195. package/src/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  196. package/src/components/use-moving-animation/index.js +1 -0
  197. package/src/components/warning/index.native.js +19 -15
  198. package/src/hooks/anchor.js +41 -61
  199. package/src/hooks/background.js +48 -3
  200. package/src/hooks/index.js +2 -0
  201. package/src/hooks/layout-child.js +44 -8
  202. package/src/hooks/layout.js +22 -18
  203. package/src/hooks/position.js +1 -1
  204. package/src/hooks/test/__snapshots__/anchor.native.js.snap +7 -0
  205. package/src/hooks/test/anchor.native.js +32 -0
  206. package/src/private-apis.native.js +2 -0
  207. package/src/store/reducer.js +41 -41
  208. package/tsconfig.json +1 -0
  209. package/build/utils/calculate-scale.js +0 -17
  210. package/build/utils/calculate-scale.js.map +0 -1
  211. package/build-module/utils/calculate-scale.js +0 -11
  212. package/build-module/utils/calculate-scale.js.map +0 -1
  213. package/src/utils/calculate-scale.js +0 -20
@@ -16,7 +16,6 @@ var _blockSelectionClearer = require("../block-selection-clearer");
16
16
  var _writingFlow = require("../writing-flow");
17
17
  var _getCompatibilityStyles = require("./get-compatibility-styles");
18
18
  var _store = require("../../store");
19
- var _calculateScale = _interopRequireDefault(require("../../utils/calculate-scale"));
20
19
  /**
21
20
  * External dependencies
22
21
  */
@@ -101,7 +100,8 @@ function Iframe({
101
100
  contentRef,
102
101
  children,
103
102
  tabIndex = 0,
104
- shouldZoom = false,
103
+ scale = 1,
104
+ frameSize = 0,
105
105
  readonly,
106
106
  forwardedRef: ref,
107
107
  title = (0, _i18n.__)('Editor canvas'),
@@ -109,18 +109,15 @@ function Iframe({
109
109
  }) {
110
110
  const {
111
111
  resolvedAssets,
112
- isPreviewMode,
113
- isZoomOutMode
112
+ isPreviewMode
114
113
  } = (0, _data.useSelect)(select => {
115
114
  const {
116
- getSettings,
117
- __unstableGetEditorMode
115
+ getSettings
118
116
  } = select(_store.store);
119
117
  const settings = getSettings();
120
118
  return {
121
119
  resolvedAssets: settings.__unstableResolvedAssets,
122
- isPreviewMode: settings.__unstableIsPreviewMode,
123
- isZoomOutMode: __unstableGetEditorMode() === 'zoom-out'
120
+ isPreviewMode: settings.__unstableIsPreviewMode
124
121
  };
125
122
  }, []);
126
123
  const {
@@ -135,18 +132,6 @@ function Iframe({
135
132
  height: contentHeight,
136
133
  width: contentWidth
137
134
  }] = (0, _compose.useResizeObserver)();
138
-
139
- // When zoom-out mode is enabled, the iframe is scaled down to fit the
140
- // content within the viewport.
141
- // At 1000px wide, the iframe is scaled to 45%.
142
- // At 400px wide, the iframe is scaled to 90%.
143
- const scale = isZoomOutMode && shouldZoom ? (0, _calculateScale.default)({
144
- maxWidth: 1000,
145
- minWidth: 400,
146
- maxScale: 0.45,
147
- minScale: 0.9
148
- }, contentWidth) : 1;
149
- const frameSize = isZoomOutMode ? 100 : 0;
150
135
  const setRef = (0, _compose.useRefEffect)(node => {
151
136
  node._load = () => {
152
137
  setIframeDocument(node.contentDocument);
@@ -194,10 +179,21 @@ function Iframe({
194
179
  iFrameDocument?.removeEventListener('drop', preventFileDropDefault);
195
180
  };
196
181
  }, []);
182
+ const windowResizeRef = (0, _compose.useRefEffect)(node => {
183
+ const nodeWindow = node.ownerDocument.defaultView;
184
+ const onResize = () => {
185
+ setIframeWindowInnerHeight(nodeWindow.innerHeight);
186
+ };
187
+ nodeWindow.addEventListener('resize', onResize);
188
+ return () => {
189
+ nodeWindow.removeEventListener('resize', onResize);
190
+ };
191
+ }, []);
192
+ const [iframeWindowInnerHeight, setIframeWindowInnerHeight] = (0, _element.useState)();
197
193
  const disabledRef = (0, _compose.useDisabled)({
198
194
  isDisabled: !readonly
199
195
  });
200
- const bodyRef = (0, _compose.useMergeRefs)([useBubbleEvents(iframeDocument), contentRef, clearerRef, writingFlowRef, disabledRef]);
196
+ const bodyRef = (0, _compose.useMergeRefs)([useBubbleEvents(iframeDocument), contentRef, clearerRef, writingFlowRef, disabledRef, windowResizeRef]);
201
197
 
202
198
  // Correct doctype is required to enable rendering in standards
203
199
  // mode. Also preload the styles to avoid a flash of unstyled
@@ -234,23 +230,31 @@ function Iframe({
234
230
  return [_src, () => URL.revokeObjectURL(_src)];
235
231
  }, [html]);
236
232
  (0, _element.useEffect)(() => cleanup, [cleanup]);
237
-
238
- // We need to counter the margin created by scaling the iframe. If the scale
239
- // is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the
240
- // top or bottom margin is 0.55 / 2 ((1 - scale) / 2).
241
- const marginFromScaling = contentHeight * (1 - scale) / 2;
242
233
  (0, _element.useEffect)(() => {
243
- if (iframeDocument && scale !== 1) {
244
- iframeDocument.documentElement.style.transform = `scale( ${scale} )`;
234
+ if (!iframeDocument) {
235
+ return;
236
+ }
237
+ const _scale = typeof scale === 'function' ? scale(contentWidth, contentHeight) : scale;
238
+ if (_scale !== 1) {
239
+ // Hack to get proper margins when scaling the iframe document.
240
+ const bottomFrameSize = frameSize - contentHeight * (1 - _scale);
241
+ iframeDocument.body.classList.add('is-zoomed-out');
242
+ iframeDocument.documentElement.style.transform = `scale( ${_scale} )`;
245
243
  iframeDocument.documentElement.style.marginTop = `${frameSize}px`;
246
- iframeDocument.documentElement.style.marginBottom = `${-marginFromScaling * 2 + frameSize}px`;
244
+ // TODO: `marginBottom` doesn't work in Firefox. We need another way to do this.
245
+ iframeDocument.documentElement.style.marginBottom = `${bottomFrameSize}px`;
246
+ if (iframeWindowInnerHeight > contentHeight * _scale) {
247
+ iframeDocument.body.style.minHeight = `${Math.floor((iframeWindowInnerHeight - 2 * frameSize) / _scale)}px`;
248
+ }
247
249
  return () => {
250
+ iframeDocument.body.classList.remove('is-zoomed-out');
248
251
  iframeDocument.documentElement.style.transform = '';
249
252
  iframeDocument.documentElement.style.marginTop = '';
250
253
  iframeDocument.documentElement.style.marginBottom = '';
254
+ iframeDocument.body.style.minHeight = '';
251
255
  };
252
256
  }
253
- }, [scale, frameSize, marginFromScaling, iframeDocument]);
257
+ }, [scale, frameSize, iframeDocument, contentHeight, iframeWindowInnerHeight, contentWidth]);
254
258
 
255
259
  // Make sure to not render the before and after focusable div elements in view
256
260
  // mode. They're only needed to capture focus in edit mode.
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_compose","_components","_data","_blockSelectionClearer","_writingFlow","_getCompatibilityStyles","_store","_calculateScale","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","useRefEffect","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","shouldZoom","readonly","forwardedRef","ref","title","__","props","resolvedAssets","isPreviewMode","isZoomOutMode","useSelect","select","getSettings","__unstableGetEditorMode","blockEditorStore","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","useState","bodyClasses","setBodyClasses","clearerRef","useBlockSelectionClearer","before","writingFlowRef","after","useWritingFlow","contentResizeListener","height","contentHeight","width","contentWidth","useResizeObserver","scale","calculateScale","maxWidth","minWidth","maxScale","minScale","frameSize","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getCompatibilityStyles","getElementById","id","head","appendChild","cloneNode","console","warn","disabledRef","useDisabled","isDisabled","bodyRef","useMergeRefs","src","cleanup","useMemo","_src","URL","createObjectURL","Blob","revokeObjectURL","useEffect","marginFromScaling","style","transform","marginTop","marginBottom","shouldRenderFocusCaptureElements","_react","createElement","Fragment","border","transition","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","createPortal","className","classnames","__experimentalStyleProvider","document","IframeIfReady","isInitialised","__internalIsInitialized","_default","exports","default","forwardRef"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\nimport calculateScale from '../../utils/calculate-scale';\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tshouldZoom = false,\n\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode, isZoomOutMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\treturn {\n\t\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight, width: contentWidth },\n\t] = useResizeObserver();\n\n\t// When zoom-out mode is enabled, the iframe is scaled down to fit the\n\t// content within the viewport.\n\t// At 1000px wide, the iframe is scaled to 45%.\n\t// At 400px wide, the iframe is scaled to 90%.\n\tconst scale =\n\t\tisZoomOutMode && shouldZoom\n\t\t\t? calculateScale(\n\t\t\t\t\t{\n\t\t\t\t\t\tmaxWidth: 1000,\n\t\t\t\t\t\tminWidth: 400,\n\t\t\t\t\t\tmaxScale: 0.45,\n\t\t\t\t\t\tminScale: 0.9,\n\t\t\t\t\t},\n\t\t\t\t\tcontentWidth\n\t\t\t )\n\t\t\t: 1;\n\tconst frameSize = isZoomOutMode ? 100 : 0;\n\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tdocumentElement.classList.add( 'block-editor-iframe__html' );\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>\n\t\t\thtml{\n\t\t\t\theight: auto !important;\n\t\t\t\tmin-height: 100%;\n\t\t\t}\n\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t\t/* Default background color in case zoom out mode background\n\t\t\t\tcolors the html element */\n\t\t\t\tbackground: white;\n\t\t\t}\n\t\t</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\tuseEffect( () => {\n\t\tif ( iframeDocument && scale !== 1 ) {\n\t\t\tiframeDocument.documentElement.style.transform = `scale( ${ scale } )`;\n\t\t\tiframeDocument.documentElement.style.marginTop = `${ frameSize }px`;\n\t\t\tiframeDocument.documentElement.style.marginBottom = `${\n\t\t\t\t-marginFromScaling * 2 + frameSize\n\t\t\t}px`;\n\t\t\treturn () => {\n\t\t\t\tiframeDocument.documentElement.style.transform = '';\n\t\t\t\tiframeDocument.documentElement.style.marginTop = '';\n\t\t\t\tiframeDocument.documentElement.style.marginBottom = '';\n\t\t\t};\n\t\t}\n\t}, [ scale, frameSize, marginFromScaling, iframeDocument ] );\n\n\t// Make sure to not render the before and after focusable div elements in view\n\t// mode. They're only needed to capture focus in edit mode.\n\tconst shouldRenderFocusCaptureElements = tabIndex >= 0 && ! isPreviewMode;\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldRenderFocusCaptureElements && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ title }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\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\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ shouldRenderFocusCaptureElements && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAOA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAMA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,uBAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAX,sBAAA,CAAAC,OAAA;AAhCA;AACA;AACA;;AAGA;AACA;AACA;;AAkBA;AACA;AACA;;AAMA,SAASW,WAAWA,CAAEC,KAAK,EAAEC,WAAW,EAAEC,KAAK,EAAG;EACjD,MAAMC,IAAI,GAAG,CAAC,CAAC;EAEf,KAAM,MAAMC,GAAG,IAAIJ,KAAK,EAAG;IAC1BG,IAAI,CAAEC,GAAG,CAAE,GAAGJ,KAAK,CAAEI,GAAG,CAAE;EAC3B;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAKJ,KAAK,YAAYE,KAAK,CAACG,eAAe,CAACC,WAAW,CAACC,UAAU,EAAG;IACpE,MAAMC,IAAI,GAAGN,KAAK,CAACO,qBAAqB,CAAC,CAAC;IAC1CN,IAAI,CAACO,OAAO,IAAIF,IAAI,CAACG,IAAI;IACzBR,IAAI,CAACS,OAAO,IAAIJ,IAAI,CAACK,GAAG;EACzB;EAEA,MAAMC,QAAQ,GAAG,IAAIb,WAAW,CAAED,KAAK,CAACe,IAAI,EAAEZ,IAAK,CAAC;EACpD,IAAKA,IAAI,CAACa,gBAAgB,EAAG;IAC5BF,QAAQ,CAACG,cAAc,CAAC,CAAC;EAC1B;EACA,MAAMC,SAAS,GAAG,CAAEhB,KAAK,CAACiB,aAAa,CAAEL,QAAS,CAAC;EAEnD,IAAKI,SAAS,EAAG;IAChBlB,KAAK,CAACiB,cAAc,CAAC,CAAC;EACvB;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,eAAeA,CAAEC,cAAc,EAAG;EAC1C,OAAO,IAAAC,qBAAY,EAAE,MAAM;IAC1B,MAAM;MAAEhB;IAAY,CAAC,GAAGe,cAAc;IACtC,IAAK,CAAEf,WAAW,EAAG;MACpB;IACD;IACA,MAAM;MAAEiB;IAAa,CAAC,GAAGjB,WAAW;IACpC,MAAMkB,IAAI,GAAGH,cAAc,CAACI,eAAe;IAC3C,MAAMC,UAAU,GAAG,CAAE,UAAU,EAAE,WAAW,CAAE;IAC9C,MAAMC,QAAQ,GAAG,CAAC,CAAC;IACnB,KAAM,MAAMC,IAAI,IAAIF,UAAU,EAAG;MAChCC,QAAQ,CAAEC,IAAI,CAAE,GAAK5B,KAAK,IAAM;QAC/B,MAAM6B,SAAS,GAAGC,MAAM,CAACC,cAAc,CAAE/B,KAAM,CAAC;QAChD,MAAMgC,eAAe,GAAGH,SAAS,CAACI,WAAW,CAACL,IAAI;QAClD,MAAM3B,WAAW,GAAGiC,MAAM,CAAEF,eAAe,CAAE;QAC7CjC,WAAW,CAAEC,KAAK,EAAEC,WAAW,EAAEsB,YAAa,CAAC;MAChD,CAAC;MACDC,IAAI,CAACW,gBAAgB,CAAEP,IAAI,EAAED,QAAQ,CAAEC,IAAI,CAAG,CAAC;IAChD;IAEA,OAAO,MAAM;MACZ,KAAM,MAAMA,IAAI,IAAIF,UAAU,EAAG;QAChCF,IAAI,CAACY,mBAAmB,CAAER,IAAI,EAAED,QAAQ,CAAEC,IAAI,CAAG,CAAC;MACnD;IACD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAASS,MAAMA,CAAE;EAChBC,UAAU;EACVC,QAAQ;EACRC,QAAQ,GAAG,CAAC;EACZC,UAAU,GAAG,KAAK;EAClBC,QAAQ;EACRC,YAAY,EAAEC,GAAG;EACjBC,KAAK,GAAG,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC7B,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IAAEC,cAAc;IAAEC,aAAa;IAAEC;EAAc,CAAC,GAAG,IAAAC,eAAS,EAC/DC,MAAM,IAAM;IACb,MAAM;MAAEC,WAAW;MAAEC;IAAwB,CAAC,GAC7CF,MAAM,CAAEG,YAAiB,CAAC;IAC3B,MAAMC,QAAQ,GAAGH,WAAW,CAAC,CAAC;IAC9B,OAAO;MACNL,cAAc,EAAEQ,QAAQ,CAACC,wBAAwB;MACjDR,aAAa,EAAEO,QAAQ,CAACE,uBAAuB;MAC/CR,aAAa,EAAEI,uBAAuB,CAAC,CAAC,KAAK;IAC9C,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEK,MAAM,GAAG,EAAE;IAAEC,OAAO,GAAG;EAAG,CAAC,GAAGZ,cAAc;EACpD,MAAM,CAAE3B,cAAc,EAAEwC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EACxD,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAF,iBAAQ,EAAE,EAAG,CAAC;EACtD,MAAMG,UAAU,GAAG,IAAAC,+CAAwB,EAAC,CAAC;EAC7C,MAAM,CAAEC,MAAM,EAAEC,cAAc,EAAEC,KAAK,CAAE,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAC1D,MAAM,CACLC,qBAAqB,EACrB;IAAEC,MAAM,EAAEC,aAAa;IAAEC,KAAK,EAAEC;EAAa,CAAC,CAC9C,GAAG,IAAAC,0BAAiB,EAAC,CAAC;;EAEvB;EACA;EACA;EACA;EACA,MAAMC,KAAK,GACV3B,aAAa,IAAIT,UAAU,GACxB,IAAAqC,uBAAc,EACd;IACCC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE,GAAG;IACbC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE;EACX,CAAC,EACDP,YACA,CAAC,GACD,CAAC;EACL,MAAMQ,SAAS,GAAGjC,aAAa,GAAG,GAAG,GAAG,CAAC;EAEzC,MAAMkC,MAAM,GAAG,IAAA9D,qBAAY,EAAI+D,IAAI,IAAM;IACxCA,IAAI,CAACC,KAAK,GAAG,MAAM;MAClBzB,iBAAiB,CAAEwB,IAAI,CAAChF,eAAgB,CAAC;IAC1C,CAAC;IACD,IAAIkF,cAAc;IAClB;IACA,SAASC,sBAAsBA,CAAExF,KAAK,EAAG;MACxCA,KAAK,CAACiB,cAAc,CAAC,CAAC;IACvB;IACA,SAASwE,MAAMA,CAAA,EAAG;MACjB,MAAM;QAAEpF,eAAe;QAAEqF;MAAc,CAAC,GAAGL,IAAI;MAC/C,MAAM;QAAE5D;MAAgB,CAAC,GAAGpB,eAAe;MAC3CkF,cAAc,GAAGlF,eAAe;MAEhCoB,eAAe,CAACkE,SAAS,CAACC,GAAG,CAAE,2BAA4B,CAAC;MAE5D3B,UAAU,CAAExC,eAAgB,CAAC;;MAE7B;MACA;MACA;MACAuC,cAAc,CACb6B,KAAK,CAACC,IAAI,CAAEJ,aAAa,CAACK,IAAI,CAACJ,SAAU,CAAC,CAACK,MAAM,CAC9CpE,IAAI,IACLA,IAAI,CAACqE,UAAU,CAAE,cAAe,CAAC,IACjCrE,IAAI,CAACqE,UAAU,CAAE,YAAa,CAAC,IAC/BrE,IAAI,KAAK,qBACX,CACD,CAAC;MAEDvB,eAAe,CAAC6F,GAAG,GAAGR,aAAa,CAACQ,GAAG;MAEvC,KAAM,MAAMC,WAAW,IAAI,IAAAC,8CAAsB,EAAC,CAAC,EAAG;QACrD,IAAK/F,eAAe,CAACgG,cAAc,CAAEF,WAAW,CAACG,EAAG,CAAC,EAAG;UACvD;QACD;QAEAjG,eAAe,CAACkG,IAAI,CAACC,WAAW,CAC/BL,WAAW,CAACM,SAAS,CAAE,IAAK,CAC7B,CAAC;QAED,IAAK,CAAExD,aAAa,EAAG;UACtB;UACAyD,OAAO,CAACC,IAAI,CACV,GAAGR,WAAW,CAACG,EAAI,kHAAiH,EACrIH,WACD,CAAC;QACF;MACD;MAEAZ,cAAc,CAACpD,gBAAgB,CAC9B,UAAU,EACVqD,sBAAsB,EACtB,KACD,CAAC;MACDD,cAAc,CAACpD,gBAAgB,CAC9B,MAAM,EACNqD,sBAAsB,EACtB,KACD,CAAC;IACF;IAEAH,IAAI,CAAClD,gBAAgB,CAAE,MAAM,EAAEsD,MAAO,CAAC;IAEvC,OAAO,MAAM;MACZ,OAAOJ,IAAI,CAACC,KAAK;MACjBD,IAAI,CAACjD,mBAAmB,CAAE,MAAM,EAAEqD,MAAO,CAAC;MAC1CF,cAAc,EAAEnD,mBAAmB,CAClC,UAAU,EACVoD,sBACD,CAAC;MACDD,cAAc,EAAEnD,mBAAmB,CAClC,MAAM,EACNoD,sBACD,CAAC;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMoB,WAAW,GAAG,IAAAC,oBAAW,EAAE;IAAEC,UAAU,EAAE,CAAEpE;EAAS,CAAE,CAAC;EAC7D,MAAMqE,OAAO,GAAG,IAAAC,qBAAY,EAAE,CAC7B5F,eAAe,CAAEC,cAAe,CAAC,EACjCiB,UAAU,EACV2B,UAAU,EACVG,cAAc,EACdwC,WAAW,CACV,CAAC;;EAEH;EACA;EACA;EACA,MAAMpF,IAAI,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAKmC,MAAQ;AACb,IAAKC,OAAS;AACd;AACA;AACA;AACA;AACA,QAAQ;EAEP,MAAM,CAAEqD,GAAG,EAAEC,OAAO,CAAE,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACvC,MAAMC,IAAI,GAAGC,GAAG,CAACC,eAAe,CAC/B,IAAIpF,MAAM,CAACqF,IAAI,CAAE,CAAE/F,IAAI,CAAE,EAAE;MAAET,IAAI,EAAE;IAAY,CAAE,CAClD,CAAC;IACD,OAAO,CAAEqG,IAAI,EAAE,MAAMC,GAAG,CAACG,eAAe,CAAEJ,IAAK,CAAC,CAAE;EACnD,CAAC,EAAE,CAAE5F,IAAI,CAAG,CAAC;EAEb,IAAAiG,kBAAS,EAAE,MAAMP,OAAO,EAAE,CAAEA,OAAO,CAAG,CAAC;;EAEvC;EACA;EACA;EACA,MAAMQ,iBAAiB,GAAKjD,aAAa,IAAK,CAAC,GAAGI,KAAK,CAAE,GAAK,CAAC;EAE/D,IAAA4C,kBAAS,EAAE,MAAM;IAChB,IAAKpG,cAAc,IAAIwD,KAAK,KAAK,CAAC,EAAG;MACpCxD,cAAc,CAACI,eAAe,CAACkG,KAAK,CAACC,SAAS,GAAI,UAAU/C,KAAO,IAAG;MACtExD,cAAc,CAACI,eAAe,CAACkG,KAAK,CAACE,SAAS,GAAI,GAAG1C,SAAW,IAAG;MACnE9D,cAAc,CAACI,eAAe,CAACkG,KAAK,CAACG,YAAY,GAAI,GACpD,CAACJ,iBAAiB,GAAG,CAAC,GAAGvC,SACzB,IAAG;MACJ,OAAO,MAAM;QACZ9D,cAAc,CAACI,eAAe,CAACkG,KAAK,CAACC,SAAS,GAAG,EAAE;QACnDvG,cAAc,CAACI,eAAe,CAACkG,KAAK,CAACE,SAAS,GAAG,EAAE;QACnDxG,cAAc,CAACI,eAAe,CAACkG,KAAK,CAACG,YAAY,GAAG,EAAE;MACvD,CAAC;IACF;EACD,CAAC,EAAE,CAAEjD,KAAK,EAAEM,SAAS,EAAEuC,iBAAiB,EAAErG,cAAc,CAAG,CAAC;;EAE5D;EACA;EACA,MAAM0G,gCAAgC,GAAGvF,QAAQ,IAAI,CAAC,IAAI,CAAES,aAAa;EAEzE,OACC,IAAA+E,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGH,gCAAgC,IAAI5D,MAAM,EAE5C,IAAA6D,MAAA,CAAAC,aAAA;IAAA,GACMlF,KAAK;IACV4E,KAAK,EAAG;MACPQ,MAAM,EAAE,CAAC;MACT,GAAGpF,KAAK,CAAC4E,KAAK;MACdnD,MAAM,EAAEzB,KAAK,CAAC4E,KAAK,EAAEnD,MAAM;MAC3B4D,UAAU,EAAE;IACb,CAAG;IACHxF,GAAG,EAAG,IAAAoE,qBAAY,EAAE,CAAEpE,GAAG,EAAEwC,MAAM,CAAG,CAAG;IACvC5C,QAAQ,EAAGA;IACX;IACA;IACA;IAAA;IACAyE,GAAG,EAAGA,GAAK;IACXpE,KAAK,EAAGA,KAAO;IACfwF,SAAS,EAAKrI,KAAK,IAAM;MACxB,IAAK+C,KAAK,CAACsF,SAAS,EAAG;QACtBtF,KAAK,CAACsF,SAAS,CAAErI,KAAM,CAAC;MACzB;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IACCA,KAAK,CAACsI,aAAa,CAAC5C,aAAa,KACjC1F,KAAK,CAACuI,MAAM,CAAC7C,aAAa,EACzB;QACD1F,KAAK,CAACwI,eAAe,CAAC,CAAC;QACvBzI,WAAW,CACVC,KAAK,EACLkC,MAAM,CAACuG,aAAa,EACpBzI,KAAK,CAACsI,aACP,CAAC;MACF;IACD;EAAG,GAEDjH,cAAc,IACf,IAAAqH,qBAAY;EACX;EACA;EACA;EACA,IAAAV,MAAA,CAAAC,aAAA;IACCrF,GAAG,EAAGmE,OAAS;IACf4B,SAAS,EAAG,IAAAC,mBAAU,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,GAAG7E,WACJ;EAAG,GAEDQ,qBAAqB,EACvB,IAAAyD,MAAA,CAAAC,aAAA,EAACzI,WAAA,CAAAqJ,2BAAa;IAACC,QAAQ,EAAGzH;EAAgB,GACvCkB,QACY,CACV,CAAC,EACPlB,cAAc,CAACI,eAChB,CACM,CAAC,EACPsG,gCAAgC,IAAI1D,KACrC,CAAC;AAEL;AAEA,SAAS0E,aAAaA,CAAEhG,KAAK,EAAEH,GAAG,EAAG;EACpC,MAAMoG,aAAa,GAAG,IAAA7F,eAAS,EAC5BC,MAAM,IACPA,MAAM,CAAEG,YAAiB,CAAC,CAACF,WAAW,CAAC,CAAC,CAAC4F,uBAAuB,EACjE,EACD,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,IAAK,CAAED,aAAa,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OAAO,IAAAhB,MAAA,CAAAC,aAAA,EAAC5F,MAAM;IAAA,GAAMU,KAAK;IAAGJ,YAAY,EAAGC;EAAK,CAAE,CAAC;AACpD;AAAC,IAAAsG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAEN,aAAc,CAAC"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_compose","_components","_data","_blockSelectionClearer","_writingFlow","_getCompatibilityStyles","_store","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","useRefEffect","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","readonly","forwardedRef","ref","title","__","props","resolvedAssets","isPreviewMode","useSelect","select","getSettings","blockEditorStore","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","useState","bodyClasses","setBodyClasses","clearerRef","useBlockSelectionClearer","before","writingFlowRef","after","useWritingFlow","contentResizeListener","height","contentHeight","width","contentWidth","useResizeObserver","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getCompatibilityStyles","getElementById","id","head","appendChild","cloneNode","console","warn","windowResizeRef","nodeWindow","onResize","setIframeWindowInnerHeight","innerHeight","iframeWindowInnerHeight","disabledRef","useDisabled","isDisabled","bodyRef","useMergeRefs","src","cleanup","useMemo","_src","URL","createObjectURL","Blob","revokeObjectURL","useEffect","_scale","bottomFrameSize","style","transform","marginTop","marginBottom","minHeight","Math","floor","remove","shouldRenderFocusCaptureElements","_react","createElement","Fragment","border","transition","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","createPortal","className","classnames","__experimentalStyleProvider","document","IframeIfReady","isInitialised","__internalIsInitialized","_default","exports","default","forwardRef"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight, width: contentWidth },\n\t] = useResizeObserver();\n\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tdocumentElement.classList.add( 'block-editor-iframe__html' );\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst windowResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tconst onResize = () => {\n\t\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst [ iframeWindowInnerHeight, setIframeWindowInnerHeight ] = useState();\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t\twindowResizeRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>\n\t\t\thtml{\n\t\t\t\theight: auto !important;\n\t\t\t\tmin-height: 100%;\n\t\t\t}\n\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t\t/* Default background color in case zoom out mode background\n\t\t\t\tcolors the html element */\n\t\t\t\tbackground: white;\n\t\t\t}\n\t\t</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\tuseEffect( () => {\n\t\tif ( ! iframeDocument ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst _scale =\n\t\t\ttypeof scale === 'function'\n\t\t\t\t? scale( contentWidth, contentHeight )\n\t\t\t\t: scale;\n\n\t\tif ( _scale !== 1 ) {\n\t\t\t// Hack to get proper margins when scaling the iframe document.\n\t\t\tconst bottomFrameSize = frameSize - contentHeight * ( 1 - _scale );\n\n\t\t\tiframeDocument.body.classList.add( 'is-zoomed-out' );\n\n\t\t\tiframeDocument.documentElement.style.transform = `scale( ${ _scale } )`;\n\t\t\tiframeDocument.documentElement.style.marginTop = `${ frameSize }px`;\n\t\t\t// TODO: `marginBottom` doesn't work in Firefox. We need another way to do this.\n\t\t\tiframeDocument.documentElement.style.marginBottom = `${ bottomFrameSize }px`;\n\t\t\tif ( iframeWindowInnerHeight > contentHeight * _scale ) {\n\t\t\t\tiframeDocument.body.style.minHeight = `${ Math.floor(\n\t\t\t\t\t( iframeWindowInnerHeight - 2 * frameSize ) / _scale\n\t\t\t\t) }px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tiframeDocument.body.classList.remove( 'is-zoomed-out' );\n\t\t\t\tiframeDocument.documentElement.style.transform = '';\n\t\t\t\tiframeDocument.documentElement.style.marginTop = '';\n\t\t\t\tiframeDocument.documentElement.style.marginBottom = '';\n\t\t\t\tiframeDocument.body.style.minHeight = '';\n\t\t\t};\n\t\t}\n\t}, [\n\t\tscale,\n\t\tframeSize,\n\t\tiframeDocument,\n\t\tcontentHeight,\n\t\tiframeWindowInnerHeight,\n\t\tcontentWidth,\n\t] );\n\n\t// Make sure to not render the before and after focusable div elements in view\n\t// mode. They're only needed to capture focus in edit mode.\n\tconst shouldRenderFocusCaptureElements = tabIndex >= 0 && ! isPreviewMode;\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldRenderFocusCaptureElements && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ title }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\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\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ shouldRenderFocusCaptureElements && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAOA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAMA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,uBAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AA/BA;AACA;AACA;;AAGA;AACA;AACA;;AAkBA;AACA;AACA;;AAMA,SAASU,WAAWA,CAAEC,KAAK,EAAEC,WAAW,EAAEC,KAAK,EAAG;EACjD,MAAMC,IAAI,GAAG,CAAC,CAAC;EAEf,KAAM,MAAMC,GAAG,IAAIJ,KAAK,EAAG;IAC1BG,IAAI,CAAEC,GAAG,CAAE,GAAGJ,KAAK,CAAEI,GAAG,CAAE;EAC3B;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAKJ,KAAK,YAAYE,KAAK,CAACG,eAAe,CAACC,WAAW,CAACC,UAAU,EAAG;IACpE,MAAMC,IAAI,GAAGN,KAAK,CAACO,qBAAqB,CAAC,CAAC;IAC1CN,IAAI,CAACO,OAAO,IAAIF,IAAI,CAACG,IAAI;IACzBR,IAAI,CAACS,OAAO,IAAIJ,IAAI,CAACK,GAAG;EACzB;EAEA,MAAMC,QAAQ,GAAG,IAAIb,WAAW,CAAED,KAAK,CAACe,IAAI,EAAEZ,IAAK,CAAC;EACpD,IAAKA,IAAI,CAACa,gBAAgB,EAAG;IAC5BF,QAAQ,CAACG,cAAc,CAAC,CAAC;EAC1B;EACA,MAAMC,SAAS,GAAG,CAAEhB,KAAK,CAACiB,aAAa,CAAEL,QAAS,CAAC;EAEnD,IAAKI,SAAS,EAAG;IAChBlB,KAAK,CAACiB,cAAc,CAAC,CAAC;EACvB;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,eAAeA,CAAEC,cAAc,EAAG;EAC1C,OAAO,IAAAC,qBAAY,EAAE,MAAM;IAC1B,MAAM;MAAEhB;IAAY,CAAC,GAAGe,cAAc;IACtC,IAAK,CAAEf,WAAW,EAAG;MACpB;IACD;IACA,MAAM;MAAEiB;IAAa,CAAC,GAAGjB,WAAW;IACpC,MAAMkB,IAAI,GAAGH,cAAc,CAACI,eAAe;IAC3C,MAAMC,UAAU,GAAG,CAAE,UAAU,EAAE,WAAW,CAAE;IAC9C,MAAMC,QAAQ,GAAG,CAAC,CAAC;IACnB,KAAM,MAAMC,IAAI,IAAIF,UAAU,EAAG;MAChCC,QAAQ,CAAEC,IAAI,CAAE,GAAK5B,KAAK,IAAM;QAC/B,MAAM6B,SAAS,GAAGC,MAAM,CAACC,cAAc,CAAE/B,KAAM,CAAC;QAChD,MAAMgC,eAAe,GAAGH,SAAS,CAACI,WAAW,CAACL,IAAI;QAClD,MAAM3B,WAAW,GAAGiC,MAAM,CAAEF,eAAe,CAAE;QAC7CjC,WAAW,CAAEC,KAAK,EAAEC,WAAW,EAAEsB,YAAa,CAAC;MAChD,CAAC;MACDC,IAAI,CAACW,gBAAgB,CAAEP,IAAI,EAAED,QAAQ,CAAEC,IAAI,CAAG,CAAC;IAChD;IAEA,OAAO,MAAM;MACZ,KAAM,MAAMA,IAAI,IAAIF,UAAU,EAAG;QAChCF,IAAI,CAACY,mBAAmB,CAAER,IAAI,EAAED,QAAQ,CAAEC,IAAI,CAAG,CAAC;MACnD;IACD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAASS,MAAMA,CAAE;EAChBC,UAAU;EACVC,QAAQ;EACRC,QAAQ,GAAG,CAAC;EACZC,KAAK,GAAG,CAAC;EACTC,SAAS,GAAG,CAAC;EACbC,QAAQ;EACRC,YAAY,EAAEC,GAAG;EACjBC,KAAK,GAAG,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC7B,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IAAEC,cAAc;IAAEC;EAAc,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAClE,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAClD,MAAMC,QAAQ,GAAGF,WAAW,CAAC,CAAC;IAC9B,OAAO;MACNJ,cAAc,EAAEM,QAAQ,CAACC,wBAAwB;MACjDN,aAAa,EAAEK,QAAQ,CAACE;IACzB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC,MAAM,GAAG,EAAE;IAAEC,OAAO,GAAG;EAAG,CAAC,GAAGV,cAAc;EACpD,MAAM,CAAE5B,cAAc,EAAEuC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EACxD,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAF,iBAAQ,EAAE,EAAG,CAAC;EACtD,MAAMG,UAAU,GAAG,IAAAC,+CAAwB,EAAC,CAAC;EAC7C,MAAM,CAAEC,MAAM,EAAEC,cAAc,EAAEC,KAAK,CAAE,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAC1D,MAAM,CACLC,qBAAqB,EACrB;IAAEC,MAAM,EAAEC,aAAa;IAAEC,KAAK,EAAEC;EAAa,CAAC,CAC9C,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EAEvB,MAAMC,MAAM,GAAG,IAAAtD,qBAAY,EAAIuD,IAAI,IAAM;IACxCA,IAAI,CAACC,KAAK,GAAG,MAAM;MAClBlB,iBAAiB,CAAEiB,IAAI,CAACxE,eAAgB,CAAC;IAC1C,CAAC;IACD,IAAI0E,cAAc;IAClB;IACA,SAASC,sBAAsBA,CAAEhF,KAAK,EAAG;MACxCA,KAAK,CAACiB,cAAc,CAAC,CAAC;IACvB;IACA,SAASgE,MAAMA,CAAA,EAAG;MACjB,MAAM;QAAE5E,eAAe;QAAE6E;MAAc,CAAC,GAAGL,IAAI;MAC/C,MAAM;QAAEpD;MAAgB,CAAC,GAAGpB,eAAe;MAC3C0E,cAAc,GAAG1E,eAAe;MAEhCoB,eAAe,CAAC0D,SAAS,CAACC,GAAG,CAAE,2BAA4B,CAAC;MAE5DpB,UAAU,CAAEvC,eAAgB,CAAC;;MAE7B;MACA;MACA;MACAsC,cAAc,CACbsB,KAAK,CAACC,IAAI,CAAEJ,aAAa,CAACK,IAAI,CAACJ,SAAU,CAAC,CAACK,MAAM,CAC9C5D,IAAI,IACLA,IAAI,CAAC6D,UAAU,CAAE,cAAe,CAAC,IACjC7D,IAAI,CAAC6D,UAAU,CAAE,YAAa,CAAC,IAC/B7D,IAAI,KAAK,qBACX,CACD,CAAC;MAEDvB,eAAe,CAACqF,GAAG,GAAGR,aAAa,CAACQ,GAAG;MAEvC,KAAM,MAAMC,WAAW,IAAI,IAAAC,8CAAsB,EAAC,CAAC,EAAG;QACrD,IAAKvF,eAAe,CAACwF,cAAc,CAAEF,WAAW,CAACG,EAAG,CAAC,EAAG;UACvD;QACD;QAEAzF,eAAe,CAAC0F,IAAI,CAACC,WAAW,CAC/BL,WAAW,CAACM,SAAS,CAAE,IAAK,CAC7B,CAAC;QAED,IAAK,CAAE/C,aAAa,EAAG;UACtB;UACAgD,OAAO,CAACC,IAAI,CACV,GAAGR,WAAW,CAACG,EAAI,kHAAiH,EACrIH,WACD,CAAC;QACF;MACD;MAEAZ,cAAc,CAAC5C,gBAAgB,CAC9B,UAAU,EACV6C,sBAAsB,EACtB,KACD,CAAC;MACDD,cAAc,CAAC5C,gBAAgB,CAC9B,MAAM,EACN6C,sBAAsB,EACtB,KACD,CAAC;IACF;IAEAH,IAAI,CAAC1C,gBAAgB,CAAE,MAAM,EAAE8C,MAAO,CAAC;IAEvC,OAAO,MAAM;MACZ,OAAOJ,IAAI,CAACC,KAAK;MACjBD,IAAI,CAACzC,mBAAmB,CAAE,MAAM,EAAE6C,MAAO,CAAC;MAC1CF,cAAc,EAAE3C,mBAAmB,CAClC,UAAU,EACV4C,sBACD,CAAC;MACDD,cAAc,EAAE3C,mBAAmB,CAClC,MAAM,EACN4C,sBACD,CAAC;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMoB,eAAe,GAAG,IAAA9E,qBAAY,EAAIuD,IAAI,IAAM;IACjD,MAAMwB,UAAU,GAAGxB,IAAI,CAACK,aAAa,CAAC5E,WAAW;IAEjD,MAAMgG,QAAQ,GAAGA,CAAA,KAAM;MACtBC,0BAA0B,CAAEF,UAAU,CAACG,WAAY,CAAC;IACrD,CAAC;IACDH,UAAU,CAAClE,gBAAgB,CAAE,QAAQ,EAAEmE,QAAS,CAAC;IACjD,OAAO,MAAM;MACZD,UAAU,CAACjE,mBAAmB,CAAE,QAAQ,EAAEkE,QAAS,CAAC;IACrD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEG,uBAAuB,EAAEF,0BAA0B,CAAE,GAAG,IAAA1C,iBAAQ,EAAC,CAAC;EAE1E,MAAM6C,WAAW,GAAG,IAAAC,oBAAW,EAAE;IAAEC,UAAU,EAAE,CAAEjE;EAAS,CAAE,CAAC;EAC7D,MAAMkE,OAAO,GAAG,IAAAC,qBAAY,EAAE,CAC7B1F,eAAe,CAAEC,cAAe,CAAC,EACjCiB,UAAU,EACV0B,UAAU,EACVG,cAAc,EACduC,WAAW,EACXN,eAAe,CACd,CAAC;;EAEH;EACA;EACA;EACA,MAAM5E,IAAI,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAKkC,MAAQ;AACb,IAAKC,OAAS;AACd;AACA;AACA;AACA;AACA,QAAQ;EAEP,MAAM,CAAEoD,GAAG,EAAEC,OAAO,CAAE,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACvC,MAAMC,IAAI,GAAGC,GAAG,CAACC,eAAe,CAC/B,IAAIlF,MAAM,CAACmF,IAAI,CAAE,CAAE7F,IAAI,CAAE,EAAE;MAAET,IAAI,EAAE;IAAY,CAAE,CAClD,CAAC;IACD,OAAO,CAAEmG,IAAI,EAAE,MAAMC,GAAG,CAACG,eAAe,CAAEJ,IAAK,CAAC,CAAE;EACnD,CAAC,EAAE,CAAE1F,IAAI,CAAG,CAAC;EAEb,IAAA+F,kBAAS,EAAE,MAAMP,OAAO,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEvC,IAAAO,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAElG,cAAc,EAAG;MACvB;IACD;IAEA,MAAMmG,MAAM,GACX,OAAO/E,KAAK,KAAK,UAAU,GACxBA,KAAK,CAAEiC,YAAY,EAAEF,aAAc,CAAC,GACpC/B,KAAK;IAET,IAAK+E,MAAM,KAAK,CAAC,EAAG;MACnB;MACA,MAAMC,eAAe,GAAG/E,SAAS,GAAG8B,aAAa,IAAK,CAAC,GAAGgD,MAAM,CAAE;MAElEnG,cAAc,CAACkE,IAAI,CAACJ,SAAS,CAACC,GAAG,CAAE,eAAgB,CAAC;MAEpD/D,cAAc,CAACI,eAAe,CAACiG,KAAK,CAACC,SAAS,GAAI,UAAUH,MAAQ,IAAG;MACvEnG,cAAc,CAACI,eAAe,CAACiG,KAAK,CAACE,SAAS,GAAI,GAAGlF,SAAW,IAAG;MACnE;MACArB,cAAc,CAACI,eAAe,CAACiG,KAAK,CAACG,YAAY,GAAI,GAAGJ,eAAiB,IAAG;MAC5E,IAAKhB,uBAAuB,GAAGjC,aAAa,GAAGgD,MAAM,EAAG;QACvDnG,cAAc,CAACkE,IAAI,CAACmC,KAAK,CAACI,SAAS,GAAI,GAAGC,IAAI,CAACC,KAAK,CACnD,CAAEvB,uBAAuB,GAAG,CAAC,GAAG/D,SAAS,IAAK8E,MAC/C,CAAG,IAAG;MACP;MAEA,OAAO,MAAM;QACZnG,cAAc,CAACkE,IAAI,CAACJ,SAAS,CAAC8C,MAAM,CAAE,eAAgB,CAAC;QACvD5G,cAAc,CAACI,eAAe,CAACiG,KAAK,CAACC,SAAS,GAAG,EAAE;QACnDtG,cAAc,CAACI,eAAe,CAACiG,KAAK,CAACE,SAAS,GAAG,EAAE;QACnDvG,cAAc,CAACI,eAAe,CAACiG,KAAK,CAACG,YAAY,GAAG,EAAE;QACtDxG,cAAc,CAACkE,IAAI,CAACmC,KAAK,CAACI,SAAS,GAAG,EAAE;MACzC,CAAC;IACF;EACD,CAAC,EAAE,CACFrF,KAAK,EACLC,SAAS,EACTrB,cAAc,EACdmD,aAAa,EACbiC,uBAAuB,EACvB/B,YAAY,CACX,CAAC;;EAEH;EACA;EACA,MAAMwD,gCAAgC,GAAG1F,QAAQ,IAAI,CAAC,IAAI,CAAEU,aAAa;EAEzE,OACC,IAAAiF,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGH,gCAAgC,IAAIhE,MAAM,EAE5C,IAAAiE,MAAA,CAAAC,aAAA;IAAA,GACMpF,KAAK;IACV0E,KAAK,EAAG;MACPY,MAAM,EAAE,CAAC;MACT,GAAGtF,KAAK,CAAC0E,KAAK;MACdnD,MAAM,EAAEvB,KAAK,CAAC0E,KAAK,EAAEnD,MAAM;MAC3BgE,UAAU,EAAE;IACb,CAAG;IACH1F,GAAG,EAAG,IAAAiE,qBAAY,EAAE,CAAEjE,GAAG,EAAE+B,MAAM,CAAG,CAAG;IACvCpC,QAAQ,EAAGA;IACX;IACA;IACA;IAAA;IACAuE,GAAG,EAAGA,GAAK;IACXjE,KAAK,EAAGA,KAAO;IACf0F,SAAS,EAAKxI,KAAK,IAAM;MACxB,IAAKgD,KAAK,CAACwF,SAAS,EAAG;QACtBxF,KAAK,CAACwF,SAAS,CAAExI,KAAM,CAAC;MACzB;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IACCA,KAAK,CAACyI,aAAa,CAACvD,aAAa,KACjClF,KAAK,CAAC0I,MAAM,CAACxD,aAAa,EACzB;QACDlF,KAAK,CAAC2I,eAAe,CAAC,CAAC;QACvB5I,WAAW,CACVC,KAAK,EACLkC,MAAM,CAAC0G,aAAa,EACpB5I,KAAK,CAACyI,aACP,CAAC;MACF;IACD;EAAG,GAEDpH,cAAc,IACf,IAAAwH,qBAAY;EACX;EACA;EACA;EACA,IAAAV,MAAA,CAAAC,aAAA;IACCvF,GAAG,EAAGgE,OAAS;IACfiC,SAAS,EAAG,IAAAC,mBAAU,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,GAAGjF,WACJ;EAAG,GAEDQ,qBAAqB,EACvB,IAAA6D,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAAuJ,2BAAa;IAACC,QAAQ,EAAG5H;EAAgB,GACvCkB,QACY,CACV,CAAC,EACPlB,cAAc,CAACI,eAChB,CACM,CAAC,EACPyG,gCAAgC,IAAI9D,KACrC,CAAC;AAEL;AAEA,SAAS8E,aAAaA,CAAElG,KAAK,EAAEH,GAAG,EAAG;EACpC,MAAMsG,aAAa,GAAG,IAAAhG,eAAS,EAC5BC,MAAM,IACPA,MAAM,CAAEE,YAAiB,CAAC,CAACD,WAAW,CAAC,CAAC,CAAC+F,uBAAuB,EACjE,EACD,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,IAAK,CAAED,aAAa,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OAAO,IAAAhB,MAAA,CAAAC,aAAA,EAAC/F,MAAM;IAAA,GAAMW,KAAK;IAAGJ,YAAY,EAAGC;EAAK,CAAE,CAAC;AACpD;AAAC,IAAAwG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAEN,aAAc,CAAC"}
@@ -25,9 +25,8 @@ function PatternsExplorer({
25
25
  rootClientId
26
26
  }) {
27
27
  const [searchValue, setSearchValue] = (0, _element.useState)('');
28
- const [patternSourceFilter, setPatternSourceFilter] = (0, _element.useState)('all');
29
28
  const [selectedCategory, setSelectedCategory] = (0, _element.useState)(initialCategory?.name);
30
- const patternCategories = (0, _usePatternCategories.usePatternCategories)(rootClientId, patternSourceFilter);
29
+ const patternCategories = (0, _usePatternCategories.usePatternCategories)(rootClientId);
31
30
  return (0, _react.createElement)("div", {
32
31
  className: "block-editor-block-patterns-explorer"
33
32
  }, (0, _react.createElement)(_patternExplorerSidebar.default, {
@@ -35,14 +34,12 @@ function PatternsExplorer({
35
34
  patternCategories: patternCategories,
36
35
  onClickCategory: setSelectedCategory,
37
36
  searchValue: searchValue,
38
- setSearchValue: setSearchValue,
39
- patternSourceFilter: patternSourceFilter,
40
- setPatternSourceFilter: setPatternSourceFilter
37
+ setSearchValue: setSearchValue
41
38
  }), (0, _react.createElement)(_patternList.default, {
42
39
  searchValue: searchValue,
43
40
  selectedCategory: selectedCategory,
44
41
  patternCategories: patternCategories,
45
- patternSourceFilter: patternSourceFilter
42
+ rootClientId: rootClientId
46
43
  }));
47
44
  }
48
45
  function PatternsExplorerModal({
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_patternExplorerSidebar","_interopRequireDefault","_patternList","_usePatternCategories","PatternsExplorer","initialCategory","rootClientId","searchValue","setSearchValue","useState","patternSourceFilter","setPatternSourceFilter","selectedCategory","setSelectedCategory","name","patternCategories","usePatternCategories","_react","createElement","className","default","onClickCategory","PatternsExplorerModal","onModalClose","restProps","Modal","title","__","onRequestClose","isFullScreen","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PatternExplorerSidebar from './pattern-explorer-sidebar';\nimport PatternList from './pattern-list';\nimport { usePatternCategories } from '../block-patterns-tab/use-pattern-categories';\n\nfunction PatternsExplorer( { initialCategory, rootClientId } ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst [ selectedCategory, setSelectedCategory ] = useState(\n\t\tinitialCategory?.name\n\t);\n\n\tconst patternCategories = usePatternCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-explorer\">\n\t\t\t<PatternExplorerSidebar\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\tonClickCategory={ setSelectedCategory }\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tsetSearchValue={ setSearchValue }\n\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\tsetPatternSourceFilter={ setPatternSourceFilter }\n\t\t\t/>\n\t\t\t<PatternList\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction PatternsExplorerModal( { onModalClose, ...restProps } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<PatternsExplorer { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport default PatternsExplorerModal;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,uBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AAZA;AACA;AACA;;AAKA;AACA;AACA;;AAKA,SAASO,gBAAgBA,CAAE;EAAEC,eAAe;EAAEC;AAAa,CAAC,EAAG;EAC9D,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EACtD,MAAM,CAAEC,mBAAmB,EAAEC,sBAAsB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EAEzE,MAAM,CAAEG,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAJ,iBAAQ,EACzDJ,eAAe,EAAES,IAClB,CAAC;EAED,MAAMC,iBAAiB,GAAG,IAAAC,0CAAoB,EAC7CV,YAAY,EACZI,mBACD,CAAC;EAED,OACC,IAAAO,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAsC,GACpD,IAAAF,MAAA,CAAAC,aAAA,EAAClB,uBAAA,CAAAoB,OAAsB;IACtBR,gBAAgB,EAAGA,gBAAkB;IACrCG,iBAAiB,EAAGA,iBAAmB;IACvCM,eAAe,EAAGR,mBAAqB;IACvCN,WAAW,EAAGA,WAAa;IAC3BC,cAAc,EAAGA,cAAgB;IACjCE,mBAAmB,EAAGA,mBAAqB;IAC3CC,sBAAsB,EAAGA;EAAwB,CACjD,CAAC,EACF,IAAAM,MAAA,CAAAC,aAAA,EAAChB,YAAA,CAAAkB,OAAW;IACXb,WAAW,EAAGA,WAAa;IAC3BK,gBAAgB,EAAGA,gBAAkB;IACrCG,iBAAiB,EAAGA,iBAAmB;IACvCL,mBAAmB,EAAGA;EAAqB,CAC3C,CACG,CAAC;AAER;AAEA,SAASY,qBAAqBA,CAAE;EAAEC,YAAY;EAAE,GAAGC;AAAU,CAAC,EAAG;EAChE,OACC,IAAAP,MAAA,CAAAC,aAAA,EAACtB,WAAA,CAAA6B,KAAK;IACLC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAC1BC,cAAc,EAAGL,YAAc;IAC/BM,YAAY;EAAA,GAEZ,IAAAZ,MAAA,CAAAC,aAAA,EAACd,gBAAgB;IAAA,GAAMoB;EAAS,CAAI,CAC9B,CAAC;AAEV;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAX,OAAA,GAEcE,qBAAqB"}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_patternExplorerSidebar","_interopRequireDefault","_patternList","_usePatternCategories","PatternsExplorer","initialCategory","rootClientId","searchValue","setSearchValue","useState","selectedCategory","setSelectedCategory","name","patternCategories","usePatternCategories","_react","createElement","className","default","onClickCategory","PatternsExplorerModal","onModalClose","restProps","Modal","title","__","onRequestClose","isFullScreen","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PatternExplorerSidebar from './pattern-explorer-sidebar';\nimport PatternList from './pattern-list';\nimport { usePatternCategories } from '../block-patterns-tab/use-pattern-categories';\n\nfunction PatternsExplorer( { initialCategory, rootClientId } ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst [ selectedCategory, setSelectedCategory ] = useState(\n\t\tinitialCategory?.name\n\t);\n\n\tconst patternCategories = usePatternCategories( rootClientId );\n\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-explorer\">\n\t\t\t<PatternExplorerSidebar\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\tonClickCategory={ setSelectedCategory }\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tsetSearchValue={ setSearchValue }\n\t\t\t/>\n\t\t\t<PatternList\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction PatternsExplorerModal( { onModalClose, ...restProps } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<PatternsExplorer { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport default PatternsExplorerModal;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,uBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AAZA;AACA;AACA;;AAKA;AACA;AACA;;AAKA,SAASO,gBAAgBA,CAAE;EAAEC,eAAe;EAAEC;AAAa,CAAC,EAAG;EAC9D,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EACtD,MAAM,CAAEC,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAF,iBAAQ,EACzDJ,eAAe,EAAEO,IAClB,CAAC;EAED,MAAMC,iBAAiB,GAAG,IAAAC,0CAAoB,EAAER,YAAa,CAAC;EAE9D,OACC,IAAAS,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAsC,GACpD,IAAAF,MAAA,CAAAC,aAAA,EAAChB,uBAAA,CAAAkB,OAAsB;IACtBR,gBAAgB,EAAGA,gBAAkB;IACrCG,iBAAiB,EAAGA,iBAAmB;IACvCM,eAAe,EAAGR,mBAAqB;IACvCJ,WAAW,EAAGA,WAAa;IAC3BC,cAAc,EAAGA;EAAgB,CACjC,CAAC,EACF,IAAAO,MAAA,CAAAC,aAAA,EAACd,YAAA,CAAAgB,OAAW;IACXX,WAAW,EAAGA,WAAa;IAC3BG,gBAAgB,EAAGA,gBAAkB;IACrCG,iBAAiB,EAAGA,iBAAmB;IACvCP,YAAY,EAAGA;EAAc,CAC7B,CACG,CAAC;AAER;AAEA,SAASc,qBAAqBA,CAAE;EAAEC,YAAY;EAAE,GAAGC;AAAU,CAAC,EAAG;EAChE,OACC,IAAAP,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAA2B,KAAK;IACLC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAC1BC,cAAc,EAAGL,YAAc;IAC/BM,YAAY;EAAA,GAEZ,IAAAZ,MAAA,CAAAC,aAAA,EAACZ,gBAAgB;IAAA,GAAMkB;EAAS,CAAI,CAC9B,CAAC;AAEV;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAX,OAAA,GAEcE,qBAAqB"}
@@ -44,11 +44,13 @@ function PatternsListHeader({
44
44
  function PatternList({
45
45
  searchValue,
46
46
  selectedCategory,
47
- patternCategories
47
+ patternCategories,
48
+ rootClientId
48
49
  }) {
49
50
  const container = (0, _element.useRef)();
50
51
  const debouncedSpeak = (0, _compose.useDebounce)(_a11y.speak, 500);
51
52
  const [destinationRootClientId, onInsertBlocks] = (0, _useInsertionPoint.default)({
53
+ rootClientId,
52
54
  shouldFocusBlock: true
53
55
  });
54
56
  const [patterns,, onClickPattern] = (0, _usePatternsState.default)(onInsertBlocks, destinationRootClientId);
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_compose","_components","_a11y","_blockPatternsList","_interopRequireDefault","_useInsertionPoint","_usePatternsState","_inserterListbox","_searchItems","_blockPatternsPaging","_usePatternsPaging","_utils","PatternsListHeader","filterValue","filteredBlockPatternsLength","_react","createElement","__experimentalHeading","level","lineHeight","className","sprintf","_n","PatternList","searchValue","selectedCategory","patternCategories","container","useRef","debouncedSpeak","useDebounce","speak","destinationRootClientId","onInsertBlocks","useInsertionPoint","shouldFocusBlock","patterns","onClickPattern","usePatternsState","registeredPatternCategories","useMemo","map","patternCategory","name","filteredBlockPatterns","filteredPatterns","filter","pattern","allPatternsCategory","myPatternsCategory","type","INSERTER_PATTERN_TYPES","user","hasKnownCategory","categories","some","category","includes","length","searchItems","useEffect","count","resultsFoundMessage","pagingProps","usePatternsPaging","previousSearchValue","setPreviousSearchValue","useState","changePage","hasItems","ref","default","Fragment","shownPatterns","categoryPatternsAsyncList","blockPatterns","categoryPatterns","isDraggable","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/pattern-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect, useRef, useState } from '@wordpress/element';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce } from '@wordpress/compose';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockPatternsList from '../../block-patterns-list';\nimport useInsertionPoint from '../hooks/use-insertion-point';\nimport usePatternsState from '../hooks/use-patterns-state';\nimport InserterListbox from '../../inserter-listbox';\nimport { searchItems } from '../search-items';\nimport BlockPatternsPaging from '../../block-patterns-paging';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport {\n\tINSERTER_PATTERN_TYPES,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n} from '../block-patterns-tab/utils';\n\nfunction PatternsListHeader( { filterValue, filteredBlockPatternsLength } ) {\n\tif ( ! filterValue ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Heading\n\t\t\tlevel={ 2 }\n\t\t\tlineHeight={ '48px' }\n\t\t\tclassName=\"block-editor-block-patterns-explorer__search-results-count\"\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %d: number of patterns. */\n\t\t\t\t_n(\n\t\t\t\t\t'%d pattern found',\n\t\t\t\t\t'%d patterns found',\n\t\t\t\t\tfilteredBlockPatternsLength\n\t\t\t\t),\n\t\t\t\tfilteredBlockPatternsLength\n\t\t\t) }\n\t\t</Heading>\n\t);\n}\n\nfunction PatternList( { searchValue, selectedCategory, patternCategories } ) {\n\tconst container = useRef();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tshouldFocusBlock: true,\n\t} );\n\tconst [ patterns, , onClickPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst registeredPatternCategories = useMemo(\n\t\t() =>\n\t\t\tpatternCategories.map(\n\t\t\t\t( patternCategory ) => patternCategory.name\n\t\t\t),\n\t\t[ patternCategories ]\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tconst filteredPatterns = patterns.filter( ( pattern ) => {\n\t\t\tif ( selectedCategory === allPatternsCategory.name ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tselectedCategory === myPatternsCategory.name &&\n\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif ( selectedCategory === 'uncategorized' ) {\n\t\t\t\tconst hasKnownCategory = pattern.categories.some(\n\t\t\t\t\t( category ) =>\n\t\t\t\t\t\tregisteredPatternCategories.includes( category )\n\t\t\t\t);\n\n\t\t\t\treturn ! pattern.categories?.length || ! hasKnownCategory;\n\t\t\t}\n\n\t\t\treturn pattern.categories?.includes( selectedCategory );\n\t\t} );\n\n\t\tif ( ! searchValue ) {\n\t\t\treturn filteredPatterns;\n\t\t}\n\n\t\treturn searchItems( filteredPatterns, searchValue );\n\t}, [\n\t\tsearchValue,\n\t\tpatterns,\n\t\tselectedCategory,\n\t\tregisteredPatternCategories,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! searchValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ searchValue, debouncedSpeak, filteredBlockPatterns.length ] );\n\n\tconst pagingProps = usePatternsPaging(\n\t\tfilteredBlockPatterns,\n\t\tselectedCategory,\n\t\tcontainer\n\t);\n\n\t// Reset page when search value changes.\n\tconst [ previousSearchValue, setPreviousSearchValue ] =\n\t\tuseState( searchValue );\n\tif ( searchValue !== previousSearchValue ) {\n\t\tsetPreviousSearchValue( searchValue );\n\t\tpagingProps.changePage( 1 );\n\t}\n\n\tconst hasItems = !! filteredBlockPatterns?.length;\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-block-patterns-explorer__list\"\n\t\t\tref={ container }\n\t\t>\n\t\t\t<PatternsListHeader\n\t\t\t\tfilterValue={ searchValue }\n\t\t\t\tfilteredBlockPatternsLength={ filteredBlockPatterns.length }\n\t\t\t/>\n\n\t\t\t<InserterListbox>\n\t\t\t\t{ hasItems && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tshownPatterns={\n\t\t\t\t\t\t\t\tpagingProps.categoryPatternsAsyncList\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockPatternsPaging { ...pagingProps } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</InserterListbox>\n\t\t</div>\n\t);\n}\n\nexport default PatternList;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_i18n","_compose","_components","_a11y","_blockPatternsList","_interopRequireDefault","_useInsertionPoint","_usePatternsState","_inserterListbox","_searchItems","_blockPatternsPaging","_usePatternsPaging","_utils","PatternsListHeader","filterValue","filteredBlockPatternsLength","_react","createElement","__experimentalHeading","level","lineHeight","className","sprintf","_n","PatternList","searchValue","selectedCategory","patternCategories","rootClientId","container","useRef","debouncedSpeak","useDebounce","speak","destinationRootClientId","onInsertBlocks","useInsertionPoint","shouldFocusBlock","patterns","onClickPattern","usePatternsState","registeredPatternCategories","useMemo","map","patternCategory","name","filteredBlockPatterns","filteredPatterns","filter","pattern","allPatternsCategory","myPatternsCategory","type","INSERTER_PATTERN_TYPES","user","hasKnownCategory","categories","some","category","includes","length","searchItems","useEffect","count","resultsFoundMessage","pagingProps","usePatternsPaging","previousSearchValue","setPreviousSearchValue","useState","changePage","hasItems","ref","default","Fragment","shownPatterns","categoryPatternsAsyncList","blockPatterns","categoryPatterns","isDraggable","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/pattern-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect, useRef, useState } from '@wordpress/element';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce } from '@wordpress/compose';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockPatternsList from '../../block-patterns-list';\nimport useInsertionPoint from '../hooks/use-insertion-point';\nimport usePatternsState from '../hooks/use-patterns-state';\nimport InserterListbox from '../../inserter-listbox';\nimport { searchItems } from '../search-items';\nimport BlockPatternsPaging from '../../block-patterns-paging';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport {\n\tINSERTER_PATTERN_TYPES,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n} from '../block-patterns-tab/utils';\n\nfunction PatternsListHeader( { filterValue, filteredBlockPatternsLength } ) {\n\tif ( ! filterValue ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Heading\n\t\t\tlevel={ 2 }\n\t\t\tlineHeight={ '48px' }\n\t\t\tclassName=\"block-editor-block-patterns-explorer__search-results-count\"\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %d: number of patterns. */\n\t\t\t\t_n(\n\t\t\t\t\t'%d pattern found',\n\t\t\t\t\t'%d patterns found',\n\t\t\t\t\tfilteredBlockPatternsLength\n\t\t\t\t),\n\t\t\t\tfilteredBlockPatternsLength\n\t\t\t) }\n\t\t</Heading>\n\t);\n}\n\nfunction PatternList( {\n\tsearchValue,\n\tselectedCategory,\n\tpatternCategories,\n\trootClientId,\n} ) {\n\tconst container = useRef();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\trootClientId,\n\t\tshouldFocusBlock: true,\n\t} );\n\tconst [ patterns, , onClickPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst registeredPatternCategories = useMemo(\n\t\t() =>\n\t\t\tpatternCategories.map(\n\t\t\t\t( patternCategory ) => patternCategory.name\n\t\t\t),\n\t\t[ patternCategories ]\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tconst filteredPatterns = patterns.filter( ( pattern ) => {\n\t\t\tif ( selectedCategory === allPatternsCategory.name ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tselectedCategory === myPatternsCategory.name &&\n\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif ( selectedCategory === 'uncategorized' ) {\n\t\t\t\tconst hasKnownCategory = pattern.categories.some(\n\t\t\t\t\t( category ) =>\n\t\t\t\t\t\tregisteredPatternCategories.includes( category )\n\t\t\t\t);\n\n\t\t\t\treturn ! pattern.categories?.length || ! hasKnownCategory;\n\t\t\t}\n\n\t\t\treturn pattern.categories?.includes( selectedCategory );\n\t\t} );\n\n\t\tif ( ! searchValue ) {\n\t\t\treturn filteredPatterns;\n\t\t}\n\n\t\treturn searchItems( filteredPatterns, searchValue );\n\t}, [\n\t\tsearchValue,\n\t\tpatterns,\n\t\tselectedCategory,\n\t\tregisteredPatternCategories,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! searchValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ searchValue, debouncedSpeak, filteredBlockPatterns.length ] );\n\n\tconst pagingProps = usePatternsPaging(\n\t\tfilteredBlockPatterns,\n\t\tselectedCategory,\n\t\tcontainer\n\t);\n\n\t// Reset page when search value changes.\n\tconst [ previousSearchValue, setPreviousSearchValue ] =\n\t\tuseState( searchValue );\n\tif ( searchValue !== previousSearchValue ) {\n\t\tsetPreviousSearchValue( searchValue );\n\t\tpagingProps.changePage( 1 );\n\t}\n\n\tconst hasItems = !! filteredBlockPatterns?.length;\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-block-patterns-explorer__list\"\n\t\t\tref={ container }\n\t\t>\n\t\t\t<PatternsListHeader\n\t\t\t\tfilterValue={ searchValue }\n\t\t\t\tfilteredBlockPatternsLength={ filteredBlockPatterns.length }\n\t\t\t/>\n\n\t\t\t<InserterListbox>\n\t\t\t\t{ hasItems && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tshownPatterns={\n\t\t\t\t\t\t\t\tpagingProps.categoryPatternsAsyncList\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockPatternsPaging { ...pagingProps } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</InserterListbox>\n\t\t</div>\n\t);\n}\n\nexport default PatternList;\n"],"mappings":"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"}
@@ -60,21 +60,17 @@ function InserterMenu({
60
60
  shouldFocusBlock
61
61
  });
62
62
  const {
63
- isZoomOutMode,
64
63
  showPatterns
65
64
  } = (0, _data.useSelect)(select => {
66
65
  const {
67
- hasAllowedPatterns,
68
- __unstableGetEditorMode
66
+ hasAllowedPatterns
69
67
  } = (0, _lockUnlock.unlock)(select(_store.store));
70
68
  return {
71
- isZoomOutMode: __unstableGetEditorMode() === 'zoom-out',
72
69
  showPatterns: hasAllowedPatterns(destinationRootClientId)
73
70
  };
74
71
  }, [destinationRootClientId]);
75
72
  const mediaCategories = (0, _mediaTab.useMediaCategories)(destinationRootClientId);
76
- const showMedia = mediaCategories.length > 0 && !isZoomOutMode;
77
- const showBlocks = !isZoomOutMode;
73
+ const showMedia = mediaCategories.length > 0;
78
74
  const onInsert = (0, _element.useCallback)((blocks, meta, shouldForceFocusBlock) => {
79
75
  onInsertBlocks(blocks, meta, shouldForceFocusBlock);
80
76
  onSelect();
@@ -170,15 +166,13 @@ function InserterMenu({
170
166
  isAppender: isAppender,
171
167
  __experimentalInsertionIndex: __experimentalInsertionIndex,
172
168
  showBlockDirectory: true,
173
- showBlocks: showBlocks,
174
169
  shouldFocusBlock: shouldFocusBlock
175
170
  })), showAsTabs && (0, _react.createElement)(_tabs.default, {
176
- showBlocks: showBlocks,
177
171
  showPatterns: showPatterns,
178
172
  showMedia: showMedia,
179
173
  onSelect: handleSetSelectedTab,
180
174
  tabsContents: inserterTabsContents
181
- }), !delayedFilterValue && !showAsTabs && showBlocks && (0, _react.createElement)("div", {
175
+ }), !delayedFilterValue && !showAsTabs && (0, _react.createElement)("div", {
182
176
  className: "block-editor-inserter__no-tab-container"
183
177
  }, blocksTab)), showMediaPanel && (0, _react.createElement)(_mediaTab.MediaCategoryDialog, {
184
178
  rootClientId: destinationRootClientId,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_components","_i18n","_data","_compose","_lockUnlock","_tips","_previewPanel","_blockTypesTab","_blockPatternsTab","_patternCategoryPreviewPanel","_mediaTab","_searchResults","_useInsertionPoint","_tabs","_store","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","ref","filterValue","setFilterValue","delayedFilterValue","useDebouncedInput","hoveredItem","setHoveredItem","useState","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","useInsertionPoint","insertionIndex","isZoomOutMode","showPatterns","useSelect","select","hasAllowedPatterns","__unstableGetEditorMode","unlock","blockEditorStore","mediaCategories","useMediaCategories","showMedia","length","showBlocks","onInsert","useCallback","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","onClickPatternCategory","patternCategory","filter","blocksTab","useMemo","_react","createElement","Fragment","className","default","VisuallyHidden","as","__","patternsTab","onSelectCategory","selectedCategory","mediaTab","MediaTab","inserterTabsContents","patterns","media","searchRef","useRef","useImperativeHandle","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","handleSetSelectedTab","value","classnames","SearchControl","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","MediaCategoryDialog","category","Popover","placement","offset","focusOnMount","animate","PatternCategoryPreviewPanel","showTitlesAsTooltip","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t},\n\tref\n) {\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState( null );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { isZoomOutMode, showPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasAllowedPatterns, __unstableGetEditorMode } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t\tshowPatterns: hasAllowedPatterns( destinationRootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst mediaCategories = useMediaCategories( destinationRootClientId );\n\tconst showMedia = mediaCategories.length > 0 && ! isZoomOutMode;\n\tconst showBlocks = ! isZoomOutMode;\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onHoverPattern = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t},\n\t\t[ onToggleInsertionPoint ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst mediaTab = useMemo(\n\t\t() => (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tselectedMediaCategory,\n\t\t\tsetSelectedMediaCategory,\n\t\t]\n\t);\n\n\tconst inserterTabsContents = useMemo(\n\t\t() => ( {\n\t\t\tblocks: blocksTab,\n\t\t\tpatterns: patternsTab,\n\t\t\tmedia: mediaTab,\n\t\t} ),\n\t\t[ blocksTab, mediaTab, patternsTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\tselectedPatternCategory;\n\tconst showAsTabs = ! delayedFilterValue && ( showPatterns || showMedia );\n\tconst showMediaPanel =\n\t\tselectedTab === 'media' &&\n\t\t! delayedFilterValue &&\n\t\tselectedMediaCategory;\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'block-editor-inserter__main-area', {\n\t\t\t\t\t'show-as-tabs': showAsTabs,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tref={ searchRef }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tonHoverPattern={ onHoverPattern }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshowBlocks={ showBlocks }\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ showAsTabs && (\n\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\tshowBlocks={ showBlocks }\n\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\tshowMedia={ showMedia }\n\t\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\t\ttabsContents={ inserterTabsContents }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! delayedFilterValue && ! showAsTabs && showBlocks && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t{ blocksTab }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ showMediaPanel && (\n\t\t\t\t<MediaCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ showPatternPanel && (\n\t\t\t\t<PatternCategoryPreviewPanel\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_components","_i18n","_data","_compose","_lockUnlock","_tips","_previewPanel","_blockTypesTab","_blockPatternsTab","_patternCategoryPreviewPanel","_mediaTab","_searchResults","_useInsertionPoint","_tabs","_store","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","ref","filterValue","setFilterValue","delayedFilterValue","useDebouncedInput","hoveredItem","setHoveredItem","useState","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","useInsertionPoint","insertionIndex","showPatterns","useSelect","select","hasAllowedPatterns","unlock","blockEditorStore","mediaCategories","useMediaCategories","showMedia","length","onInsert","useCallback","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","onClickPatternCategory","patternCategory","filter","blocksTab","useMemo","_react","createElement","Fragment","className","default","VisuallyHidden","as","__","patternsTab","onSelectCategory","selectedCategory","mediaTab","MediaTab","inserterTabsContents","patterns","media","searchRef","useRef","useImperativeHandle","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","handleSetSelectedTab","value","classnames","SearchControl","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","MediaCategoryDialog","category","Popover","placement","offset","focusOnMount","animate","PatternCategoryPreviewPanel","showTitlesAsTooltip","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t},\n\tref\n) {\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState( null );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { showPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasAllowedPatterns } = unlock( select( blockEditorStore ) );\n\t\t\treturn {\n\t\t\t\tshowPatterns: hasAllowedPatterns( destinationRootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst mediaCategories = useMediaCategories( destinationRootClientId );\n\tconst showMedia = mediaCategories.length > 0;\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onHoverPattern = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t},\n\t\t[ onToggleInsertionPoint ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst mediaTab = useMemo(\n\t\t() => (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tselectedMediaCategory,\n\t\t\tsetSelectedMediaCategory,\n\t\t]\n\t);\n\n\tconst inserterTabsContents = useMemo(\n\t\t() => ( {\n\t\t\tblocks: blocksTab,\n\t\t\tpatterns: patternsTab,\n\t\t\tmedia: mediaTab,\n\t\t} ),\n\t\t[ blocksTab, mediaTab, patternsTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\tselectedPatternCategory;\n\tconst showAsTabs = ! delayedFilterValue && ( showPatterns || showMedia );\n\tconst showMediaPanel =\n\t\tselectedTab === 'media' &&\n\t\t! delayedFilterValue &&\n\t\tselectedMediaCategory;\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'block-editor-inserter__main-area', {\n\t\t\t\t\t'show-as-tabs': showAsTabs,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tref={ searchRef }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tonHoverPattern={ onHoverPattern }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ showAsTabs && (\n\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\tshowMedia={ showMedia }\n\t\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\t\ttabsContents={ inserterTabsContents }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! delayedFilterValue && ! showAsTabs && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t{ blocksTab }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ showMediaPanel && (\n\t\t\t\t<MediaCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ showPatternPanel && (\n\t\t\t\t<PatternCategoryPreviewPanel\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"],"mappings":"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"}
@@ -33,7 +33,7 @@ function ScreenHeader({
33
33
  },
34
34
  icon: (0, _i18n.isRTL)() ? _icons.chevronRight : _icons.chevronLeft,
35
35
  size: "small",
36
- "aria-label": (0, _i18n.__)('Navigate to the previous view')
36
+ label: (0, _i18n.__)('Back')
37
37
  }), (0, _react.createElement)(_components.__experimentalSpacer, null, (0, _react.createElement)(_components.__experimentalHeading, {
38
38
  level: 5
39
39
  }, title))))));
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_icons","ScreenHeader","title","_react","createElement","__experimentalVStack","spacing","__experimentalView","__experimentalSpacer","marginBottom","paddingX","paddingY","__experimentalHStack","__experimentalNavigatorBackButton","style","minWidth","padding","icon","isRTL","chevronRight","chevronLeft","size","__","__experimentalHeading","level","MobileTabNavigation","categories","children","__experimentalNavigatorProvider","initialPath","className","__experimentalNavigatorScreen","path","__experimentalItemGroup","map","category","__experimentalNavigatorButton","key","name","as","Item","isAction","FlexBlock","label","Icon"],"sources":["@wordpress/block-editor/src/components/inserter/mobile-tab-navigation.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalHeading as Heading,\n\t__experimentalView as View,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorButton as NavigatorButton,\n\t__experimentalNavigatorBackButton as NavigatorBackButton,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { Icon, chevronRight, chevronLeft } from '@wordpress/icons';\n\nfunction ScreenHeader( { title } ) {\n\treturn (\n\t\t<VStack spacing={ 0 }>\n\t\t\t<View>\n\t\t\t\t<Spacer marginBottom={ 0 } paddingX={ 4 } paddingY={ 3 }>\n\t\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t\t<NavigatorBackButton\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\taria-label={ __( 'Navigate to the previous view' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer>\n\t\t\t\t\t\t\t<Heading level={ 5 }>{ title }</Heading>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default function MobileTabNavigation( { categories, children } ) {\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tinitialPath=\"/\"\n\t\t\tclassName=\"block-editor-inserter__mobile-tab-navigation\"\n\t\t>\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t\t\t\tas={ Item }\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<FlexBlock>{ category.label }</FlexBlock>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</NavigatorScreen>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<NavigatorScreen\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t>\n\t\t\t\t\t<ScreenHeader title={ __( 'Back' ) } />\n\t\t\t\t\t{ children( category ) }\n\t\t\t\t</NavigatorScreen>\n\t\t\t) ) }\n\t\t</NavigatorProvider>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,MAAA,GAAAF,OAAA;AAlBA;AACA;AACA;;AAkBA,SAASG,YAAYA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAClC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAM,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAQ,kBAAI,QACJ,IAAAJ,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM;IAACC,YAAY,EAAG,CAAG;IAACC,QAAQ,EAAG,CAAG;IAACC,QAAQ,EAAG;EAAG,GACvD,IAAAR,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM;IAACN,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAc,iCAAmB;IACnBC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDC,IAAI,EAAG,IAAAC,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,IAAI,EAAC,OAAO;IACZ,cAAa,IAAAC,QAAE,EAAE,+BAAgC;EAAG,CACpD,CAAC,EACF,IAAAnB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM,QACN,IAAAL,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAwB,qBAAO;IAACC,KAAK,EAAG;EAAG,GAAGtB,KAAgB,CAChC,CACD,CACD,CACH,CACC,CAAC;AAEX;AAEe,SAASuB,mBAAmBA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,EAAG;EACvE,OACC,IAAAxB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA6B,+BAAiB;IACjBC,WAAW,EAAC,GAAG;IACfC,SAAS,EAAC;EAA8C,GAExD,IAAA3B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAgC,6BAAe;IAACC,IAAI,EAAC;EAAG,GACxB,IAAA7B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAkC,uBAAS,QACPP,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAhC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAqC,6BAAe;IACfC,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM,EAAG;IACvCC,EAAE,EAAGC,8BAAM;IACXC,QAAQ;EAAA,GAER,IAAAtC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM,QACN,IAAAT,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA2C,SAAS,QAAGP,QAAQ,CAACQ,KAAkB,CAAC,EACzC,IAAAxC,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAA4C,IAAI;IACJ3B,IAAI,EACH,IAAAC,WAAK,EAAC,CAAC,GAAGE,kBAAW,GAAGD;EACxB,CACD,CACM,CACQ,CAChB,CACQ,CACK,CAAC,EAChBO,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAhC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAgC,6BAAe;IACfM,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM;EAAG,GAEvC,IAAAnC,MAAA,CAAAC,aAAA,EAACH,YAAY;IAACC,KAAK,EAAG,IAAAoB,QAAE,EAAE,MAAO;EAAG,CAAE,CAAC,EACrCK,QAAQ,CAAEQ,QAAS,CACL,CAChB,CACgB,CAAC;AAEtB"}
1
+ {"version":3,"names":["_i18n","require","_components","_icons","ScreenHeader","title","_react","createElement","__experimentalVStack","spacing","__experimentalView","__experimentalSpacer","marginBottom","paddingX","paddingY","__experimentalHStack","__experimentalNavigatorBackButton","style","minWidth","padding","icon","isRTL","chevronRight","chevronLeft","size","label","__","__experimentalHeading","level","MobileTabNavigation","categories","children","__experimentalNavigatorProvider","initialPath","className","__experimentalNavigatorScreen","path","__experimentalItemGroup","map","category","__experimentalNavigatorButton","key","name","as","Item","isAction","FlexBlock","Icon"],"sources":["@wordpress/block-editor/src/components/inserter/mobile-tab-navigation.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalHeading as Heading,\n\t__experimentalView as View,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorButton as NavigatorButton,\n\t__experimentalNavigatorBackButton as NavigatorBackButton,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { Icon, chevronRight, chevronLeft } from '@wordpress/icons';\n\nfunction ScreenHeader( { title } ) {\n\treturn (\n\t\t<VStack spacing={ 0 }>\n\t\t\t<View>\n\t\t\t\t<Spacer marginBottom={ 0 } paddingX={ 4 } paddingY={ 3 }>\n\t\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t\t<NavigatorBackButton\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer>\n\t\t\t\t\t\t\t<Heading level={ 5 }>{ title }</Heading>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default function MobileTabNavigation( { categories, children } ) {\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tinitialPath=\"/\"\n\t\t\tclassName=\"block-editor-inserter__mobile-tab-navigation\"\n\t\t>\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t\t\t\tas={ Item }\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<FlexBlock>{ category.label }</FlexBlock>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</NavigatorScreen>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<NavigatorScreen\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t>\n\t\t\t\t\t<ScreenHeader title={ __( 'Back' ) } />\n\t\t\t\t\t{ children( category ) }\n\t\t\t\t</NavigatorScreen>\n\t\t\t) ) }\n\t\t</NavigatorProvider>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,MAAA,GAAAF,OAAA;AAlBA;AACA;AACA;;AAkBA,SAASG,YAAYA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAClC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAM,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAQ,kBAAI,QACJ,IAAAJ,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM;IAACC,YAAY,EAAG,CAAG;IAACC,QAAQ,EAAG,CAAG;IAACC,QAAQ,EAAG;EAAG,GACvD,IAAAR,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM;IAACN,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAc,iCAAmB;IACnBC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDC,IAAI,EAAG,IAAAC,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,IAAI,EAAC,OAAO;IACZC,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO;EAAG,CACtB,CAAC,EACF,IAAApB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM,QACN,IAAAL,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAyB,qBAAO;IAACC,KAAK,EAAG;EAAG,GAAGvB,KAAgB,CAChC,CACD,CACD,CACH,CACC,CAAC;AAEX;AAEe,SAASwB,mBAAmBA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,EAAG;EACvE,OACC,IAAAzB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA8B,+BAAiB;IACjBC,WAAW,EAAC,GAAG;IACfC,SAAS,EAAC;EAA8C,GAExD,IAAA5B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAiC,6BAAe;IAACC,IAAI,EAAC;EAAG,GACxB,IAAA9B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAmC,uBAAS,QACPP,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAjC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAsC,6BAAe;IACfC,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM,EAAG;IACvCC,EAAE,EAAGC,8BAAM;IACXC,QAAQ;EAAA,GAER,IAAAvC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM,QACN,IAAAT,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA4C,SAAS,QAAGP,QAAQ,CAACd,KAAkB,CAAC,EACzC,IAAAnB,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAA4C,IAAI;IACJ3B,IAAI,EACH,IAAAC,WAAK,EAAC,CAAC,GAAGE,kBAAW,GAAGD;EACxB,CACD,CACM,CACQ,CAChB,CACQ,CACK,CAAC,EAChBQ,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAjC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAiC,6BAAe;IACfM,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM;EAAG,GAEvC,IAAApC,MAAA,CAAAC,aAAA,EAACH,YAAY;IAACC,KAAK,EAAG,IAAAqB,QAAE,EAAE,MAAO;EAAG,CAAE,CAAC,EACrCK,QAAQ,CAAEQ,QAAS,CACL,CAChB,CACgB,CAAC;AAEtB"}
@@ -56,8 +56,7 @@ function InserterSearchResults({
56
56
  isDraggable = true,
57
57
  shouldFocusBlock = true,
58
58
  prioritizePatterns,
59
- selectBlockOnInsert,
60
- showBlocks = true
59
+ selectBlockOnInsert
61
60
  }) {
62
61
  const debouncedSpeak = (0, _compose.useDebounce)(_a11y.speak, 500);
63
62
  const {
@@ -118,7 +117,7 @@ function InserterSearchResults({
118
117
  });
119
118
  const currentShownPatterns = (0, _compose.useAsyncList)(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : EMPTY_ARRAY);
120
119
  const hasItems = filteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;
121
- const blocksUI = showBlocks && !!filteredBlockTypes.length && (0, _react.createElement)(_panel.default, {
120
+ const blocksUI = !!filteredBlockTypes.length && (0, _react.createElement)(_panel.default, {
122
121
  title: (0, _react.createElement)(_components.VisuallyHidden, null, (0, _i18n.__)('Blocks'))
123
122
  }, (0, _react.createElement)(_blockTypesList.default, {
124
123
  items: currentShownBlockTypes,