@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","_interopRequireDefault","require","_element","_components","_i18n","_data","_compose","_lockUnlock","_tips","_previewPanel","_blockTypesTab","_blockPatternsTab","_patternCategoryPreviewPanel","_mediaTab","_searchResults","_useInsertionPoint","_tabs","_store","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","ref","filterValue","setFilterValue","delayedFilterValue","useDebouncedInput","hoveredItem","setHoveredItem","useState","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","useInsertionPoint","insertionIndex","isZoomOutMode","showPatterns","useSelect","select","hasAllowedPatterns","__unstableGetEditorMode","unlock","blockEditorStore","mediaCategories","useMediaCategories","showMedia","length","showBlocks","onInsert","useCallback","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","onClickPatternCategory","patternCategory","filter","blocksTab","useMemo","_react","createElement","Fragment","className","default","VisuallyHidden","as","__","patternsTab","onSelectCategory","selectedCategory","mediaTab","MediaTab","inserterTabsContents","patterns","media","searchRef","useRef","useImperativeHandle","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","handleSetSelectedTab","value","classnames","SearchControl","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","MediaCategoryDialog","category","Popover","placement","offset","focusOnMount","animate","PatternCategoryPreviewPanel","showTitlesAsTooltip","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t},\n\tref\n) {\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState( null );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { isZoomOutMode, showPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasAllowedPatterns, __unstableGetEditorMode } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t\tshowPatterns: hasAllowedPatterns( destinationRootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst mediaCategories = useMediaCategories( destinationRootClientId );\n\tconst showMedia = mediaCategories.length > 0 && ! isZoomOutMode;\n\tconst showBlocks = ! isZoomOutMode;\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onHoverPattern = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t},\n\t\t[ onToggleInsertionPoint ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst mediaTab = useMemo(\n\t\t() => (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tselectedMediaCategory,\n\t\t\tsetSelectedMediaCategory,\n\t\t]\n\t);\n\n\tconst inserterTabsContents = useMemo(\n\t\t() => ( {\n\t\t\tblocks: blocksTab,\n\t\t\tpatterns: patternsTab,\n\t\t\tmedia: mediaTab,\n\t\t} ),\n\t\t[ blocksTab, mediaTab, patternsTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\tselectedPatternCategory;\n\tconst showAsTabs = ! delayedFilterValue && ( showPatterns || showMedia );\n\tconst showMediaPanel =\n\t\tselectedTab === 'media' &&\n\t\t! delayedFilterValue &&\n\t\tselectedMediaCategory;\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'block-editor-inserter__main-area', {\n\t\t\t\t\t'show-as-tabs': showAsTabs,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tref={ searchRef }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tonHoverPattern={ onHoverPattern }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshowBlocks={ showBlocks }\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ showAsTabs && (\n\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\tshowBlocks={ showBlocks }\n\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\tshowMedia={ showMedia }\n\t\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\t\ttabsContents={ inserterTabsContents }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! delayedFilterValue && ! showAsTabs && showBlocks && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t{ blocksTab }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ showMediaPanel && (\n\t\t\t\t<MediaCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ showPatternPanel && (\n\t\t\t\t<PatternCategoryPreviewPanel\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAQA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,aAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,cAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,iBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,4BAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,kBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,KAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,MAAA,GAAAhB,OAAA;AAlCA;AACA;AACA;;AAGA;AACA;AACA;;AAcA;AACA;AACA;;AAaA,SAASiB,YAAYA,CACpB;EACCC,YAAY;EACZC,QAAQ;EACRC,UAAU;EACVC,4BAA4B;EAC5BC,QAAQ;EACRC,qBAAqB;EACrBC,kBAAkB;EAClBC,yBAAyB,GAAG,EAAE;EAC9BC,gBAAgB,GAAG;AACpB,CAAC,EACDC,GAAG,EACF;EACD,MAAM,CAAEC,WAAW,EAAEC,cAAc,EAAEC,kBAAkB,CAAE,GACxD,IAAAC,0BAAiB,EAAEN,yBAA0B,CAAC;EAC/C,MAAM,CAAEO,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EACxD,MAAM,CAAEC,uBAAuB,EAAEC,0BAA0B,CAAE,GAC5D,IAAAF,iBAAQ,EAAE,IAAK,CAAC;EACjB,MAAM,CAAEG,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAJ,iBAAQ,EAAE,KAAM,CAAC;EAC7D,MAAM,CAAEK,qBAAqB,EAAEC,wBAAwB,CAAE,GACxD,IAAAN,iBAAQ,EAAE,IAAK,CAAC;EACjB,MAAM,CAAEO,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAR,iBAAQ,EAAE,IAAK,CAAC;EAExD,MAAM,CAAES,uBAAuB,EAAEC,cAAc,EAAEC,sBAAsB,CAAE,GACxE,IAAAC,0BAAiB,EAAE;IAClB5B,YAAY;IACZC,QAAQ;IACRC,UAAU;IACV2B,cAAc,EAAE1B,4BAA4B;IAC5CK;EACD,CAAE,CAAC;EACJ,MAAM;IAAEsB,aAAa;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAC9CC,MAAM,IAAM;IACb,MAAM;MAAEC,kBAAkB;MAAEC;IAAwB,CAAC,GAAG,IAAAC,kBAAM,EAC7DH,MAAM,CAAEI,YAAiB,CAC1B,CAAC;IACD,OAAO;MACNP,aAAa,EAAEK,uBAAuB,CAAC,CAAC,KAAK,UAAU;MACvDJ,YAAY,EAAEG,kBAAkB,CAAET,uBAAwB;IAC3D,CAAC;EACF,CAAC,EACD,CAAEA,uBAAuB,CAC1B,CAAC;EAED,MAAMa,eAAe,GAAG,IAAAC,4BAAkB,EAAEd,uBAAwB,CAAC;EACrE,MAAMe,SAAS,GAAGF,eAAe,CAACG,MAAM,GAAG,CAAC,IAAI,CAAEX,aAAa;EAC/D,MAAMY,UAAU,GAAG,CAAEZ,aAAa;EAElC,MAAMa,QAAQ,GAAG,IAAAC,oBAAW,EAC3B,CAAEC,MAAM,EAAEC,IAAI,EAAEC,qBAAqB,KAAM;IAC1CrB,cAAc,CAAEmB,MAAM,EAAEC,IAAI,EAAEC,qBAAsB,CAAC;IACrD3C,QAAQ,CAAC,CAAC;EACX,CAAC,EACD,CAAEsB,cAAc,EAAEtB,QAAQ,CAC3B,CAAC;EAED,MAAM4C,eAAe,GAAG,IAAAJ,oBAAW,EAClC,CAAEC,MAAM,EAAEI,WAAW,KAAM;IAC1BvB,cAAc,CAAEmB,MAAM,EAAE;MAAEI;IAAY,CAAE,CAAC;IACzC7C,QAAQ,CAAC,CAAC;EACX,CAAC,EACD,CAAEsB,cAAc,EAAEtB,QAAQ,CAC3B,CAAC;EAED,MAAM8C,OAAO,GAAG,IAAAN,oBAAW,EACxBO,IAAI,IAAM;IACXxB,sBAAsB,CAAE,CAAC,CAAEwB,IAAK,CAAC;IACjCpC,cAAc,CAAEoC,IAAK,CAAC;EACvB,CAAC,EACD,CAAExB,sBAAsB,EAAEZ,cAAc,CACzC,CAAC;EAED,MAAMqC,cAAc,GAAG,IAAAR,oBAAW,EAC/BO,IAAI,IAAM;IACXxB,sBAAsB,CAAE,CAAC,CAAEwB,IAAK,CAAC;EAClC,CAAC,EACD,CAAExB,sBAAsB,CACzB,CAAC;EAED,MAAM0B,sBAAsB,GAAG,IAAAT,oBAAW,EACzC,CAAEU,eAAe,EAAEC,MAAM,KAAM;IAC9BrC,0BAA0B,CAAEoC,eAAgB,CAAC;IAC7ClC,gBAAgB,CAAEmC,MAAO,CAAC;EAC3B,CAAC,EACD,CAAErC,0BAA0B,CAC7B,CAAC;EAED,MAAMsC,SAAS,GAAG,IAAAC,gBAAO,EACxB,MACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAmC,GACjD,IAAAH,MAAA,CAAAC,aAAA,EAACpE,cAAA,CAAAuE,OAAa;IACb9D,YAAY,EAAGyB,uBAAyB;IACxCkB,QAAQ,EAAGA,QAAU;IACrBO,OAAO,EAAGA,OAAS;IACnB5C,kBAAkB,EAAGA;EAAoB,CACzC,CACG,CAAC,EACJD,qBAAqB,IACtB,IAAAqD,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAA6B,GAC3C,IAAAH,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA+E,cAAc;IAACC,EAAE,EAAC;EAAI,GACpB,IAAAC,QAAE,EAAE,kCAAmC,CAC1B,CAAC,EACjB,IAAAP,MAAA,CAAAC,aAAA,EAACtE,KAAA,CAAAyE,OAAI,MAAE,CACH,CAEL,CACF,EACD,CACCrC,uBAAuB,EACvBkB,QAAQ,EACRO,OAAO,EACP5C,kBAAkB,EAClBD,qBAAqB,CAEvB,CAAC;EAED,MAAM6D,WAAW,GAAG,IAAAT,gBAAO,EAC1B,MACC,IAAAC,MAAA,CAAAC,aAAA,EAACnE,iBAAA,CAAAsE,OAAgB;IAChB9D,YAAY,EAAGyB,uBAAyB;IACxCkB,QAAQ,EAAGK,eAAiB;IAC5BmB,gBAAgB,EAAGd,sBAAwB;IAC3Ce,gBAAgB,EAAGnD;EAAyB,CAC5C,CACD,EACD,CACCQ,uBAAuB,EACvBuB,eAAe,EACfK,sBAAsB,EACtBpC,uBAAuB,CAEzB,CAAC;EAED,MAAMoD,QAAQ,GAAG,IAAAZ,gBAAO,EACvB,MACC,IAAAC,MAAA,CAAAC,aAAA,EAACjE,SAAA,CAAA4E,QAAQ;IACRtE,YAAY,EAAGyB,uBAAyB;IACxC2C,gBAAgB,EAAG/C,qBAAuB;IAC1C8C,gBAAgB,EAAG7C,wBAA0B;IAC7CqB,QAAQ,EAAGA;EAAU,CACrB,CACD,EACD,CACClB,uBAAuB,EACvBkB,QAAQ,EACRtB,qBAAqB,EACrBC,wBAAwB,CAE1B,CAAC;EAED,MAAMiD,oBAAoB,GAAG,IAAAd,gBAAO,EACnC,OAAQ;IACPZ,MAAM,EAAEW,SAAS;IACjBgB,QAAQ,EAAEN,WAAW;IACrBO,KAAK,EAAEJ;EACR,CAAC,CAAE,EACH,CAAEb,SAAS,EAAEa,QAAQ,EAAEH,WAAW,CACnC,CAAC;EAED,MAAMQ,SAAS,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC1B,IAAAC,4BAAmB,EAAEnE,GAAG,EAAE,OAAQ;IACjCoE,WAAW,EAAEA,CAAA,KAAM;MAClBH,SAAS,CAACI,OAAO,CAACC,KAAK,CAAC,CAAC;IAC1B;EACD,CAAC,CAAG,CAAC;EAEL,MAAMC,gBAAgB,GACrBzD,WAAW,KAAK,UAAU,IAC1B,CAAEX,kBAAkB,IACpBK,uBAAuB;EACxB,MAAMgE,UAAU,GAAG,CAAErE,kBAAkB,KAAMmB,YAAY,IAAIS,SAAS,CAAE;EACxE,MAAM0C,cAAc,GACnB3D,WAAW,KAAK,OAAO,IACvB,CAAEX,kBAAkB,IACpBS,qBAAqB;EAEtB,MAAM8D,oBAAoB,GAAKC,KAAK,IAAM;IACzC;IACA,IAAKA,KAAK,KAAK,UAAU,EAAG;MAC3BlE,0BAA0B,CAAE,IAAK,CAAC;IACnC;IACAM,cAAc,CAAE4D,KAAM,CAAC;EACxB,CAAC;EAED,OACC,IAAA1B,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAA6B,GAC3C,IAAAH,MAAA,CAAAC,aAAA;IACCE,SAAS,EAAG,IAAAwB,mBAAU,EAAE,kCAAkC,EAAE;MAC3D,cAAc,EAAEJ;IACjB,CAAE;EAAG,GAEL,IAAAvB,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAAsG,aAAa;IACbC,uBAAuB;IACvB1B,SAAS,EAAC,+BAA+B;IACzC2B,QAAQ,EAAKJ,KAAK,IAAM;MACvB,IAAKtE,WAAW,EAAGC,cAAc,CAAE,IAAK,CAAC;MACzCJ,cAAc,CAAEyE,KAAM,CAAC;IACxB,CAAG;IACHA,KAAK,EAAG1E,WAAa;IACrB+E,KAAK,EAAG,IAAAxB,QAAE,EAAE,gCAAiC,CAAG;IAChDyB,WAAW,EAAG,IAAAzB,QAAE,EAAE,QAAS,CAAG;IAC9BxD,GAAG,EAAGiE;EAAW,CACjB,CAAC,EACA,CAAC,CAAE9D,kBAAkB,IACtB,IAAA8C,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAyC,GACvD,IAAAH,MAAA,CAAAC,aAAA,EAAChE,cAAA,CAAAmE,OAAqB;IACrBpD,WAAW,EAAGE,kBAAoB;IAClCR,QAAQ,EAAGA,QAAU;IACrB8C,OAAO,EAAGA,OAAS;IACnBE,cAAc,EAAGA,cAAgB;IACjCpD,YAAY,EAAGA,YAAc;IAC7BC,QAAQ,EAAGA,QAAU;IACrBC,UAAU,EAAGA,UAAY;IACzBC,4BAA4B,EAC3BA,4BACA;IACDwF,kBAAkB;IAClBjD,UAAU,EAAGA,UAAY;IACzBlC,gBAAgB,EAAGA;EAAkB,CACrC,CACG,CACL,EACCyE,UAAU,IACX,IAAAvB,MAAA,CAAAC,aAAA,EAAC9D,KAAA,CAAAiE,OAAY;IACZpB,UAAU,EAAGA,UAAY;IACzBX,YAAY,EAAGA,YAAc;IAC7BS,SAAS,EAAGA,SAAW;IACvBpC,QAAQ,EAAG+E,oBAAsB;IACjCS,YAAY,EAAGrB;EAAsB,CACrC,CACD,EACC,CAAE3D,kBAAkB,IAAI,CAAEqE,UAAU,IAAIvC,UAAU,IACnD,IAAAgB,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAyC,GACrDL,SACE,CAEF,CAAC,EACJ0B,cAAc,IACf,IAAAxB,MAAA,CAAAC,aAAA,EAACjE,SAAA,CAAAmG,mBAAmB;IACnB7F,YAAY,EAAGyB,uBAAyB;IACxCkB,QAAQ,EAAGA,QAAU;IACrBmD,QAAQ,EAAGzE;EAAuB,CAClC,CACD,EACChB,qBAAqB,IAAIS,WAAW,IACrC,IAAA4C,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA+G,OAAO;IACPlC,SAAS,EAAC,mDAAmD;IAC7DmC,SAAS,EAAC,aAAa;IACvBC,MAAM,EAAG,EAAI;IACbC,YAAY,EAAG,KAAO;IACtBC,OAAO,EAAG;EAAO,GAEjB,IAAAzC,MAAA,CAAAC,aAAA,EAACrE,aAAA,CAAAwE,OAAoB;IAACX,IAAI,EAAGrC;EAAa,CAAE,CACpC,CACT,EACCkE,gBAAgB,IACjB,IAAAtB,MAAA,CAAAC,aAAA,EAAClE,4BAAA,CAAA2G,2BAA2B;IAC3BpG,YAAY,EAAGyB,uBAAyB;IACxCkB,QAAQ,EAAGK,eAAiB;IAC5BE,OAAO,EAAGE,cAAgB;IAC1B0C,QAAQ,EAAG7E,uBAAyB;IACpCE,aAAa,EAAGA,aAAe;IAC/BkF,mBAAmB;EAAA,CACnB,CAEE,CAAC;AAER;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAzC,OAAA,GAEc,IAAA0C,mBAAU,EAAEzG,YAAa,CAAC"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_components","_i18n","_data","_compose","_lockUnlock","_tips","_previewPanel","_blockTypesTab","_blockPatternsTab","_patternCategoryPreviewPanel","_mediaTab","_searchResults","_useInsertionPoint","_tabs","_store","NOOP","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","__experimentalOnPatternCategorySelection","ref","filterValue","setFilterValue","delayedFilterValue","useDebouncedInput","hoveredItem","setHoveredItem","useState","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","useInsertionPoint","insertionIndex","showPatterns","useSelect","select","hasAllowedPatterns","unlock","blockEditorStore","mediaCategories","useMediaCategories","showMedia","length","onInsert","useCallback","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","onClickPatternCategory","patternCategory","filter","blocksTab","useMemo","_react","createElement","Fragment","className","default","VisuallyHidden","as","__","patternsTab","onSelectCategory","selectedCategory","mediaTab","MediaTab","inserterTabsContents","patterns","media","searchRef","useRef","useImperativeHandle","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","handleSetSelectedTab","value","classnames","SearchControl","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","MediaCategoryDialog","category","Popover","placement","offset","focusOnMount","animate","PatternCategoryPreviewPanel","showTitlesAsTooltip","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\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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"}
@@ -33,7 +33,7 @@ function ScreenHeader({
33
33
  },
34
34
  icon: (0, _i18n.isRTL)() ? _icons.chevronRight : _icons.chevronLeft,
35
35
  size: "small",
36
- "aria-label": (0, _i18n.__)('Navigate to the previous view')
36
+ label: (0, _i18n.__)('Back')
37
37
  }), (0, _react.createElement)(_components.__experimentalSpacer, null, (0, _react.createElement)(_components.__experimentalHeading, {
38
38
  level: 5
39
39
  }, title))))));
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_icons","ScreenHeader","title","_react","createElement","__experimentalVStack","spacing","__experimentalView","__experimentalSpacer","marginBottom","paddingX","paddingY","__experimentalHStack","__experimentalNavigatorBackButton","style","minWidth","padding","icon","isRTL","chevronRight","chevronLeft","size","__","__experimentalHeading","level","MobileTabNavigation","categories","children","__experimentalNavigatorProvider","initialPath","className","__experimentalNavigatorScreen","path","__experimentalItemGroup","map","category","__experimentalNavigatorButton","key","name","as","Item","isAction","FlexBlock","label","Icon"],"sources":["@wordpress/block-editor/src/components/inserter/mobile-tab-navigation.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalHeading as Heading,\n\t__experimentalView as View,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorButton as NavigatorButton,\n\t__experimentalNavigatorBackButton as NavigatorBackButton,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { Icon, chevronRight, chevronLeft } from '@wordpress/icons';\n\nfunction ScreenHeader( { title } ) {\n\treturn (\n\t\t<VStack spacing={ 0 }>\n\t\t\t<View>\n\t\t\t\t<Spacer marginBottom={ 0 } paddingX={ 4 } paddingY={ 3 }>\n\t\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t\t<NavigatorBackButton\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\taria-label={ __( 'Navigate to the previous view' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer>\n\t\t\t\t\t\t\t<Heading level={ 5 }>{ title }</Heading>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default function MobileTabNavigation( { categories, children } ) {\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tinitialPath=\"/\"\n\t\t\tclassName=\"block-editor-inserter__mobile-tab-navigation\"\n\t\t>\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t\t\t\tas={ Item }\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<FlexBlock>{ category.label }</FlexBlock>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</NavigatorScreen>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<NavigatorScreen\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t>\n\t\t\t\t\t<ScreenHeader title={ __( 'Back' ) } />\n\t\t\t\t\t{ children( category ) }\n\t\t\t\t</NavigatorScreen>\n\t\t\t) ) }\n\t\t</NavigatorProvider>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,MAAA,GAAAF,OAAA;AAlBA;AACA;AACA;;AAkBA,SAASG,YAAYA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAClC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAM,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAQ,kBAAI,QACJ,IAAAJ,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM;IAACC,YAAY,EAAG,CAAG;IAACC,QAAQ,EAAG,CAAG;IAACC,QAAQ,EAAG;EAAG,GACvD,IAAAR,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM;IAACN,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAc,iCAAmB;IACnBC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDC,IAAI,EAAG,IAAAC,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,IAAI,EAAC,OAAO;IACZ,cAAa,IAAAC,QAAE,EAAE,+BAAgC;EAAG,CACpD,CAAC,EACF,IAAAnB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM,QACN,IAAAL,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAwB,qBAAO;IAACC,KAAK,EAAG;EAAG,GAAGtB,KAAgB,CAChC,CACD,CACD,CACH,CACC,CAAC;AAEX;AAEe,SAASuB,mBAAmBA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,EAAG;EACvE,OACC,IAAAxB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA6B,+BAAiB;IACjBC,WAAW,EAAC,GAAG;IACfC,SAAS,EAAC;EAA8C,GAExD,IAAA3B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAgC,6BAAe;IAACC,IAAI,EAAC;EAAG,GACxB,IAAA7B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAkC,uBAAS,QACPP,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAhC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAqC,6BAAe;IACfC,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM,EAAG;IACvCC,EAAE,EAAGC,8BAAM;IACXC,QAAQ;EAAA,GAER,IAAAtC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM,QACN,IAAAT,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA2C,SAAS,QAAGP,QAAQ,CAACQ,KAAkB,CAAC,EACzC,IAAAxC,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAA4C,IAAI;IACJ3B,IAAI,EACH,IAAAC,WAAK,EAAC,CAAC,GAAGE,kBAAW,GAAGD;EACxB,CACD,CACM,CACQ,CAChB,CACQ,CACK,CAAC,EAChBO,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAhC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAgC,6BAAe;IACfM,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM;EAAG,GAEvC,IAAAnC,MAAA,CAAAC,aAAA,EAACH,YAAY;IAACC,KAAK,EAAG,IAAAoB,QAAE,EAAE,MAAO;EAAG,CAAE,CAAC,EACrCK,QAAQ,CAAEQ,QAAS,CACL,CAChB,CACgB,CAAC;AAEtB"}
1
+ {"version":3,"names":["_i18n","require","_components","_icons","ScreenHeader","title","_react","createElement","__experimentalVStack","spacing","__experimentalView","__experimentalSpacer","marginBottom","paddingX","paddingY","__experimentalHStack","__experimentalNavigatorBackButton","style","minWidth","padding","icon","isRTL","chevronRight","chevronLeft","size","label","__","__experimentalHeading","level","MobileTabNavigation","categories","children","__experimentalNavigatorProvider","initialPath","className","__experimentalNavigatorScreen","path","__experimentalItemGroup","map","category","__experimentalNavigatorButton","key","name","as","Item","isAction","FlexBlock","Icon"],"sources":["@wordpress/block-editor/src/components/inserter/mobile-tab-navigation.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalHeading as Heading,\n\t__experimentalView as View,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorButton as NavigatorButton,\n\t__experimentalNavigatorBackButton as NavigatorBackButton,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { Icon, chevronRight, chevronLeft } from '@wordpress/icons';\n\nfunction ScreenHeader( { title } ) {\n\treturn (\n\t\t<VStack spacing={ 0 }>\n\t\t\t<View>\n\t\t\t\t<Spacer marginBottom={ 0 } paddingX={ 4 } paddingY={ 3 }>\n\t\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t\t<NavigatorBackButton\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer>\n\t\t\t\t\t\t\t<Heading level={ 5 }>{ title }</Heading>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default function MobileTabNavigation( { categories, children } ) {\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tinitialPath=\"/\"\n\t\t\tclassName=\"block-editor-inserter__mobile-tab-navigation\"\n\t\t>\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t\t\t\tas={ Item }\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<FlexBlock>{ category.label }</FlexBlock>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</NavigatorScreen>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<NavigatorScreen\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t>\n\t\t\t\t\t<ScreenHeader title={ __( 'Back' ) } />\n\t\t\t\t\t{ children( category ) }\n\t\t\t\t</NavigatorScreen>\n\t\t\t) ) }\n\t\t</NavigatorProvider>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,MAAA,GAAAF,OAAA;AAlBA;AACA;AACA;;AAkBA,SAASG,YAAYA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAClC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAM,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAQ,kBAAI,QACJ,IAAAJ,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM;IAACC,YAAY,EAAG,CAAG;IAACC,QAAQ,EAAG,CAAG;IAACC,QAAQ,EAAG;EAAG,GACvD,IAAAR,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM;IAACN,OAAO,EAAG;EAAG,GACpB,IAAAH,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAc,iCAAmB;IACnBC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDC,IAAI,EAAG,IAAAC,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,IAAI,EAAC,OAAO;IACZC,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO;EAAG,CACtB,CAAC,EACF,IAAApB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAS,oBAAM,QACN,IAAAL,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAyB,qBAAO;IAACC,KAAK,EAAG;EAAG,GAAGvB,KAAgB,CAChC,CACD,CACD,CACH,CACC,CAAC;AAEX;AAEe,SAASwB,mBAAmBA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,EAAG;EACvE,OACC,IAAAzB,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA8B,+BAAiB;IACjBC,WAAW,EAAC,GAAG;IACfC,SAAS,EAAC;EAA8C,GAExD,IAAA5B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAiC,6BAAe;IAACC,IAAI,EAAC;EAAG,GACxB,IAAA9B,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAmC,uBAAS,QACPP,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAjC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAsC,6BAAe;IACfC,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM,EAAG;IACvCC,EAAE,EAAGC,8BAAM;IACXC,QAAQ;EAAA,GAER,IAAAvC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAa,oBAAM,QACN,IAAAT,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAA4C,SAAS,QAAGP,QAAQ,CAACd,KAAkB,CAAC,EACzC,IAAAnB,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAA4C,IAAI;IACJ3B,IAAI,EACH,IAAAC,WAAK,EAAC,CAAC,GAAGE,kBAAW,GAAGD;EACxB,CACD,CACM,CACQ,CAChB,CACQ,CACK,CAAC,EAChBQ,UAAU,CAACQ,GAAG,CAAIC,QAAQ,IAC3B,IAAAjC,MAAA,CAAAC,aAAA,EAACL,WAAA,CAAAiC,6BAAe;IACfM,GAAG,EAAGF,QAAQ,CAACG,IAAM;IACrBN,IAAI,EAAI,aAAaG,QAAQ,CAACG,IAAM;EAAG,GAEvC,IAAApC,MAAA,CAAAC,aAAA,EAACH,YAAY;IAACC,KAAK,EAAG,IAAAqB,QAAE,EAAE,MAAO;EAAG,CAAE,CAAC,EACrCK,QAAQ,CAAEQ,QAAS,CACL,CAChB,CACgB,CAAC;AAEtB"}
@@ -4,8 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.extractWords = extractWords;
7
8
  exports.getItemSearchRank = getItemSearchRank;
8
- exports.searchItems = exports.searchBlockItems = exports.getNormalizedSearchTerms = void 0;
9
+ exports.getNormalizedSearchTerms = void 0;
10
+ exports.normalizeString = normalizeString;
11
+ exports.searchItems = exports.searchBlockItems = void 0;
9
12
  var _removeAccents = _interopRequireDefault(require("remove-accents"));
10
13
  var _changeCase = require("change-case");
11
14
  /**
@@ -20,6 +23,17 @@ const defaultGetKeywords = item => item.keywords || [];
20
23
  const defaultGetCategory = item => item.category;
21
24
  const defaultGetCollection = () => null;
22
25
 
26
+ // Normalization regexes
27
+ const splitRegexp = [/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu,
28
+ // One lowercase or digit, followed by one uppercase.
29
+ /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase.
30
+ ];
31
+ const stripRegexp = /(\p{C}|\p{P}|\p{S})+/giu; // Anything that's not a punctuation, symbol or control/format character.
32
+
33
+ // Normalization cache
34
+ const extractedWords = new Map();
35
+ const normalizedStrings = new Map();
36
+
23
37
  /**
24
38
  * Extracts words from an input string.
25
39
  *
@@ -28,13 +42,15 @@ const defaultGetCollection = () => null;
28
42
  * @return {Array} Words, extracted from the input string.
29
43
  */
30
44
  function extractWords(input = '') {
31
- return (0, _changeCase.noCase)(input, {
32
- splitRegexp: [/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu,
33
- // One lowercase or digit, followed by one uppercase.
34
- /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase.
35
- ],
36
- stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu // Anything that's not a punctuation, symbol or control/format character.
45
+ if (extractedWords.has(input)) {
46
+ return extractedWords.get(input);
47
+ }
48
+ const result = (0, _changeCase.noCase)(input, {
49
+ splitRegexp,
50
+ stripRegexp
37
51
  }).split(' ').filter(Boolean);
52
+ extractedWords.set(input, result);
53
+ return result;
38
54
  }
39
55
 
40
56
  /**
@@ -44,19 +60,24 @@ function extractWords(input = '') {
44
60
  *
45
61
  * @return {string} The normalized search input.
46
62
  */
47
- function normalizeSearchInput(input = '') {
63
+ function normalizeString(input = '') {
64
+ if (normalizedStrings.has(input)) {
65
+ return normalizedStrings.get(input);
66
+ }
67
+
48
68
  // Disregard diacritics.
49
69
  // Input: "média"
50
- input = (0, _removeAccents.default)(input);
70
+ let result = (0, _removeAccents.default)(input);
51
71
 
52
72
  // Accommodate leading slash, matching autocomplete expectations.
53
73
  // Input: "/media"
54
- input = input.replace(/^\//, '');
74
+ result = result.replace(/^\//, '');
55
75
 
56
76
  // Lowercase.
57
77
  // Input: "MEDIA"
58
- input = input.toLowerCase();
59
- return input;
78
+ result = result.toLowerCase();
79
+ normalizedStrings.set(input, result);
80
+ return result;
60
81
  }
61
82
 
62
83
  /**
@@ -67,7 +88,7 @@ function normalizeSearchInput(input = '') {
67
88
  * @return {string[]} The normalized list of search terms.
68
89
  */
69
90
  const getNormalizedSearchTerms = (input = '') => {
70
- return extractWords(normalizeSearchInput(input));
91
+ return extractWords(normalizeString(input));
71
92
  };
72
93
  exports.getNormalizedSearchTerms = getNormalizedSearchTerms;
73
94
  const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => {
@@ -136,8 +157,8 @@ function getItemSearchRank(item, searchTerm, config = {}) {
136
157
  const keywords = getKeywords(item);
137
158
  const category = getCategory(item);
138
159
  const collection = getCollection(item);
139
- const normalizedSearchInput = normalizeSearchInput(searchTerm);
140
- const normalizedTitle = normalizeSearchInput(title);
160
+ const normalizedSearchInput = normalizeString(searchTerm);
161
+ const normalizedTitle = normalizeString(title);
141
162
  let rank = 0;
142
163
 
143
164
  // Prefers exact matches
@@ -1 +1 @@
1
- {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_changeCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","extractWords","input","noCase","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","removeAccents","replace","toLowerCase","getNormalizedSearchTerms","exports","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","_interopRequireDefault","require","_changeCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","splitRegexp","stripRegexp","extractedWords","Map","normalizedStrings","extractWords","input","has","get","result","noCase","split","filter","Boolean","set","normalizeString","removeAccents","replace","toLowerCase","getNormalizedSearchTerms","exports","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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"}
@@ -56,8 +56,7 @@ function InserterSearchResults({
56
56
  isDraggable = true,
57
57
  shouldFocusBlock = true,
58
58
  prioritizePatterns,
59
- selectBlockOnInsert,
60
- showBlocks = true
59
+ selectBlockOnInsert
61
60
  }) {
62
61
  const debouncedSpeak = (0, _compose.useDebounce)(_a11y.speak, 500);
63
62
  const {
@@ -118,7 +117,7 @@ function InserterSearchResults({
118
117
  });
119
118
  const currentShownPatterns = (0, _compose.useAsyncList)(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : EMPTY_ARRAY);
120
119
  const hasItems = filteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;
121
- const blocksUI = showBlocks && !!filteredBlockTypes.length && (0, _react.createElement)(_panel.default, {
120
+ const blocksUI = !!filteredBlockTypes.length && (0, _react.createElement)(_panel.default, {
122
121
  title: (0, _react.createElement)(_components.VisuallyHidden, null, (0, _i18n.__)('Blocks'))
123
122
  }, (0, _react.createElement)(_blockTypesList.default, {
124
123
  items: currentShownBlockTypes,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_components","_compose","_a11y","_data","_blockTypesList","_interopRequireDefault","_blockPatternsList","_inserterMenuExtension","_panel","_noResults","_useInsertionPoint","_usePatternsState","_useBlockTypesState","_searchItems","_inserterListbox","_sorting","_orderInserterBlockItems","_store","INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","onHoverPattern","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","selectBlockOnInsert","showBlocks","debouncedSpeak","useDebounce","speak","prioritizedBlocks","useSelect","select","blockListSettings","blockEditorStore","getBlockListSettings","prioritizedInserterBlocks","destinationRootClientId","onInsertBlocks","useInsertionPoint","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","useBlockTypesState","patterns","onClickPattern","usePatternsState","filteredBlockPatterns","useMemo","results","searchItems","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","nonPatternBlockTypes","filter","blockType","name","orderedItems","orderBy","orderInserterBlockItems","searchBlockItems","useEffect","count","resultsFoundMessage","sprintf","_n","currentShownBlockTypes","useAsyncList","step","currentShownPatterns","hasItems","blocksUI","_react","createElement","default","title","VisuallyHidden","__","items","label","patternsUI","className","shownPatterns","blockPatterns","Slot","fillProps","fills","_default","exports"],"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":["_element","require","_i18n","_components","_compose","_a11y","_data","_blockTypesList","_interopRequireDefault","_blockPatternsList","_inserterMenuExtension","_panel","_noResults","_useInsertionPoint","_usePatternsState","_useBlockTypesState","_searchItems","_inserterListbox","_sorting","_orderInserterBlockItems","_store","INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","onHoverPattern","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","selectBlockOnInsert","debouncedSpeak","useDebounce","speak","prioritizedBlocks","useSelect","select","blockListSettings","blockEditorStore","getBlockListSettings","prioritizedInserterBlocks","destinationRootClientId","onInsertBlocks","useInsertionPoint","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","useBlockTypesState","patterns","onClickPattern","usePatternsState","filteredBlockPatterns","useMemo","results","searchItems","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","nonPatternBlockTypes","filter","blockType","name","orderedItems","orderBy","orderInserterBlockItems","searchBlockItems","useEffect","count","resultsFoundMessage","sprintf","_n","currentShownBlockTypes","useAsyncList","step","currentShownPatterns","hasItems","blocksUI","_react","createElement","default","title","VisuallyHidden","__","items","label","patternsUI","className","shownPatterns","blockPatterns","Slot","fillProps","fills","_default","exports"],"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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"}
@@ -35,13 +35,12 @@ const mediaTab = {
35
35
  title: (0, _i18n.__)('Media')
36
36
  };
37
37
  function InserterTabs({
38
- showBlocks = true,
39
38
  showPatterns = false,
40
39
  showMedia = false,
41
40
  onSelect,
42
41
  tabsContents
43
42
  }) {
44
- const tabs = [showBlocks && blocksTab, showPatterns && patternsTab, showMedia && mediaTab].filter(Boolean);
43
+ const tabs = [blocksTab, showPatterns && patternsTab, showMedia && mediaTab].filter(Boolean);
45
44
  return (0, _react.createElement)("div", {
46
45
  className: "block-editor-inserter__tabs"
47
46
  }, (0, _react.createElement)(Tabs, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_lockUnlock","Tabs","unlock","componentsPrivateApis","blocksTab","name","title","__","patternsTab","mediaTab","InserterTabs","showBlocks","showPatterns","showMedia","onSelect","tabsContents","tabs","filter","Boolean","_react","createElement","className","TabList","map","tab","Tab","key","tabId","TabPanel","focusable","_default","exports","default"],"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":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAM;EAAEG;AAAK,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEhD,MAAMC,SAAS,GAAG;EACjBC,IAAI,EAAE,QAAQ;EACd;EACAC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;AACrB,CAAC;AACD,MAAMC,WAAW,GAAG;EACnBH,IAAI,EAAE,UAAU;EAChB;EACAC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW;AACvB,CAAC;AAED,MAAME,QAAQ,GAAG;EAChBJ,IAAI,EAAE,OAAO;EACb;EACAC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ;AACpB,CAAC;AAED,SAASG,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,IAAIP,SAAS,EACvBQ,YAAY,IAAIJ,WAAW,EAC3BK,SAAS,IAAIJ,QAAQ,CACrB,CAACQ,MAAM,CAAEC,OAAQ,CAAC;EAEnB,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA6B,GAC3C,IAAAF,MAAA,CAAAC,aAAA,EAACnB,IAAI;IAACa,QAAQ,EAAGA;EAAU,GAC1B,IAAAK,MAAA,CAAAC,aAAA,EAACnB,IAAI,CAACqB,OAAO,QACVN,IAAI,CAACO,GAAG,CAAIC,GAAG,IAChB,IAAAL,MAAA,CAAAC,aAAA,EAACnB,IAAI,CAACwB,GAAG;IAACC,GAAG,EAAGF,GAAG,CAACnB,IAAM;IAACsB,KAAK,EAAGH,GAAG,CAACnB;EAAM,GAC1CmB,GAAG,CAAClB,KACG,CACT,CACW,CAAC,EACbU,IAAI,CAACO,GAAG,CAAIC,GAAG,IAChB,IAAAL,MAAA,CAAAC,aAAA,EAACnB,IAAI,CAAC2B,QAAQ;IACbF,GAAG,EAAGF,GAAG,CAACnB,IAAM;IAChBsB,KAAK,EAAGH,GAAG,CAACnB,IAAM;IAClBwB,SAAS,EAAG;EAAO,GAEjBd,YAAY,CAAES,GAAG,CAACnB,IAAI,CACV,CACd,CACG,CACF,CAAC;AAER;AAAC,IAAAyB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEctB,YAAY"}
1
+ {"version":3,"names":["_components","require","_i18n","_lockUnlock","Tabs","unlock","componentsPrivateApis","blocksTab","name","title","__","patternsTab","mediaTab","InserterTabs","showPatterns","showMedia","onSelect","tabsContents","tabs","filter","Boolean","_react","createElement","className","TabList","map","tab","Tab","key","tabId","TabPanel","focusable","_default","exports","default"],"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":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAM;EAAEG;AAAK,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEhD,MAAMC,SAAS,GAAG;EACjBC,IAAI,EAAE,QAAQ;EACd;EACAC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;AACrB,CAAC;AACD,MAAMC,WAAW,GAAG;EACnBH,IAAI,EAAE,UAAU;EAChB;EACAC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW;AACvB,CAAC;AAED,MAAME,QAAQ,GAAG;EAChBJ,IAAI,EAAE,OAAO;EACb;EACAC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ;AACpB,CAAC;AAED,SAASG,YAAYA,CAAE;EACtBC,YAAY,GAAG,KAAK;EACpBC,SAAS,GAAG,KAAK;EACjBC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,IAAI,GAAG,CACZX,SAAS,EACTO,YAAY,IAAIH,WAAW,EAC3BI,SAAS,IAAIH,QAAQ,CACrB,CAACO,MAAM,CAAEC,OAAQ,CAAC;EAEnB,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA6B,GAC3C,IAAAF,MAAA,CAAAC,aAAA,EAAClB,IAAI;IAACY,QAAQ,EAAGA;EAAU,GAC1B,IAAAK,MAAA,CAAAC,aAAA,EAAClB,IAAI,CAACoB,OAAO,QACVN,IAAI,CAACO,GAAG,CAAIC,GAAG,IAChB,IAAAL,MAAA,CAAAC,aAAA,EAAClB,IAAI,CAACuB,GAAG;IAACC,GAAG,EAAGF,GAAG,CAAClB,IAAM;IAACqB,KAAK,EAAGH,GAAG,CAAClB;EAAM,GAC1CkB,GAAG,CAACjB,KACG,CACT,CACW,CAAC,EACbS,IAAI,CAACO,GAAG,CAAIC,GAAG,IAChB,IAAAL,MAAA,CAAAC,aAAA,EAAClB,IAAI,CAAC0B,QAAQ;IACbF,GAAG,EAAGF,GAAG,CAAClB,IAAM;IAChBqB,KAAK,EAAGH,GAAG,CAAClB,IAAM;IAClBuB,SAAS,EAAG;EAAO,GAEjBd,YAAY,CAAES,GAAG,CAAClB,IAAI,CACV,CACd,CACG,CACF,CAAC;AAER;AAAC,IAAAwB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,YAAY"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = AdvancedControls;
8
+ var _react = require("react");
9
+ var _components = require("@wordpress/components");
10
+ var _i18n = require("@wordpress/i18n");
11
+ var _groups = _interopRequireDefault(require("../inspector-controls/groups"));
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
20
+ function AdvancedControls(props) {
21
+ const Slot = _groups.default.advanced?.Slot;
22
+ if (!Slot) {
23
+ return null;
24
+ }
25
+ return (0, _react.createElement)(Slot, {
26
+ ...props
27
+ }, fills => {
28
+ if (!fills.length) {
29
+ return null;
30
+ }
31
+ return (0, _react.createElement)(_components.PanelBody, {
32
+ title: (0, _i18n.__)('Advanced')
33
+ }, fills);
34
+ });
35
+ }
36
+ //# sourceMappingURL=advanced-controls-panel.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_i18n","_groups","_interopRequireDefault","AdvancedControls","props","Slot","groups","advanced","_react","createElement","fills","length","PanelBody","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":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASI,gBAAgBA,CAAEC,KAAK,EAAG;EACjD,MAAMC,IAAI,GAAGC,eAAM,CAACC,QAAQ,EAAEF,IAAI;EAClC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAO,IAAI;EACZ;EAEA,OACC,IAAAG,MAAA,CAAAC,aAAA,EAACJ,IAAI;IAAA,GAAMD;EAAK,GACXM,KAAK,IAAM;IACd,IAAK,CAAEA,KAAK,CAACC,MAAM,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,OACC,IAAAH,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAc,SAAS;MAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW;IAAG,GAAGJ,KAAkB,CAAC;EAE7D,CACK,CAAC;AAET"}
@@ -121,6 +121,17 @@ function KeyboardShortcutsRegister() {
121
121
  character: 'y'
122
122
  }
123
123
  });
124
+
125
+ // List view shortcuts.
126
+ registerShortcut({
127
+ name: 'core/block-editor/collapse-list-view',
128
+ category: 'list-view',
129
+ description: (0, _i18n.__)('Collapse all other items.'),
130
+ keyCombination: {
131
+ modifier: 'alt',
132
+ character: 'l'
133
+ }
134
+ });
124
135
  }, [registerShortcut]);
125
136
  return null;
126
137
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","KeyboardShortcuts","KeyboardShortcutsRegister","registerShortcut","useDispatch","keyboardShortcutsStore","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","Register","_default","exports","default"],"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":["_element","require","_data","_keyboardShortcuts","_i18n","KeyboardShortcuts","KeyboardShortcutsRegister","registerShortcut","useDispatch","keyboardShortcutsStore","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","Register","_default","exports","default"],"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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"}