@wordpress/block-editor 12.21.0 → 12.23.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 (408) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +4 -0
  3. package/build/components/block-actions/index.js +2 -4
  4. package/build/components/block-actions/index.js.map +1 -1
  5. package/build/components/block-heading-level-dropdown/index.js +5 -5
  6. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  7. package/build/components/block-heading-level-dropdown/index.native.js +5 -4
  8. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  9. package/build/components/block-list/block-crash-boundary.native.js +49 -0
  10. package/build/components/block-list/block-crash-boundary.native.js.map +1 -0
  11. package/build/components/block-list/block-crash-warning.native.js +24 -0
  12. package/build/components/block-list/block-crash-warning.native.js.map +1 -0
  13. package/build/components/block-list/block.js +11 -3
  14. package/build/components/block-list/block.js.map +1 -1
  15. package/build/components/block-list/block.native.js +7 -2
  16. package/build/components/block-list/block.native.js.map +1 -1
  17. package/build/components/block-mover/button.js +4 -1
  18. package/build/components/block-mover/button.js.map +1 -1
  19. package/build/components/block-mover/index.js +5 -1
  20. package/build/components/block-mover/index.js.map +1 -1
  21. package/build/components/block-patterns-list/index.js +4 -1
  22. package/build/components/block-patterns-list/index.js.map +1 -1
  23. package/build/components/block-settings/container.native.js +2 -1
  24. package/build/components/block-settings/container.native.js.map +1 -1
  25. package/build/components/block-settings-menu/block-settings-dropdown.js +36 -32
  26. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  27. package/build/components/block-settings-menu-controls/index.js +1 -3
  28. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  29. package/build/components/block-switcher/index.js +4 -3
  30. package/build/components/block-switcher/index.js.map +1 -1
  31. package/build/components/block-toolbar/index.js +8 -5
  32. package/build/components/block-toolbar/index.js.map +1 -1
  33. package/build/components/block-toolbar/shuffle.js +19 -10
  34. package/build/components/block-toolbar/shuffle.js.map +1 -1
  35. package/build/components/block-tools/block-selection-button.js +48 -8
  36. package/build/components/block-tools/block-selection-button.js.map +1 -1
  37. package/build/components/block-tools/index.js +14 -2
  38. package/build/components/block-tools/index.js.map +1 -1
  39. package/build/components/child-layout-control/index.js +108 -11
  40. package/build/components/child-layout-control/index.js.map +1 -1
  41. package/build/components/convert-to-group-buttons/toolbar.js +11 -0
  42. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  43. package/build/components/global-styles/advanced-panel.js +9 -2
  44. package/build/components/global-styles/advanced-panel.js.map +1 -1
  45. package/build/components/global-styles/background-panel.js +444 -0
  46. package/build/components/global-styles/background-panel.js.map +1 -0
  47. package/build/components/global-styles/color-panel.js +2 -1
  48. package/build/components/global-styles/color-panel.js.map +1 -1
  49. package/build/components/global-styles/dimensions-panel.js +8 -33
  50. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  51. package/build/components/global-styles/get-global-styles-changes.js +3 -0
  52. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  53. package/build/components/global-styles/hooks.js +1 -1
  54. package/build/components/global-styles/hooks.js.map +1 -1
  55. package/build/components/global-styles/index.js +13 -0
  56. package/build/components/global-styles/index.js.map +1 -1
  57. package/build/components/global-styles/use-global-styles-output.js +16 -15
  58. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  59. package/build/components/global-styles/utils.js +2 -3
  60. package/build/components/global-styles/utils.js.map +1 -1
  61. package/build/components/iframe/index.js +43 -34
  62. package/build/components/iframe/index.js.map +1 -1
  63. package/build/components/inserter/block-patterns-explorer/index.js +3 -6
  64. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  65. package/build/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  66. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  67. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  68. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +5 -0
  69. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  70. package/build/components/inserter/library.js +2 -0
  71. package/build/components/inserter/library.js.map +1 -1
  72. package/build/components/inserter/menu.js +11 -11
  73. package/build/components/inserter/menu.js.map +1 -1
  74. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  75. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  76. package/build/components/inserter/search-items.js +36 -15
  77. package/build/components/inserter/search-items.js.map +1 -1
  78. package/build/components/inserter/search-results.js +2 -3
  79. package/build/components/inserter/search-results.js.map +1 -1
  80. package/build/components/inserter/tabs.js +1 -2
  81. package/build/components/inserter/tabs.js.map +1 -1
  82. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +36 -0
  83. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  84. package/build/components/keyboard-shortcuts/index.js +11 -0
  85. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  86. package/build/components/list-view/block-select-button.js +18 -12
  87. package/build/components/list-view/block-select-button.js.map +1 -1
  88. package/build/components/list-view/block.js +4 -11
  89. package/build/components/list-view/block.js.map +1 -1
  90. package/build/components/list-view/index.js +17 -2
  91. package/build/components/list-view/index.js.map +1 -1
  92. package/build/components/list-view/use-list-view-collapse-items.js +47 -0
  93. package/build/components/list-view/use-list-view-collapse-items.js.map +1 -0
  94. package/build/components/list-view/utils.js +5 -3
  95. package/build/components/list-view/utils.js.map +1 -1
  96. package/build/components/rich-text/index.js +14 -11
  97. package/build/components/rich-text/index.js.map +1 -1
  98. package/build/components/rich-text/index.native.js +17 -11
  99. package/build/components/rich-text/index.native.js.map +1 -1
  100. package/build/components/rich-text/native/get-format-colors.native.js +1 -1
  101. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  102. package/build/components/rich-text/native/index.native.js +2 -2
  103. package/build/components/rich-text/native/index.native.js.map +1 -1
  104. package/build/components/rich-text/with-deprecations.js +0 -3
  105. package/build/components/rich-text/with-deprecations.js.map +1 -1
  106. package/build/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  107. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  108. package/build/components/url-popover/image-url-input-ui.js +50 -36
  109. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  110. package/build/components/use-block-display-information/index.js +4 -6
  111. package/build/components/use-block-display-information/index.js.map +1 -1
  112. package/build/components/use-moving-animation/index.js +4 -0
  113. package/build/components/use-moving-animation/index.js.map +1 -1
  114. package/build/components/warning/index.native.js +9 -4
  115. package/build/components/warning/index.native.js.map +1 -1
  116. package/build/hooks/anchor.js +9 -10
  117. package/build/hooks/anchor.js.map +1 -1
  118. package/build/hooks/background.js +85 -402
  119. package/build/hooks/background.js.map +1 -1
  120. package/build/hooks/index.js +9 -1
  121. package/build/hooks/index.js.map +1 -1
  122. package/build/hooks/layout-child.js +28 -6
  123. package/build/hooks/layout-child.js.map +1 -1
  124. package/build/hooks/layout.js +21 -10
  125. package/build/hooks/layout.js.map +1 -1
  126. package/build/hooks/position.js +1 -1
  127. package/build/hooks/position.js.map +1 -1
  128. package/build/hooks/use-zoom-out.js +47 -0
  129. package/build/hooks/use-zoom-out.js.map +1 -0
  130. package/build/index.js +7 -0
  131. package/build/index.js.map +1 -1
  132. package/build/private-apis.js +6 -1
  133. package/build/private-apis.js.map +1 -1
  134. package/build/private-apis.native.js +5 -1
  135. package/build/private-apis.native.js.map +1 -1
  136. package/build/store/private-actions.js +13 -0
  137. package/build/store/private-actions.js.map +1 -1
  138. package/build/store/private-keys.js +2 -1
  139. package/build/store/private-keys.js.map +1 -1
  140. package/build/store/private-selectors.js +24 -3
  141. package/build/store/private-selectors.js.map +1 -1
  142. package/build/store/reducer.js +53 -26
  143. package/build/store/reducer.js.map +1 -1
  144. package/build/store/selectors.js +34 -32
  145. package/build/store/selectors.js.map +1 -1
  146. package/build/store/utils.js +7 -1
  147. package/build/store/utils.js.map +1 -1
  148. package/build/utils/transform-styles/index.js +2 -1
  149. package/build/utils/transform-styles/index.js.map +1 -1
  150. package/build-module/components/block-actions/index.js +2 -4
  151. package/build-module/components/block-actions/index.js.map +1 -1
  152. package/build-module/components/block-heading-level-dropdown/index.js +5 -5
  153. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  154. package/build-module/components/block-heading-level-dropdown/index.native.js +5 -4
  155. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  156. package/build-module/components/block-list/block-crash-boundary.native.js +42 -0
  157. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -0
  158. package/build-module/components/block-list/block-crash-warning.native.js +15 -0
  159. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -0
  160. package/build-module/components/block-list/block.js +11 -3
  161. package/build-module/components/block-list/block.js.map +1 -1
  162. package/build-module/components/block-list/block.native.js +7 -2
  163. package/build-module/components/block-list/block.native.js.map +1 -1
  164. package/build-module/components/block-mover/button.js +4 -1
  165. package/build-module/components/block-mover/button.js.map +1 -1
  166. package/build-module/components/block-mover/index.js +5 -1
  167. package/build-module/components/block-mover/index.js.map +1 -1
  168. package/build-module/components/block-patterns-list/index.js +4 -1
  169. package/build-module/components/block-patterns-list/index.js.map +1 -1
  170. package/build-module/components/block-settings/container.native.js +3 -2
  171. package/build-module/components/block-settings/container.native.js.map +1 -1
  172. package/build-module/components/block-settings-menu/block-settings-dropdown.js +37 -33
  173. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  174. package/build-module/components/block-settings-menu-controls/index.js +1 -3
  175. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  176. package/build-module/components/block-switcher/index.js +4 -3
  177. package/build-module/components/block-switcher/index.js.map +1 -1
  178. package/build-module/components/block-toolbar/index.js +8 -5
  179. package/build-module/components/block-toolbar/index.js.map +1 -1
  180. package/build-module/components/block-toolbar/shuffle.js +19 -10
  181. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  182. package/build-module/components/block-tools/block-selection-button.js +50 -10
  183. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  184. package/build-module/components/block-tools/index.js +14 -2
  185. package/build-module/components/block-tools/index.js.map +1 -1
  186. package/build-module/components/child-layout-control/index.js +109 -12
  187. package/build-module/components/child-layout-control/index.js.map +1 -1
  188. package/build-module/components/convert-to-group-buttons/toolbar.js +12 -1
  189. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  190. package/build-module/components/global-styles/advanced-panel.js +9 -2
  191. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  192. package/build-module/components/global-styles/background-panel.js +430 -0
  193. package/build-module/components/global-styles/background-panel.js.map +1 -0
  194. package/build-module/components/global-styles/color-panel.js +2 -1
  195. package/build-module/components/global-styles/color-panel.js.map +1 -1
  196. package/build-module/components/global-styles/dimensions-panel.js +9 -34
  197. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  198. package/build-module/components/global-styles/get-global-styles-changes.js +3 -0
  199. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  200. package/build-module/components/global-styles/hooks.js +1 -1
  201. package/build-module/components/global-styles/hooks.js.map +1 -1
  202. package/build-module/components/global-styles/index.js +1 -0
  203. package/build-module/components/global-styles/index.js.map +1 -1
  204. package/build-module/components/global-styles/use-global-styles-output.js +17 -16
  205. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  206. package/build-module/components/global-styles/utils.js +1 -2
  207. package/build-module/components/global-styles/utils.js.map +1 -1
  208. package/build-module/components/iframe/index.js +43 -34
  209. package/build-module/components/iframe/index.js.map +1 -1
  210. package/build-module/components/inserter/block-patterns-explorer/index.js +3 -6
  211. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  212. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  213. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  214. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  215. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +5 -0
  216. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  217. package/build-module/components/inserter/library.js +2 -0
  218. package/build-module/components/inserter/library.js.map +1 -1
  219. package/build-module/components/inserter/menu.js +11 -11
  220. package/build-module/components/inserter/menu.js.map +1 -1
  221. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  222. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  223. package/build-module/components/inserter/search-items.js +33 -15
  224. package/build-module/components/inserter/search-items.js.map +1 -1
  225. package/build-module/components/inserter/search-results.js +2 -3
  226. package/build-module/components/inserter/search-results.js.map +1 -1
  227. package/build-module/components/inserter/tabs.js +1 -2
  228. package/build-module/components/inserter/tabs.js.map +1 -1
  229. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +28 -0
  230. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  231. package/build-module/components/keyboard-shortcuts/index.js +11 -0
  232. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  233. package/build-module/components/list-view/block-select-button.js +19 -13
  234. package/build-module/components/list-view/block-select-button.js.map +1 -1
  235. package/build-module/components/list-view/block.js +6 -13
  236. package/build-module/components/list-view/block.js.map +1 -1
  237. package/build-module/components/list-view/index.js +17 -2
  238. package/build-module/components/list-view/index.js.map +1 -1
  239. package/build-module/components/list-view/use-list-view-collapse-items.js +40 -0
  240. package/build-module/components/list-view/use-list-view-collapse-items.js.map +1 -0
  241. package/build-module/components/list-view/utils.js +2 -1
  242. package/build-module/components/list-view/utils.js.map +1 -1
  243. package/build-module/components/rich-text/index.js +15 -12
  244. package/build-module/components/rich-text/index.js.map +1 -1
  245. package/build-module/components/rich-text/index.native.js +16 -11
  246. package/build-module/components/rich-text/index.native.js.map +1 -1
  247. package/build-module/components/rich-text/native/get-format-colors.native.js +1 -1
  248. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  249. package/build-module/components/rich-text/native/index.native.js +2 -2
  250. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  251. package/build-module/components/rich-text/with-deprecations.js +0 -3
  252. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  253. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  254. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  255. package/build-module/components/url-popover/image-url-input-ui.js +50 -36
  256. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  257. package/build-module/components/use-block-display-information/index.js +5 -7
  258. package/build-module/components/use-block-display-information/index.js.map +1 -1
  259. package/build-module/components/use-moving-animation/index.js +4 -0
  260. package/build-module/components/use-moving-animation/index.js.map +1 -1
  261. package/build-module/components/warning/index.native.js +9 -4
  262. package/build-module/components/warning/index.native.js.map +1 -1
  263. package/build-module/hooks/anchor.js +10 -11
  264. package/build-module/hooks/anchor.js.map +1 -1
  265. package/build-module/hooks/background.js +82 -397
  266. package/build-module/hooks/background.js.map +1 -1
  267. package/build-module/hooks/index.js +3 -1
  268. package/build-module/hooks/index.js.map +1 -1
  269. package/build-module/hooks/layout-child.js +28 -6
  270. package/build-module/hooks/layout-child.js.map +1 -1
  271. package/build-module/hooks/layout.js +21 -10
  272. package/build-module/hooks/layout.js.map +1 -1
  273. package/build-module/hooks/position.js +1 -1
  274. package/build-module/hooks/position.js.map +1 -1
  275. package/build-module/hooks/use-zoom-out.js +41 -0
  276. package/build-module/hooks/use-zoom-out.js.map +1 -0
  277. package/build-module/index.js +1 -1
  278. package/build-module/index.js.map +1 -1
  279. package/build-module/private-apis.js +7 -2
  280. package/build-module/private-apis.js.map +1 -1
  281. package/build-module/private-apis.native.js +5 -1
  282. package/build-module/private-apis.native.js.map +1 -1
  283. package/build-module/store/private-actions.js +12 -0
  284. package/build-module/store/private-actions.js.map +1 -1
  285. package/build-module/store/private-keys.js +1 -0
  286. package/build-module/store/private-keys.js.map +1 -1
  287. package/build-module/store/private-selectors.js +22 -4
  288. package/build-module/store/private-selectors.js.map +1 -1
  289. package/build-module/store/reducer.js +52 -26
  290. package/build-module/store/reducer.js.map +1 -1
  291. package/build-module/store/selectors.js +35 -33
  292. package/build-module/store/selectors.js.map +1 -1
  293. package/build-module/store/utils.js +6 -1
  294. package/build-module/store/utils.js.map +1 -1
  295. package/build-module/utils/transform-styles/index.js +2 -1
  296. package/build-module/utils/transform-styles/index.js.map +1 -1
  297. package/build-style/content-rtl.css +18 -1
  298. package/build-style/content.css +18 -1
  299. package/build-style/style-rtl.css +92 -99
  300. package/build-style/style.css +92 -99
  301. package/package.json +31 -31
  302. package/src/components/block-actions/index.js +2 -8
  303. package/src/components/block-bindings-toolbar-indicator/style.scss +10 -8
  304. package/src/components/block-heading-level-dropdown/README.md +5 -5
  305. package/src/components/block-heading-level-dropdown/index.js +5 -5
  306. package/src/components/block-heading-level-dropdown/index.native.js +5 -4
  307. package/src/components/block-list/block-crash-boundary.native.js +43 -0
  308. package/src/components/block-list/block-crash-warning.native.js +19 -0
  309. package/src/components/block-list/block.js +19 -3
  310. package/src/components/block-list/block.native.js +14 -7
  311. package/src/components/block-list/content.scss +16 -0
  312. package/src/components/block-mover/button.js +4 -1
  313. package/src/components/block-mover/index.js +8 -1
  314. package/src/components/block-patterns-list/index.js +22 -17
  315. package/src/components/block-preview/style.scss +28 -0
  316. package/src/components/block-settings/container.native.js +5 -1
  317. package/src/components/block-settings-menu/block-settings-dropdown.js +49 -58
  318. package/src/components/block-settings-menu-controls/README.md +0 -9
  319. package/src/components/block-settings-menu-controls/index.js +1 -6
  320. package/src/components/block-switcher/index.js +5 -3
  321. package/src/components/block-switcher/style.scss +1 -1
  322. package/src/components/block-toolbar/index.js +25 -20
  323. package/src/components/block-toolbar/shuffle.js +20 -14
  324. package/src/components/block-toolbar/style.scss +1 -1
  325. package/src/components/block-toolbar/test/index.native.js +1 -7
  326. package/src/components/block-tools/block-selection-button.js +66 -9
  327. package/src/components/block-tools/index.js +18 -1
  328. package/src/components/button-block-appender/content.scss +5 -1
  329. package/src/components/child-layout-control/index.js +147 -35
  330. package/src/components/convert-to-group-buttons/toolbar.js +13 -1
  331. package/src/components/default-block-appender/content.scss +2 -2
  332. package/src/components/global-styles/advanced-panel.js +8 -2
  333. package/src/components/global-styles/background-panel.js +591 -0
  334. package/src/components/global-styles/color-panel.js +2 -1
  335. package/src/components/global-styles/dimensions-panel.js +9 -34
  336. package/src/components/global-styles/get-global-styles-changes.js +3 -0
  337. package/src/components/global-styles/hooks.js +1 -0
  338. package/src/components/global-styles/index.js +4 -0
  339. package/src/components/global-styles/style.scss +78 -1
  340. package/src/{hooks/test/background.js → components/global-styles/test/background-panel.js} +36 -1
  341. package/src/components/global-styles/test/get-global-styles-changes.js +22 -3
  342. package/src/components/global-styles/test/use-global-styles-output.js +40 -9
  343. package/src/components/global-styles/use-global-styles-output.js +30 -17
  344. package/src/components/global-styles/utils.js +1 -18
  345. package/src/components/iframe/index.js +79 -53
  346. package/src/components/inserter/block-patterns-explorer/index.js +2 -9
  347. package/src/components/inserter/block-patterns-explorer/pattern-list.js +7 -1
  348. package/src/components/inserter/block-patterns-tab/index.js +1 -0
  349. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +5 -0
  350. package/src/components/inserter/library.js +4 -0
  351. package/src/components/inserter/menu.js +12 -11
  352. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  353. package/src/components/inserter/search-items.js +37 -15
  354. package/src/components/inserter/search-results.js +1 -2
  355. package/src/components/inserter/style.scss +6 -12
  356. package/src/components/inserter/tabs.js +1 -2
  357. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +31 -0
  358. package/src/components/keyboard-shortcuts/index.js +11 -0
  359. package/src/components/link-control/style.scss +0 -5
  360. package/src/components/list-view/block-select-button.js +15 -19
  361. package/src/components/list-view/block.js +12 -21
  362. package/src/components/list-view/index.js +18 -1
  363. package/src/components/list-view/style.scss +38 -28
  364. package/src/components/list-view/use-list-view-collapse-items.js +33 -0
  365. package/src/components/list-view/utils.js +4 -1
  366. package/src/components/rich-text/README.md +6 -0
  367. package/src/components/rich-text/index.js +30 -13
  368. package/src/components/rich-text/index.native.js +14 -11
  369. package/src/components/rich-text/native/get-format-colors.native.js +1 -1
  370. package/src/components/rich-text/native/index.native.js +2 -2
  371. package/src/components/rich-text/with-deprecations.js +0 -3
  372. package/src/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  373. package/src/components/url-popover/image-url-input-ui.js +68 -51
  374. package/src/components/use-block-display-information/index.js +8 -10
  375. package/src/components/use-moving-animation/index.js +1 -0
  376. package/src/components/warning/index.native.js +19 -15
  377. package/src/hooks/anchor.js +43 -61
  378. package/src/hooks/background.js +100 -516
  379. package/src/hooks/index.js +3 -0
  380. package/src/hooks/layout-child.js +44 -8
  381. package/src/hooks/layout.js +22 -18
  382. package/src/hooks/position.js +1 -1
  383. package/src/hooks/test/__snapshots__/anchor.native.js.snap +7 -0
  384. package/src/hooks/test/anchor.native.js +32 -0
  385. package/src/hooks/use-zoom-out.js +36 -0
  386. package/src/index.js +1 -0
  387. package/src/private-apis.js +13 -1
  388. package/src/private-apis.native.js +4 -0
  389. package/src/store/private-actions.js +12 -0
  390. package/src/store/private-keys.js +1 -0
  391. package/src/store/private-selectors.js +54 -27
  392. package/src/store/reducer.js +63 -41
  393. package/src/store/selectors.js +195 -180
  394. package/src/store/test/private-actions.js +10 -0
  395. package/src/store/test/private-selectors.js +13 -0
  396. package/src/store/test/reducer.js +26 -0
  397. package/src/store/test/selectors.js +90 -199
  398. package/src/store/utils.js +13 -0
  399. package/src/style.scss +0 -2
  400. package/src/utils/transform-styles/index.js +2 -1
  401. package/tsconfig.json +1 -0
  402. package/build/utils/calculate-scale.js +0 -17
  403. package/build/utils/calculate-scale.js.map +0 -1
  404. package/build-module/utils/calculate-scale.js +0 -11
  405. package/build-module/utils/calculate-scale.js.map +0 -1
  406. package/src/hooks/anchor.scss +0 -4
  407. package/src/hooks/background.scss +0 -75
  408. package/src/utils/calculate-scale.js +0 -20
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","Popover","__","useSelect","useDebouncedInput","unlock","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTab","PatternCategoryPreviewPanel","MediaTab","MediaCategoryDialog","useMediaCategories","InserterSearchResults","useInsertionPoint","InserterTabs","store","blockEditorStore","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","ref","filterValue","setFilterValue","delayedFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","isZoomOutMode","showPatterns","select","hasAllowedPatterns","__unstableGetEditorMode","mediaCategories","showMedia","length","showBlocks","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","onClickPatternCategory","patternCategory","filter","blocksTab","createElement","Fragment","className","as","patternsTab","onSelectCategory","selectedCategory","mediaTab","inserterTabsContents","patterns","media","searchRef","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","handleSetSelectedTab","value","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","category","placement","offset","focusOnMount","animate","showTitlesAsTooltip"],"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","forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","Popover","__","useSelect","useDebouncedInput","unlock","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTab","PatternCategoryPreviewPanel","MediaTab","MediaCategoryDialog","useMediaCategories","InserterSearchResults","useInsertionPoint","InserterTabs","store","blockEditorStore","NOOP","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","__experimentalOnPatternCategorySelection","ref","filterValue","setFilterValue","delayedFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","select","hasAllowedPatterns","mediaCategories","showMedia","length","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","onClickPatternCategory","patternCategory","filter","blocksTab","createElement","Fragment","className","as","patternsTab","onSelectCategory","selectedCategory","mediaTab","inserterTabsContents","patterns","media","searchRef","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","handleSetSelectedTab","value","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","category","placement","offset","focusOnMount","animate","showTitlesAsTooltip"],"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\nconst NOOP = () => {};\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\t__experimentalOnPatternCategorySelection = NOOP,\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 isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView;\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t\tif ( isZoomedOutViewExperimentEnabled ) {\n\t\t\t\t__experimentalOnPatternCategorySelection();\n\t\t\t}\n\t\t},\n\t\t[ setSelectedPatternCategory, __experimentalOnPatternCategorySelection ]\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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"}
@@ -26,7 +26,7 @@ function ScreenHeader({
26
26
  },
27
27
  icon: isRTL() ? chevronRight : chevronLeft,
28
28
  size: "small",
29
- "aria-label": __('Navigate to the previous view')
29
+ label: __('Back')
30
30
  }), createElement(Spacer, null, createElement(Heading, {
31
31
  level: 5
32
32
  }, title))))));
@@ -1 +1 @@
1
- {"version":3,"names":["__","isRTL","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalHeading","Heading","__experimentalView","View","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalNavigatorButton","NavigatorButton","__experimentalNavigatorBackButton","NavigatorBackButton","FlexBlock","Icon","chevronRight","chevronLeft","ScreenHeader","title","createElement","spacing","marginBottom","paddingX","paddingY","style","minWidth","padding","icon","size","level","MobileTabNavigation","categories","children","initialPath","className","path","map","category","key","name","as","isAction","label"],"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":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,+BAA+B,IAAIC,iBAAiB,EACpDC,6BAA6B,IAAIC,eAAe,EAChDC,6BAA6B,IAAIC,eAAe,EAChDC,iCAAiC,IAAIC,mBAAmB,EACxDC,SAAS,QACH,uBAAuB;AAC9B,SAASC,IAAI,EAAEC,YAAY,EAAEC,WAAW,QAAQ,kBAAkB;AAElE,SAASC,YAAYA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAClC,OACCC,aAAA,CAACrB,MAAM;IAACsB,OAAO,EAAG;EAAG,GACpBD,aAAA,CAACf,IAAI,QACJe,aAAA,CAACnB,MAAM;IAACqB,YAAY,EAAG,CAAG;IAACC,QAAQ,EAAG,CAAG;IAACC,QAAQ,EAAG;EAAG,GACvDJ,aAAA,CAACvB,MAAM;IAACwB,OAAO,EAAG;EAAG,GACpBD,aAAA,CAACP,mBAAmB;IACnBY,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDC,IAAI,EAAGrC,KAAK,CAAC,CAAC,GAAGyB,YAAY,GAAGC,WAAa;IAC7CY,IAAI,EAAC,OAAO;IACZ,cAAavC,EAAE,CAAE,+BAAgC;EAAG,CACpD,CAAC,EACF8B,aAAA,CAACnB,MAAM,QACNmB,aAAA,CAACjB,OAAO;IAAC2B,KAAK,EAAG;EAAG,GAAGX,KAAgB,CAChC,CACD,CACD,CACH,CACC,CAAC;AAEX;AAEA,eAAe,SAASY,mBAAmBA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,EAAG;EACvE,OACCb,aAAA,CAACb,iBAAiB;IACjB2B,WAAW,EAAC,GAAG;IACfC,SAAS,EAAC;EAA8C,GAExDf,aAAA,CAACX,eAAe;IAAC2B,IAAI,EAAC;EAAG,GACxBhB,aAAA,CAAC3B,SAAS,QACPuC,UAAU,CAACK,GAAG,CAAIC,QAAQ,IAC3BlB,aAAA,CAACT,eAAe;IACf4B,GAAG,EAAGD,QAAQ,CAACE,IAAM;IACrBJ,IAAI,EAAI,aAAaE,QAAQ,CAACE,IAAM,EAAG;IACvCC,EAAE,EAAG9C,IAAM;IACX+C,QAAQ;EAAA,GAERtB,aAAA,CAACvB,MAAM,QACNuB,aAAA,CAACN,SAAS,QAAGwB,QAAQ,CAACK,KAAkB,CAAC,EACzCvB,aAAA,CAACL,IAAI;IACJa,IAAI,EACHrC,KAAK,CAAC,CAAC,GAAG0B,WAAW,GAAGD;EACxB,CACD,CACM,CACQ,CAChB,CACQ,CACK,CAAC,EAChBgB,UAAU,CAACK,GAAG,CAAIC,QAAQ,IAC3BlB,aAAA,CAACX,eAAe;IACf8B,GAAG,EAAGD,QAAQ,CAACE,IAAM;IACrBJ,IAAI,EAAI,aAAaE,QAAQ,CAACE,IAAM;EAAG,GAEvCpB,aAAA,CAACF,YAAY;IAACC,KAAK,EAAG7B,EAAE,CAAE,MAAO;EAAG,CAAE,CAAC,EACrC2C,QAAQ,CAAEK,QAAS,CACL,CAChB,CACgB,CAAC;AAEtB"}
1
+ {"version":3,"names":["__","isRTL","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalHeading","Heading","__experimentalView","View","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalNavigatorButton","NavigatorButton","__experimentalNavigatorBackButton","NavigatorBackButton","FlexBlock","Icon","chevronRight","chevronLeft","ScreenHeader","title","createElement","spacing","marginBottom","paddingX","paddingY","style","minWidth","padding","icon","size","label","level","MobileTabNavigation","categories","children","initialPath","className","path","map","category","key","name","as","isAction"],"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":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,+BAA+B,IAAIC,iBAAiB,EACpDC,6BAA6B,IAAIC,eAAe,EAChDC,6BAA6B,IAAIC,eAAe,EAChDC,iCAAiC,IAAIC,mBAAmB,EACxDC,SAAS,QACH,uBAAuB;AAC9B,SAASC,IAAI,EAAEC,YAAY,EAAEC,WAAW,QAAQ,kBAAkB;AAElE,SAASC,YAAYA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAClC,OACCC,aAAA,CAACrB,MAAM;IAACsB,OAAO,EAAG;EAAG,GACpBD,aAAA,CAACf,IAAI,QACJe,aAAA,CAACnB,MAAM;IAACqB,YAAY,EAAG,CAAG;IAACC,QAAQ,EAAG,CAAG;IAACC,QAAQ,EAAG;EAAG,GACvDJ,aAAA,CAACvB,MAAM;IAACwB,OAAO,EAAG;EAAG,GACpBD,aAAA,CAACP,mBAAmB;IACnBY,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDC,IAAI,EAAGrC,KAAK,CAAC,CAAC,GAAGyB,YAAY,GAAGC,WAAa;IAC7CY,IAAI,EAAC,OAAO;IACZC,KAAK,EAAGxC,EAAE,CAAE,MAAO;EAAG,CACtB,CAAC,EACF8B,aAAA,CAACnB,MAAM,QACNmB,aAAA,CAACjB,OAAO;IAAC4B,KAAK,EAAG;EAAG,GAAGZ,KAAgB,CAChC,CACD,CACD,CACH,CACC,CAAC;AAEX;AAEA,eAAe,SAASa,mBAAmBA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,EAAG;EACvE,OACCd,aAAA,CAACb,iBAAiB;IACjB4B,WAAW,EAAC,GAAG;IACfC,SAAS,EAAC;EAA8C,GAExDhB,aAAA,CAACX,eAAe;IAAC4B,IAAI,EAAC;EAAG,GACxBjB,aAAA,CAAC3B,SAAS,QACPwC,UAAU,CAACK,GAAG,CAAIC,QAAQ,IAC3BnB,aAAA,CAACT,eAAe;IACf6B,GAAG,EAAGD,QAAQ,CAACE,IAAM;IACrBJ,IAAI,EAAI,aAAaE,QAAQ,CAACE,IAAM,EAAG;IACvCC,EAAE,EAAG/C,IAAM;IACXgD,QAAQ;EAAA,GAERvB,aAAA,CAACvB,MAAM,QACNuB,aAAA,CAACN,SAAS,QAAGyB,QAAQ,CAACT,KAAkB,CAAC,EACzCV,aAAA,CAACL,IAAI;IACJa,IAAI,EACHrC,KAAK,CAAC,CAAC,GAAG0B,WAAW,GAAGD;EACxB,CACD,CACM,CACQ,CAChB,CACQ,CACK,CAAC,EAChBiB,UAAU,CAACK,GAAG,CAAIC,QAAQ,IAC3BnB,aAAA,CAACX,eAAe;IACf+B,GAAG,EAAGD,QAAQ,CAACE,IAAM;IACrBJ,IAAI,EAAI,aAAaE,QAAQ,CAACE,IAAM;EAAG,GAEvCrB,aAAA,CAACF,YAAY;IAACC,KAAK,EAAG7B,EAAE,CAAE,MAAO;EAAG,CAAE,CAAC,EACrC4C,QAAQ,CAAEK,QAAS,CACL,CAChB,CACgB,CAAC;AAEtB"}
@@ -12,6 +12,17 @@ const defaultGetKeywords = item => item.keywords || [];
12
12
  const defaultGetCategory = item => item.category;
13
13
  const defaultGetCollection = () => null;
14
14
 
15
+ // Normalization regexes
16
+ const splitRegexp = [/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu,
17
+ // One lowercase or digit, followed by one uppercase.
18
+ /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase.
19
+ ];
20
+ const stripRegexp = /(\p{C}|\p{P}|\p{S})+/giu; // Anything that's not a punctuation, symbol or control/format character.
21
+
22
+ // Normalization cache
23
+ const extractedWords = new Map();
24
+ const normalizedStrings = new Map();
25
+
15
26
  /**
16
27
  * Extracts words from an input string.
17
28
  *
@@ -19,14 +30,16 @@ const defaultGetCollection = () => null;
19
30
  *
20
31
  * @return {Array} Words, extracted from the input string.
21
32
  */
22
- function extractWords(input = '') {
23
- return noCase(input, {
24
- splitRegexp: [/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu,
25
- // One lowercase or digit, followed by one uppercase.
26
- /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase.
27
- ],
28
- stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu // Anything that's not a punctuation, symbol or control/format character.
33
+ export function extractWords(input = '') {
34
+ if (extractedWords.has(input)) {
35
+ return extractedWords.get(input);
36
+ }
37
+ const result = noCase(input, {
38
+ splitRegexp,
39
+ stripRegexp
29
40
  }).split(' ').filter(Boolean);
41
+ extractedWords.set(input, result);
42
+ return result;
30
43
  }
31
44
 
32
45
  /**
@@ -36,19 +49,24 @@ function extractWords(input = '') {
36
49
  *
37
50
  * @return {string} The normalized search input.
38
51
  */
39
- function normalizeSearchInput(input = '') {
52
+ export function normalizeString(input = '') {
53
+ if (normalizedStrings.has(input)) {
54
+ return normalizedStrings.get(input);
55
+ }
56
+
40
57
  // Disregard diacritics.
41
58
  // Input: "média"
42
- input = removeAccents(input);
59
+ let result = removeAccents(input);
43
60
 
44
61
  // Accommodate leading slash, matching autocomplete expectations.
45
62
  // Input: "/media"
46
- input = input.replace(/^\//, '');
63
+ result = result.replace(/^\//, '');
47
64
 
48
65
  // Lowercase.
49
66
  // Input: "MEDIA"
50
- input = input.toLowerCase();
51
- return input;
67
+ result = result.toLowerCase();
68
+ normalizedStrings.set(input, result);
69
+ return result;
52
70
  }
53
71
 
54
72
  /**
@@ -59,7 +77,7 @@ function normalizeSearchInput(input = '') {
59
77
  * @return {string[]} The normalized list of search terms.
60
78
  */
61
79
  export const getNormalizedSearchTerms = (input = '') => {
62
- return extractWords(normalizeSearchInput(input));
80
+ return extractWords(normalizeString(input));
63
81
  };
64
82
  const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => {
65
83
  return unmatchedTerms.filter(term => !getNormalizedSearchTerms(unprocessedTerms).some(unprocessedTerm => unprocessedTerm.includes(term)));
@@ -125,8 +143,8 @@ export function getItemSearchRank(item, searchTerm, config = {}) {
125
143
  const keywords = getKeywords(item);
126
144
  const category = getCategory(item);
127
145
  const collection = getCollection(item);
128
- const normalizedSearchInput = normalizeSearchInput(searchTerm);
129
- const normalizedTitle = normalizeSearchInput(title);
146
+ const normalizedSearchInput = normalizeString(searchTerm);
147
+ const normalizedTitle = normalizeString(title);
130
148
  let rank = 0;
131
149
 
132
150
  // Prefers exact matches
@@ -1 +1 @@
1
- {"version":3,"names":["removeAccents","noCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","extractWords","input","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","find","slug","getCollection","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tcategories.find( ( { slug } ) => slug === item.category )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["removeAccents","noCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","splitRegexp","stripRegexp","extractedWords","Map","normalizedStrings","extractWords","input","has","get","result","split","filter","Boolean","set","normalizeString","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","find","slug","getCollection","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n// Normalization regexes\nconst splitRegexp = [\n\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n];\nconst stripRegexp = /(\\p{C}|\\p{P}|\\p{S})+/giu; // Anything that's not a punctuation, symbol or control/format character.\n\n// Normalization cache\nconst extractedWords = new Map();\nconst normalizedStrings = new Map();\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nexport function extractWords( input = '' ) {\n\tif ( extractedWords.has( input ) ) {\n\t\treturn extractedWords.get( input );\n\t}\n\n\tconst result = noCase( input, {\n\t\tsplitRegexp,\n\t\tstripRegexp,\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n\n\textractedWords.set( input, result );\n\n\treturn result;\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nexport function normalizeString( input = '' ) {\n\tif ( normalizedStrings.has( input ) ) {\n\t\treturn normalizedStrings.get( input );\n\t}\n\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tlet result = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tresult = result.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tresult = result.toLowerCase();\n\n\tnormalizedStrings.set( input, result );\n\n\treturn result;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeString( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tcategories.find( ( { slug } ) => slug === item.category )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeString( searchTerm );\n\tconst normalizedTitle = normalizeString( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
@@ -48,8 +48,7 @@ function InserterSearchResults({
48
48
  isDraggable = true,
49
49
  shouldFocusBlock = true,
50
50
  prioritizePatterns,
51
- selectBlockOnInsert,
52
- showBlocks = true
51
+ selectBlockOnInsert
53
52
  }) {
54
53
  const debouncedSpeak = useDebounce(speak, 500);
55
54
  const {
@@ -110,7 +109,7 @@ function InserterSearchResults({
110
109
  });
111
110
  const currentShownPatterns = useAsyncList(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : EMPTY_ARRAY);
112
111
  const hasItems = filteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;
113
- const blocksUI = showBlocks && !!filteredBlockTypes.length && createElement(InserterPanel, {
112
+ const blocksUI = !!filteredBlockTypes.length && createElement(InserterPanel, {
114
113
  title: createElement(VisuallyHidden, null, __('Blocks'))
115
114
  }, createElement(BlockTypesList, {
116
115
  items: currentShownBlockTypes,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useEffect","__","_n","sprintf","VisuallyHidden","useDebounce","useAsyncList","speak","useSelect","BlockTypesList","BlockPatternsList","__unstableInserterMenuExtension","InserterPanel","InserterNoResults","useInsertionPoint","usePatternsState","useBlockTypesState","searchBlockItems","searchItems","InserterListbox","orderBy","orderInserterBlockItems","store","blockEditorStore","INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","onHoverPattern","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","selectBlockOnInsert","showBlocks","debouncedSpeak","prioritizedBlocks","select","blockListSettings","getBlockListSettings","prioritizedInserterBlocks","destinationRootClientId","onInsertBlocks","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","patterns","onClickPattern","filteredBlockPatterns","results","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","nonPatternBlockTypes","filter","blockType","name","orderedItems","count","resultsFoundMessage","currentShownBlockTypes","step","currentShownPatterns","hasItems","blocksUI","createElement","title","items","label","patternsUI","className","shownPatterns","blockPatterns","Slot","fillProps","fills"],"sources":["@wordpress/block-editor/src/components/inserter/search-results.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockPatternsList from '../block-patterns-list';\nimport __unstableInserterMenuExtension from '../inserter-menu-extension';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { searchBlockItems, searchItems } from './search-items';\nimport InserterListbox from '../inserter-listbox';\nimport { orderBy } from '../../utils/sorting';\nimport { orderInserterBlockItems } from '../../utils/order-inserter-block-items';\nimport { store as blockEditorStore } from '../../store';\n\nconst INITIAL_INSERTER_RESULTS = 9;\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tonHover,\n\tonHoverPattern,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tmaxBlockPatterns,\n\tmaxBlockTypes,\n\tshowBlockDirectory = false,\n\tisDraggable = true,\n\tshouldFocusBlock = true,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n\tshowBlocks = true,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst { prioritizedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst blockListSettings =\n\t\t\t\tselect( blockEditorStore ).getBlockListSettings( rootClientId );\n\n\t\t\treturn {\n\t\t\t\tprioritizedBlocks:\n\t\t\t\t\tblockListSettings?.prioritizedInserterBlocks || EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tonSelectBlockType,\n\t] = useBlockTypesState( destinationRootClientId, onInsertBlocks );\n\tconst [ patterns, , onClickPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tif ( maxBlockPatterns === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchItems( patterns, filterValue );\n\t\treturn maxBlockPatterns !== undefined\n\t\t\t? results.slice( 0, maxBlockPatterns )\n\t\t\t: results;\n\t}, [ filterValue, patterns, maxBlockPatterns ] );\n\n\tlet maxBlockTypesToShow = maxBlockTypes;\n\tif ( prioritizePatterns && filteredBlockPatterns.length > 2 ) {\n\t\tmaxBlockTypesToShow = 0;\n\t}\n\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( maxBlockTypesToShow === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst nonPatternBlockTypes = blockTypes.filter(\n\t\t\t( blockType ) => blockType.name !== 'core/block'\n\t\t);\n\t\tlet orderedItems = orderBy( nonPatternBlockTypes, 'frecency', 'desc' );\n\n\t\tif ( ! filterValue && prioritizedBlocks.length ) {\n\t\t\torderedItems = orderInserterBlockItems(\n\t\t\t\torderedItems,\n\t\t\t\tprioritizedBlocks\n\t\t\t);\n\t\t}\n\n\t\tconst results = searchBlockItems(\n\t\t\torderedItems,\n\t\t\tblockTypeCategories,\n\t\t\tblockTypeCollections,\n\t\t\tfilterValue\n\t\t);\n\n\t\treturn maxBlockTypesToShow !== undefined\n\t\t\t? results.slice( 0, maxBlockTypesToShow )\n\t\t\t: results;\n\t}, [\n\t\tfilterValue,\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tmaxBlockTypesToShow,\n\t\tprioritizedBlocks,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length + 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}, [\n\t\tfilterValue,\n\t\tdebouncedSpeak,\n\t\tfilteredBlockTypes,\n\t\tfilteredBlockPatterns,\n\t] );\n\n\tconst currentShownBlockTypes = useAsyncList( filteredBlockTypes, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\tconst currentShownPatterns = useAsyncList(\n\t\tcurrentShownBlockTypes.length === filteredBlockTypes.length\n\t\t\t? filteredBlockPatterns\n\t\t\t: EMPTY_ARRAY\n\t);\n\n\tconst hasItems =\n\t\tfilteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;\n\n\tconst blocksUI = showBlocks && !! filteredBlockTypes.length && (\n\t\t<InserterPanel\n\t\t\ttitle={ <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden> }\n\t\t>\n\t\t\t<BlockTypesList\n\t\t\t\titems={ currentShownBlockTypes }\n\t\t\t\tonSelect={ onSelectBlockType }\n\t\t\t\tonHover={ onHover }\n\t\t\t\tlabel={ __( 'Blocks' ) }\n\t\t\t\tisDraggable={ isDraggable }\n\t\t\t/>\n\t\t</InserterPanel>\n\t);\n\n\tconst patternsUI = !! filteredBlockPatterns.length && (\n\t\t<InserterPanel\n\t\t\ttitle={\n\t\t\t\t<VisuallyHidden>{ __( 'Block patterns' ) }</VisuallyHidden>\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-patterns\">\n\t\t\t\t<BlockPatternsList\n\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterPanel>\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t{ ! showBlockDirectory && ! hasItems && <InserterNoResults /> }\n\n\t\t\t{ prioritizePatterns ? patternsUI : blocksUI }\n\n\t\t\t{ !! filteredBlockTypes.length &&\n\t\t\t\t!! filteredBlockPatterns.length && (\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t) }\n\n\t\t\t{ prioritizePatterns ? blocksUI : patternsUI }\n\n\t\t\t{ showBlockDirectory && (\n\t\t\t\t<__unstableInserterMenuExtension.Slot\n\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\tonSelect: onSelectBlockType,\n\t\t\t\t\t\tonHover,\n\t\t\t\t\t\tfilterValue,\n\t\t\t\t\t\thasItems,\n\t\t\t\t\t\trootClientId: destinationRootClientId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( fills ) => {\n\t\t\t\t\t\tif ( fills.length ) {\n\t\t\t\t\t\t\treturn fills;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! hasItems ) {\n\t\t\t\t\t\t\treturn <InserterNoResults />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t</__unstableInserterMenuExtension.Slot>\n\t\t\t) }\n\t\t</InserterListbox>\n\t);\n}\n\nexport default InserterSearchResults;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useMemo","useEffect","__","_n","sprintf","VisuallyHidden","useDebounce","useAsyncList","speak","useSelect","BlockTypesList","BlockPatternsList","__unstableInserterMenuExtension","InserterPanel","InserterNoResults","useInsertionPoint","usePatternsState","useBlockTypesState","searchBlockItems","searchItems","InserterListbox","orderBy","orderInserterBlockItems","store","blockEditorStore","INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","onHoverPattern","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","selectBlockOnInsert","debouncedSpeak","prioritizedBlocks","select","blockListSettings","getBlockListSettings","prioritizedInserterBlocks","destinationRootClientId","onInsertBlocks","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","patterns","onClickPattern","filteredBlockPatterns","results","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","nonPatternBlockTypes","filter","blockType","name","orderedItems","count","resultsFoundMessage","currentShownBlockTypes","step","currentShownPatterns","hasItems","blocksUI","createElement","title","items","label","patternsUI","className","shownPatterns","blockPatterns","Slot","fillProps","fills"],"sources":["@wordpress/block-editor/src/components/inserter/search-results.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockPatternsList from '../block-patterns-list';\nimport __unstableInserterMenuExtension from '../inserter-menu-extension';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { searchBlockItems, searchItems } from './search-items';\nimport InserterListbox from '../inserter-listbox';\nimport { orderBy } from '../../utils/sorting';\nimport { orderInserterBlockItems } from '../../utils/order-inserter-block-items';\nimport { store as blockEditorStore } from '../../store';\n\nconst INITIAL_INSERTER_RESULTS = 9;\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tonHover,\n\tonHoverPattern,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tmaxBlockPatterns,\n\tmaxBlockTypes,\n\tshowBlockDirectory = false,\n\tisDraggable = true,\n\tshouldFocusBlock = true,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst { prioritizedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst blockListSettings =\n\t\t\t\tselect( blockEditorStore ).getBlockListSettings( rootClientId );\n\n\t\t\treturn {\n\t\t\t\tprioritizedBlocks:\n\t\t\t\t\tblockListSettings?.prioritizedInserterBlocks || EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tonSelectBlockType,\n\t] = useBlockTypesState( destinationRootClientId, onInsertBlocks );\n\tconst [ patterns, , onClickPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tif ( maxBlockPatterns === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchItems( patterns, filterValue );\n\t\treturn maxBlockPatterns !== undefined\n\t\t\t? results.slice( 0, maxBlockPatterns )\n\t\t\t: results;\n\t}, [ filterValue, patterns, maxBlockPatterns ] );\n\n\tlet maxBlockTypesToShow = maxBlockTypes;\n\tif ( prioritizePatterns && filteredBlockPatterns.length > 2 ) {\n\t\tmaxBlockTypesToShow = 0;\n\t}\n\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( maxBlockTypesToShow === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst nonPatternBlockTypes = blockTypes.filter(\n\t\t\t( blockType ) => blockType.name !== 'core/block'\n\t\t);\n\t\tlet orderedItems = orderBy( nonPatternBlockTypes, 'frecency', 'desc' );\n\n\t\tif ( ! filterValue && prioritizedBlocks.length ) {\n\t\t\torderedItems = orderInserterBlockItems(\n\t\t\t\torderedItems,\n\t\t\t\tprioritizedBlocks\n\t\t\t);\n\t\t}\n\n\t\tconst results = searchBlockItems(\n\t\t\torderedItems,\n\t\t\tblockTypeCategories,\n\t\t\tblockTypeCollections,\n\t\t\tfilterValue\n\t\t);\n\n\t\treturn maxBlockTypesToShow !== undefined\n\t\t\t? results.slice( 0, maxBlockTypesToShow )\n\t\t\t: results;\n\t}, [\n\t\tfilterValue,\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tmaxBlockTypesToShow,\n\t\tprioritizedBlocks,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length + 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}, [\n\t\tfilterValue,\n\t\tdebouncedSpeak,\n\t\tfilteredBlockTypes,\n\t\tfilteredBlockPatterns,\n\t] );\n\n\tconst currentShownBlockTypes = useAsyncList( filteredBlockTypes, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\tconst currentShownPatterns = useAsyncList(\n\t\tcurrentShownBlockTypes.length === filteredBlockTypes.length\n\t\t\t? filteredBlockPatterns\n\t\t\t: EMPTY_ARRAY\n\t);\n\n\tconst hasItems =\n\t\tfilteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;\n\n\tconst blocksUI = !! filteredBlockTypes.length && (\n\t\t<InserterPanel\n\t\t\ttitle={ <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden> }\n\t\t>\n\t\t\t<BlockTypesList\n\t\t\t\titems={ currentShownBlockTypes }\n\t\t\t\tonSelect={ onSelectBlockType }\n\t\t\t\tonHover={ onHover }\n\t\t\t\tlabel={ __( 'Blocks' ) }\n\t\t\t\tisDraggable={ isDraggable }\n\t\t\t/>\n\t\t</InserterPanel>\n\t);\n\n\tconst patternsUI = !! filteredBlockPatterns.length && (\n\t\t<InserterPanel\n\t\t\ttitle={\n\t\t\t\t<VisuallyHidden>{ __( 'Block patterns' ) }</VisuallyHidden>\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-patterns\">\n\t\t\t\t<BlockPatternsList\n\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterPanel>\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t{ ! showBlockDirectory && ! hasItems && <InserterNoResults /> }\n\n\t\t\t{ prioritizePatterns ? patternsUI : blocksUI }\n\n\t\t\t{ !! filteredBlockTypes.length &&\n\t\t\t\t!! filteredBlockPatterns.length && (\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t) }\n\n\t\t\t{ prioritizePatterns ? blocksUI : patternsUI }\n\n\t\t\t{ showBlockDirectory && (\n\t\t\t\t<__unstableInserterMenuExtension.Slot\n\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\tonSelect: onSelectBlockType,\n\t\t\t\t\t\tonHover,\n\t\t\t\t\t\tfilterValue,\n\t\t\t\t\t\thasItems,\n\t\t\t\t\t\trootClientId: destinationRootClientId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( fills ) => {\n\t\t\t\t\t\tif ( fills.length ) {\n\t\t\t\t\t\t\treturn fills;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! hasItems ) {\n\t\t\t\t\t\t\treturn <InserterNoResults />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t</__unstableInserterMenuExtension.Slot>\n\t\t\t) }\n\t\t</InserterListbox>\n\t);\n}\n\nexport default InserterSearchResults;\n"],"mappings":"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"}
@@ -28,13 +28,12 @@ const mediaTab = {
28
28
  title: __('Media')
29
29
  };
30
30
  function InserterTabs({
31
- showBlocks = true,
32
31
  showPatterns = false,
33
32
  showMedia = false,
34
33
  onSelect,
35
34
  tabsContents
36
35
  }) {
37
- const tabs = [showBlocks && blocksTab, showPatterns && patternsTab, showMedia && mediaTab].filter(Boolean);
36
+ const tabs = [blocksTab, showPatterns && patternsTab, showMedia && mediaTab].filter(Boolean);
38
37
  return createElement("div", {
39
38
  className: "block-editor-inserter__tabs"
40
39
  }, createElement(Tabs, {
@@ -1 +1 @@
1
- {"version":3,"names":["privateApis","componentsPrivateApis","__","unlock","Tabs","blocksTab","name","title","patternsTab","mediaTab","InserterTabs","showBlocks","showPatterns","showMedia","onSelect","tabsContents","tabs","filter","Boolean","createElement","className","TabList","map","tab","Tab","key","tabId","TabPanel","focusable"],"sources":["@wordpress/block-editor/src/components/inserter/tabs.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst blocksTab = {\n\tname: 'blocks',\n\t/* translators: Blocks tab title in the block inserter. */\n\ttitle: __( 'Blocks' ),\n};\nconst patternsTab = {\n\tname: 'patterns',\n\t/* translators: Theme and Directory Patterns tab title in the block inserter. */\n\ttitle: __( 'Patterns' ),\n};\n\nconst mediaTab = {\n\tname: 'media',\n\t/* translators: Media tab title in the block inserter. */\n\ttitle: __( 'Media' ),\n};\n\nfunction InserterTabs( {\n\tshowBlocks = true,\n\tshowPatterns = false,\n\tshowMedia = false,\n\tonSelect,\n\ttabsContents,\n} ) {\n\tconst tabs = [\n\t\tshowBlocks && blocksTab,\n\t\tshowPatterns && patternsTab,\n\t\tshowMedia && mediaTab,\n\t].filter( Boolean );\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__tabs\">\n\t\t\t<Tabs onSelect={ onSelect }>\n\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t<Tabs.Tab key={ tab.name } tabId={ tab.name }>\n\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tabs.TabList>\n\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ tabsContents[ tab.name ] }\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t) ) }\n\t\t\t</Tabs>\n\t\t</div>\n\t);\n}\n\nexport default InserterTabs;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAK,CAAC,GAAGD,MAAM,CAAEF,qBAAsB,CAAC;AAEhD,MAAMI,SAAS,GAAG;EACjBC,IAAI,EAAE,QAAQ;EACd;EACAC,KAAK,EAAEL,EAAE,CAAE,QAAS;AACrB,CAAC;AACD,MAAMM,WAAW,GAAG;EACnBF,IAAI,EAAE,UAAU;EAChB;EACAC,KAAK,EAAEL,EAAE,CAAE,UAAW;AACvB,CAAC;AAED,MAAMO,QAAQ,GAAG;EAChBH,IAAI,EAAE,OAAO;EACb;EACAC,KAAK,EAAEL,EAAE,CAAE,OAAQ;AACpB,CAAC;AAED,SAASQ,YAAYA,CAAE;EACtBC,UAAU,GAAG,IAAI;EACjBC,YAAY,GAAG,KAAK;EACpBC,SAAS,GAAG,KAAK;EACjBC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,IAAI,GAAG,CACZL,UAAU,IAAIN,SAAS,EACvBO,YAAY,IAAIJ,WAAW,EAC3BK,SAAS,IAAIJ,QAAQ,CACrB,CAACQ,MAAM,CAAEC,OAAQ,CAAC;EAEnB,OACCC,aAAA;IAAKC,SAAS,EAAC;EAA6B,GAC3CD,aAAA,CAACf,IAAI;IAACU,QAAQ,EAAGA;EAAU,GAC1BK,aAAA,CAACf,IAAI,CAACiB,OAAO,QACVL,IAAI,CAACM,GAAG,CAAIC,GAAG,IAChBJ,aAAA,CAACf,IAAI,CAACoB,GAAG;IAACC,GAAG,EAAGF,GAAG,CAACjB,IAAM;IAACoB,KAAK,EAAGH,GAAG,CAACjB;EAAM,GAC1CiB,GAAG,CAAChB,KACG,CACT,CACW,CAAC,EACbS,IAAI,CAACM,GAAG,CAAIC,GAAG,IAChBJ,aAAA,CAACf,IAAI,CAACuB,QAAQ;IACbF,GAAG,EAAGF,GAAG,CAACjB,IAAM;IAChBoB,KAAK,EAAGH,GAAG,CAACjB,IAAM;IAClBsB,SAAS,EAAG;EAAO,GAEjBb,YAAY,CAAEQ,GAAG,CAACjB,IAAI,CACV,CACd,CACG,CACF,CAAC;AAER;AAEA,eAAeI,YAAY"}
1
+ {"version":3,"names":["privateApis","componentsPrivateApis","__","unlock","Tabs","blocksTab","name","title","patternsTab","mediaTab","InserterTabs","showPatterns","showMedia","onSelect","tabsContents","tabs","filter","Boolean","createElement","className","TabList","map","tab","Tab","key","tabId","TabPanel","focusable"],"sources":["@wordpress/block-editor/src/components/inserter/tabs.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst blocksTab = {\n\tname: 'blocks',\n\t/* translators: Blocks tab title in the block inserter. */\n\ttitle: __( 'Blocks' ),\n};\nconst patternsTab = {\n\tname: 'patterns',\n\t/* translators: Theme and Directory Patterns tab title in the block inserter. */\n\ttitle: __( 'Patterns' ),\n};\n\nconst mediaTab = {\n\tname: 'media',\n\t/* translators: Media tab title in the block inserter. */\n\ttitle: __( 'Media' ),\n};\n\nfunction InserterTabs( {\n\tshowPatterns = false,\n\tshowMedia = false,\n\tonSelect,\n\ttabsContents,\n} ) {\n\tconst tabs = [\n\t\tblocksTab,\n\t\tshowPatterns && patternsTab,\n\t\tshowMedia && mediaTab,\n\t].filter( Boolean );\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__tabs\">\n\t\t\t<Tabs onSelect={ onSelect }>\n\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t<Tabs.Tab key={ tab.name } tabId={ tab.name }>\n\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tabs.TabList>\n\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ tabsContents[ tab.name ] }\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t) ) }\n\t\t\t</Tabs>\n\t\t</div>\n\t);\n}\n\nexport default InserterTabs;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAK,CAAC,GAAGD,MAAM,CAAEF,qBAAsB,CAAC;AAEhD,MAAMI,SAAS,GAAG;EACjBC,IAAI,EAAE,QAAQ;EACd;EACAC,KAAK,EAAEL,EAAE,CAAE,QAAS;AACrB,CAAC;AACD,MAAMM,WAAW,GAAG;EACnBF,IAAI,EAAE,UAAU;EAChB;EACAC,KAAK,EAAEL,EAAE,CAAE,UAAW;AACvB,CAAC;AAED,MAAMO,QAAQ,GAAG;EAChBH,IAAI,EAAE,OAAO;EACb;EACAC,KAAK,EAAEL,EAAE,CAAE,OAAQ;AACpB,CAAC;AAED,SAASQ,YAAYA,CAAE;EACtBC,YAAY,GAAG,KAAK;EACpBC,SAAS,GAAG,KAAK;EACjBC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,IAAI,GAAG,CACZV,SAAS,EACTM,YAAY,IAAIH,WAAW,EAC3BI,SAAS,IAAIH,QAAQ,CACrB,CAACO,MAAM,CAAEC,OAAQ,CAAC;EAEnB,OACCC,aAAA;IAAKC,SAAS,EAAC;EAA6B,GAC3CD,aAAA,CAACd,IAAI;IAACS,QAAQ,EAAGA;EAAU,GAC1BK,aAAA,CAACd,IAAI,CAACgB,OAAO,QACVL,IAAI,CAACM,GAAG,CAAIC,GAAG,IAChBJ,aAAA,CAACd,IAAI,CAACmB,GAAG;IAACC,GAAG,EAAGF,GAAG,CAAChB,IAAM;IAACmB,KAAK,EAAGH,GAAG,CAAChB;EAAM,GAC1CgB,GAAG,CAACf,KACG,CACT,CACW,CAAC,EACbQ,IAAI,CAACM,GAAG,CAAIC,GAAG,IAChBJ,aAAA,CAACd,IAAI,CAACsB,QAAQ;IACbF,GAAG,EAAGF,GAAG,CAAChB,IAAM;IAChBmB,KAAK,EAAGH,GAAG,CAAChB,IAAM;IAClBqB,SAAS,EAAG;EAAO,GAEjBb,YAAY,CAAEQ,GAAG,CAAChB,IAAI,CACV,CACd,CACG,CACF,CAAC;AAER;AAEA,eAAeI,YAAY"}
@@ -0,0 +1,28 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { PanelBody } from '@wordpress/components';
6
+ import { __ } from '@wordpress/i18n';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import groups from '../inspector-controls/groups';
12
+ export default function AdvancedControls(props) {
13
+ const Slot = groups.advanced?.Slot;
14
+ if (!Slot) {
15
+ return null;
16
+ }
17
+ return createElement(Slot, {
18
+ ...props
19
+ }, fills => {
20
+ if (!fills.length) {
21
+ return null;
22
+ }
23
+ return createElement(PanelBody, {
24
+ title: __('Advanced')
25
+ }, fills);
26
+ });
27
+ }
28
+ //# sourceMappingURL=advanced-controls-panel.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PanelBody","__","groups","AdvancedControls","props","Slot","advanced","createElement","fills","length","title"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/advanced-controls-panel.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport groups from '../inspector-controls/groups';\n\nexport default function AdvancedControls( props ) {\n\tconst Slot = groups.advanced?.Slot;\n\tif ( ! Slot ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Slot { ...props }>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif ( ! fills.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<PanelBody title={ __( 'Advanced' ) }>{ fills }</PanelBody>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,MAAM,MAAM,8BAA8B;AAEjD,eAAe,SAASC,gBAAgBA,CAAEC,KAAK,EAAG;EACjD,MAAMC,IAAI,GAAGH,MAAM,CAACI,QAAQ,EAAED,IAAI;EAClC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAO,IAAI;EACZ;EAEA,OACCE,aAAA,CAACF,IAAI;IAAA,GAAMD;EAAK,GACXI,KAAK,IAAM;IACd,IAAK,CAAEA,KAAK,CAACC,MAAM,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,OACCF,aAAA,CAACP,SAAS;MAACU,KAAK,EAAGT,EAAE,CAAE,UAAW;IAAG,GAAGO,KAAkB,CAAC;EAE7D,CACK,CAAC;AAET"}
@@ -114,6 +114,17 @@ function KeyboardShortcutsRegister() {
114
114
  character: 'y'
115
115
  }
116
116
  });
117
+
118
+ // List view shortcuts.
119
+ registerShortcut({
120
+ name: 'core/block-editor/collapse-list-view',
121
+ category: 'list-view',
122
+ description: __('Collapse all other items.'),
123
+ keyCombination: {
124
+ modifier: 'alt',
125
+ character: 'l'
126
+ }
127
+ });
117
128
  }, [registerShortcut]);
118
129
  return null;
119
130
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useDispatch","store","keyboardShortcutsStore","__","KeyboardShortcuts","KeyboardShortcutsRegister","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","Register"],"sources":["@wordpress/block-editor/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\n\nfunction KeyboardShortcuts() {\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/duplicate',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Duplicate the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'd',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/remove',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Remove the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-before',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block before the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-after',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block after the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/delete-multi-selection',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Delete selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'del',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tcharacter: 'backspace',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/select-all',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __(\n\t\t\t\t'Select all text when typing. Press again to select all blocks.'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'a',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/unselect',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Clear selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'escape',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/multi-text-selection',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Select text across multiple blocks.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'shift',\n\t\t\t\tcharacter: 'arrow',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/focus-toolbar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the nearest toolbar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'F10',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-up',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) up.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-down',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) down.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useDispatch","store","keyboardShortcutsStore","__","KeyboardShortcuts","KeyboardShortcutsRegister","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","Register"],"sources":["@wordpress/block-editor/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\n\nfunction KeyboardShortcuts() {\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/duplicate',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Duplicate the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'd',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/remove',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Remove the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-before',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block before the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-after',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block after the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/delete-multi-selection',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Delete selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'del',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tcharacter: 'backspace',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/select-all',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __(\n\t\t\t\t'Select all text when typing. Press again to select all blocks.'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'a',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/unselect',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Clear selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'escape',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/multi-text-selection',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Select text across multiple blocks.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'shift',\n\t\t\t\tcharacter: 'arrow',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/focus-toolbar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the nearest toolbar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'F10',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-up',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) up.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-down',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) down.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\t// List view shortcuts.\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/collapse-list-view',\n\t\t\tcategory: 'list-view',\n\t\t\tdescription: __( 'Collapse all other items.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'l',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ import classnames from 'classnames';
10
10
  import { hasBlockSupport } from '@wordpress/blocks';
11
11
  import { Button, __experimentalHStack as HStack, __experimentalTruncate as Truncate, Tooltip } from '@wordpress/components';
12
12
  import { forwardRef } from '@wordpress/element';
13
- import { Icon, connection, lockSmall as lock, pinSmall } from '@wordpress/icons';
13
+ import { Icon, lockSmall as lock, pinSmall } from '@wordpress/icons';
14
14
  import { SPACE, ENTER, BACKSPACE, DELETE } from '@wordpress/keycodes';
15
15
  import { useSelect, useDispatch } from '@wordpress/data';
16
16
  import { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';
@@ -28,12 +28,10 @@ import { useBlockLock } from '../block-lock';
28
28
  import { store as blockEditorStore } from '../../store';
29
29
  import useListViewImages from './use-list-view-images';
30
30
  import { useListViewContext } from './context';
31
- import { canBindBlock } from '../../hooks/use-bindings-attributes';
32
31
  function ListViewBlockSelectButton({
33
32
  className,
34
33
  block: {
35
- clientId,
36
- name: blockName
34
+ clientId
37
35
  },
38
36
  onClick,
39
37
  onContextMenu,
@@ -45,7 +43,6 @@ function ListViewBlockSelectButton({
45
43
  onDragEnd,
46
44
  draggable,
47
45
  isExpanded,
48
- ariaLabel,
49
46
  ariaDescribedBy,
50
47
  updateFocusAndSelection
51
48
  }, ref) {
@@ -63,8 +60,8 @@ function ListViewBlockSelectButton({
63
60
  getPreviousBlockClientId,
64
61
  getBlockRootClientId,
65
62
  getBlockOrder,
63
+ getBlockParents,
66
64
  getBlocksByClientId,
67
- getBlockAttributes,
68
65
  canRemoveBlocks
69
66
  } = useSelect(blockEditorStore);
70
67
  const {
@@ -79,9 +76,10 @@ function ListViewBlockSelectButton({
79
76
  isExpanded
80
77
  });
81
78
  const {
79
+ collapseAll,
80
+ expand,
82
81
  rootClientId
83
82
  } = useListViewContext();
84
- const isConnected = getBlockAttributes(clientId)?.metadata?.bindings;
85
83
  const positionLabel = blockInformation?.positionLabel ? sprintf(
86
84
  // translators: 1: Position of selected block, e.g. "Sticky" or "Fixed".
87
85
  __('Position: %1$s'), blockInformation.positionLabel) : '';
@@ -197,6 +195,19 @@ function ListViewBlockSelectButton({
197
195
  // Select all while passing `null` to skip focusing to the editor canvas,
198
196
  // and retain focus within the list view.
199
197
  multiSelect(blockClientIds[0], blockClientIds[blockClientIds.length - 1], null);
198
+ } else if (isMatch('core/block-editor/collapse-list-view', event)) {
199
+ if (event.defaultPrevented) {
200
+ return;
201
+ }
202
+ event.preventDefault();
203
+ const {
204
+ firstBlockClientId
205
+ } = getBlocksToUpdate();
206
+ const blockParents = getBlockParents(firstBlockClientId, false);
207
+ // Collapse all blocks.
208
+ collapseAll();
209
+ // Expand all parents of the current block.
210
+ expand(blockParents);
200
211
  }
201
212
  }
202
213
  return createElement(Fragment, null, createElement(Button, {
@@ -212,7 +223,6 @@ function ListViewBlockSelectButton({
212
223
  onDragEnd: onDragEnd,
213
224
  draggable: draggable,
214
225
  href: `#block-${clientId}`,
215
- "aria-label": ariaLabel,
216
226
  "aria-describedby": ariaDescribedBy,
217
227
  "aria-expanded": isExpanded
218
228
  }, createElement(ListViewExpander, {
@@ -235,11 +245,7 @@ function ListViewBlockSelectButton({
235
245
  }, createElement(Truncate, {
236
246
  className: "block-editor-list-view-block-select-button__anchor",
237
247
  ellipsizeMode: "auto"
238
- }, blockInformation.anchor)), isConnected && canBindBlock(blockName) && createElement("span", {
239
- className: "block-editor-list-view-block-select-button__bindings"
240
- }, createElement(Icon, {
241
- icon: connection
242
- })), positionLabel && isSticky && createElement(Tooltip, {
248
+ }, blockInformation.anchor)), positionLabel && isSticky && createElement(Tooltip, {
243
249
  text: positionLabel
244
250
  }, createElement(Icon, {
245
251
  icon: pinSmall