@wordpress/block-editor 7.0.4 → 8.0.3

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 (1259) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +31 -0
  3. package/build/components/alignment-control/ui.js +12 -11
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/autocomplete/index.js +5 -4
  6. package/build/components/autocomplete/index.js.map +1 -1
  7. package/build/components/block-actions/index.js +12 -8
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-alignment-control/ui.js +21 -17
  10. package/build/components/block-alignment-control/ui.js.map +1 -1
  11. package/build/components/block-alignment-control/use-available-alignments.js +9 -4
  12. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  13. package/build/components/block-alignment-matrix-control/index.js +6 -4
  14. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  15. package/build/components/block-breadcrumb/index.js +4 -3
  16. package/build/components/block-breadcrumb/index.js.map +1 -1
  17. package/build/components/block-caption/index.native.js +34 -29
  18. package/build/components/block-caption/index.native.js.map +1 -1
  19. package/build/components/block-card/index.js +8 -6
  20. package/build/components/block-card/index.js.map +1 -1
  21. package/build/components/block-compare/block-view.js +9 -8
  22. package/build/components/block-compare/block-view.js.map +1 -1
  23. package/build/components/block-compare/index.js +9 -7
  24. package/build/components/block-compare/index.js.map +1 -1
  25. package/build/components/block-content-overlay/index.js +7 -6
  26. package/build/components/block-content-overlay/index.js.map +1 -1
  27. package/build/components/block-context/index.js +5 -4
  28. package/build/components/block-context/index.js.map +1 -1
  29. package/build/components/block-controls/fill.js +7 -6
  30. package/build/components/block-controls/fill.js.map +1 -1
  31. package/build/components/block-controls/slot.js +5 -4
  32. package/build/components/block-controls/slot.js.map +1 -1
  33. package/build/components/block-controls/slot.native.js +5 -4
  34. package/build/components/block-controls/slot.native.js.map +1 -1
  35. package/build/components/block-draggable/draggable-chip.js +5 -4
  36. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  37. package/build/components/block-draggable/index.js +13 -11
  38. package/build/components/block-draggable/index.js.map +1 -1
  39. package/build/components/block-edit/context.js +1 -1
  40. package/build/components/block-full-height-alignment-control/index.js +7 -6
  41. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  42. package/build/components/block-icon/index.js +12 -6
  43. package/build/components/block-icon/index.js.map +1 -1
  44. package/build/components/block-icon/index.native.js +8 -6
  45. package/build/components/block-icon/index.native.js.map +1 -1
  46. package/build/components/block-inspector/index.js +24 -15
  47. package/build/components/block-inspector/index.js.map +1 -1
  48. package/build/components/block-list/block-html.js +4 -3
  49. package/build/components/block-list/block-html.js.map +1 -1
  50. package/build/components/block-list/block-invalid-warning.js +28 -20
  51. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  52. package/build/components/block-list/block-invalid-warning.native.js +5 -4
  53. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  54. package/build/components/block-list/block-list-item.native.js +6 -5
  55. package/build/components/block-list/block-list-item.native.js.map +1 -1
  56. package/build/components/block-list/block-selection-button.native.js +11 -9
  57. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  58. package/build/components/block-list/block.js +40 -33
  59. package/build/components/block-list/block.js.map +1 -1
  60. package/build/components/block-list/block.native.js +35 -29
  61. package/build/components/block-list/block.native.js.map +1 -1
  62. package/build/components/block-list/index.js +14 -12
  63. package/build/components/block-list/index.js.map +1 -1
  64. package/build/components/block-list/index.native.js +23 -18
  65. package/build/components/block-list/index.native.js.map +1 -1
  66. package/build/components/block-list/insertion-point.native.js +4 -3
  67. package/build/components/block-list/insertion-point.native.js.map +1 -1
  68. package/build/components/block-list/layout.js +8 -6
  69. package/build/components/block-list/layout.js.map +1 -1
  70. package/build/components/block-list/subdirectory-icon.js +13 -10
  71. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  72. package/build/components/block-list/use-block-props/index.js +5 -3
  73. package/build/components/block-list/use-block-props/index.js.map +1 -1
  74. package/build/components/block-list/use-block-props/index.native.js +2 -1
  75. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  76. package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
  77. package/build/components/block-list/use-block-props/use-multi-selection.js +30 -14
  78. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  79. package/build/components/block-list-appender/index.js +16 -13
  80. package/build/components/block-list-appender/index.js.map +1 -1
  81. package/build/components/block-list-appender/index.native.js +14 -11
  82. package/build/components/block-list-appender/index.native.js.map +1 -1
  83. package/build/components/block-media-update-progress/index.native.js +1 -1
  84. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  85. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  86. package/build/components/block-mobile-toolbar/index.js +4 -3
  87. package/build/components/block-mobile-toolbar/index.js.map +1 -1
  88. package/build/components/block-mobile-toolbar/index.native.js +33 -25
  89. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  90. package/build/components/block-mover/button.js +8 -7
  91. package/build/components/block-mover/button.js.map +1 -1
  92. package/build/components/block-mover/index.js +15 -13
  93. package/build/components/block-mover/index.js.map +1 -1
  94. package/build/components/block-mover/index.native.js +23 -20
  95. package/build/components/block-mover/index.native.js.map +1 -1
  96. package/build/components/block-mover/mover-description.native.js +10 -7
  97. package/build/components/block-mover/mover-description.native.js.map +1 -1
  98. package/build/components/block-navigation/dropdown.js +26 -22
  99. package/build/components/block-navigation/dropdown.js.map +1 -1
  100. package/build/components/block-pattern-setup/index.js +26 -22
  101. package/build/components/block-pattern-setup/index.js.map +1 -1
  102. package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
  103. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  104. package/build/components/block-patterns-list/index.js +45 -47
  105. package/build/components/block-patterns-list/index.js.map +1 -1
  106. package/build/components/block-preview/auto.js +5 -4
  107. package/build/components/block-preview/auto.js.map +1 -1
  108. package/build/components/block-preview/index.js +8 -7
  109. package/build/components/block-preview/index.js.map +1 -1
  110. package/build/components/block-preview/live.js +4 -3
  111. package/build/components/block-preview/live.js.map +1 -1
  112. package/build/components/block-selection-clearer/index.js +1 -1
  113. package/build/components/block-settings/button.native.js +10 -7
  114. package/build/components/block-settings/button.native.js.map +1 -1
  115. package/build/components/block-settings/container.native.js +12 -8
  116. package/build/components/block-settings/container.native.js.map +1 -1
  117. package/build/components/block-settings/index.native.js +4 -2
  118. package/build/components/block-settings/index.native.js.map +1 -1
  119. package/build/components/block-settings-menu/block-convert-button.js +7 -5
  120. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  121. package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
  122. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  123. package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
  124. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  125. package/build/components/block-settings-menu/block-settings-dropdown.js +96 -68
  126. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  127. package/build/components/block-settings-menu/index.js +5 -4
  128. package/build/components/block-settings-menu/index.js.map +1 -1
  129. package/build/components/block-settings-menu-controls/index.js +8 -6
  130. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  131. package/build/components/block-styles/index.js +20 -17
  132. package/build/components/block-styles/index.js.map +1 -1
  133. package/build/components/block-styles/index.native.js +6 -4
  134. package/build/components/block-styles/index.native.js.map +1 -1
  135. package/build/components/block-styles/preview.native.js +9 -8
  136. package/build/components/block-styles/preview.native.js.map +1 -1
  137. package/build/components/block-switcher/block-styles-menu.js +5 -4
  138. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  139. package/build/components/block-switcher/block-transformations-menu.js +7 -6
  140. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  141. package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
  142. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  143. package/build/components/block-switcher/index.js +42 -34
  144. package/build/components/block-switcher/index.js.map +1 -1
  145. package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
  146. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  147. package/build/components/block-switcher/preview-block-popover.js +4 -3
  148. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  149. package/build/components/block-switcher/use-transformed-patterns.js +1 -1
  150. package/build/components/block-switcher/utils.js +2 -1
  151. package/build/components/block-switcher/utils.js.map +1 -1
  152. package/build/components/block-title/index.js +4 -3
  153. package/build/components/block-title/index.js.map +1 -1
  154. package/build/components/block-toolbar/index.js +4 -3
  155. package/build/components/block-toolbar/index.js.map +1 -1
  156. package/build/components/block-toolbar/utils.js +13 -11
  157. package/build/components/block-toolbar/utils.js.map +1 -1
  158. package/build/components/block-tools/back-compat.js +8 -5
  159. package/build/components/block-tools/back-compat.js.map +1 -1
  160. package/build/components/block-tools/block-contextual-toolbar.js +6 -5
  161. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  162. package/build/components/block-tools/block-popover.js +15 -13
  163. package/build/components/block-tools/block-popover.js.map +1 -1
  164. package/build/components/block-tools/block-selection-button.js +6 -5
  165. package/build/components/block-tools/block-selection-button.js.map +1 -1
  166. package/build/components/block-tools/index.js +6 -5
  167. package/build/components/block-tools/index.js.map +1 -1
  168. package/build/components/block-tools/insertion-point.js +12 -10
  169. package/build/components/block-tools/insertion-point.js.map +1 -1
  170. package/build/components/block-types-list/index.js +9 -8
  171. package/build/components/block-types-list/index.js.map +1 -1
  172. package/build/components/block-types-list/index.native.js +19 -15
  173. package/build/components/block-types-list/index.native.js.map +1 -1
  174. package/build/components/block-variation-picker/index.js +9 -8
  175. package/build/components/block-variation-picker/index.js.map +1 -1
  176. package/build/components/block-variation-picker/index.native.js +9 -7
  177. package/build/components/block-variation-picker/index.native.js.map +1 -1
  178. package/build/components/block-variation-transforms/index.js +22 -15
  179. package/build/components/block-variation-transforms/index.js.map +1 -1
  180. package/build/components/block-vertical-alignment-control/ui.js +9 -7
  181. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  182. package/build/components/border-radius-control/all-input-control.js +6 -5
  183. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  184. package/build/components/border-radius-control/index.js +5 -4
  185. package/build/components/border-radius-control/index.js.map +1 -1
  186. package/build/components/border-radius-control/input-controls.js +16 -11
  187. package/build/components/border-radius-control/input-controls.js.map +1 -1
  188. package/build/components/border-radius-control/linked-button.js +5 -4
  189. package/build/components/border-radius-control/linked-button.js.map +1 -1
  190. package/build/components/border-radius-control/utils.js +10 -5
  191. package/build/components/border-radius-control/utils.js.map +1 -1
  192. package/build/components/border-style-control/index.js +5 -4
  193. package/build/components/border-style-control/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.js +15 -13
  195. package/build/components/button-block-appender/index.js.map +1 -1
  196. package/build/components/button-block-appender/index.native.js +28 -24
  197. package/build/components/button-block-appender/index.native.js.map +1 -1
  198. package/build/components/caption/index.native.js +44 -41
  199. package/build/components/caption/index.native.js.map +1 -1
  200. package/build/components/color-palette/control.js +6 -5
  201. package/build/components/color-palette/control.js.map +1 -1
  202. package/build/components/color-style-selector/index.js +43 -34
  203. package/build/components/color-style-selector/index.js.map +1 -1
  204. package/build/components/colors/color-panel.js +21 -18
  205. package/build/components/colors/color-panel.js.map +1 -1
  206. package/build/components/colors/index.js +10 -8
  207. package/build/components/colors/index.js.map +1 -1
  208. package/build/components/colors/utils.js +7 -4
  209. package/build/components/colors/utils.js.map +1 -1
  210. package/build/components/colors/with-colors.js +17 -6
  211. package/build/components/colors/with-colors.js.map +1 -1
  212. package/build/components/colors-gradients/control.js +21 -59
  213. package/build/components/colors-gradients/control.js.map +1 -1
  214. package/build/components/colors-gradients/panel-color-gradient-settings.js +110 -30
  215. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  216. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  217. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  218. package/build/components/contrast-checker/index.js +18 -15
  219. package/build/components/contrast-checker/index.js.map +1 -1
  220. package/build/components/convert-to-group-buttons/index.js +9 -8
  221. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  222. package/build/components/copy-handler/index.js +6 -5
  223. package/build/components/copy-handler/index.js.map +1 -1
  224. package/build/components/default-block-appender/index.js +10 -8
  225. package/build/components/default-block-appender/index.js.map +1 -1
  226. package/build/components/default-block-appender/index.native.js +10 -8
  227. package/build/components/default-block-appender/index.native.js.map +1 -1
  228. package/build/components/default-style-picker/index.js +14 -10
  229. package/build/components/default-style-picker/index.js.map +1 -1
  230. package/build/components/duotone-control/index.js +20 -14
  231. package/build/components/duotone-control/index.js.map +1 -1
  232. package/build/components/editable-text/index.js +6 -5
  233. package/build/components/editable-text/index.js.map +1 -1
  234. package/build/components/editor-styles/index.js +4 -3
  235. package/build/components/editor-styles/index.js.map +1 -1
  236. package/build/components/floating-toolbar/index.native.js +8 -7
  237. package/build/components/floating-toolbar/index.native.js.map +1 -1
  238. package/build/components/font-appearance-control/index.js +53 -34
  239. package/build/components/font-appearance-control/index.js.map +1 -1
  240. package/build/components/font-family/index.js +12 -10
  241. package/build/components/font-family/index.js.map +1 -1
  242. package/build/components/font-sizes/index.js +6 -6
  243. package/build/components/font-sizes/index.native.js +6 -6
  244. package/build/components/font-sizes/utils.js +2 -2
  245. package/build/components/font-sizes/with-font-sizes.js +11 -5
  246. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  247. package/build/components/gradients/use-gradient.js +7 -6
  248. package/build/components/gradients/use-gradient.js.map +1 -1
  249. package/build/components/iframe/index.js +29 -23
  250. package/build/components/iframe/index.js.map +1 -1
  251. package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
  252. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  253. package/build/components/image-editor/constants.js +1 -1
  254. package/build/components/image-editor/context.js +11 -10
  255. package/build/components/image-editor/context.js.map +1 -1
  256. package/build/components/image-editor/cropper.js +9 -8
  257. package/build/components/image-editor/cropper.js.map +1 -1
  258. package/build/components/image-editor/index.js +10 -9
  259. package/build/components/image-editor/index.js.map +1 -1
  260. package/build/components/image-editor/use-save-image.js +12 -11
  261. package/build/components/image-editor/use-save-image.js.map +1 -1
  262. package/build/components/image-editor/use-transform-image.js +6 -5
  263. package/build/components/image-editor/use-transform-image.js.map +1 -1
  264. package/build/components/image-editor/zoom-dropdown.js +13 -10
  265. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  266. package/build/components/image-size-control/index.js +12 -11
  267. package/build/components/image-size-control/index.js.map +1 -1
  268. package/build/components/index.js +217 -197
  269. package/build/components/index.js.map +1 -1
  270. package/build/components/index.native.js +113 -111
  271. package/build/components/index.native.js.map +1 -1
  272. package/build/components/inner-blocks/button-block-appender.js +8 -7
  273. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  274. package/build/components/inner-blocks/default-block-appender.js +9 -7
  275. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  276. package/build/components/inner-blocks/index.js +9 -6
  277. package/build/components/inner-blocks/index.js.map +1 -1
  278. package/build/components/inner-blocks/index.native.js +8 -5
  279. package/build/components/inner-blocks/index.native.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/explorer.js +64 -0
  281. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  282. package/build/components/inserter/block-patterns-explorer/patterns-list.js +114 -0
  283. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  284. package/build/components/inserter/block-patterns-explorer/sidebar.js +82 -0
  285. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  286. package/build/components/inserter/block-patterns-tab.js +92 -57
  287. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  288. package/build/components/inserter/block-types-tab.js +9 -7
  289. package/build/components/inserter/block-types-tab.js.map +1 -1
  290. package/build/components/inserter/block-types-tab.native.js +9 -8
  291. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  292. package/build/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
  293. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  294. package/build/components/inserter/hooks/use-block-types-state.js +6 -5
  295. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  296. package/build/components/inserter/hooks/use-insertion-point.js +11 -9
  297. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  298. package/build/components/inserter/index.js +36 -28
  299. package/build/components/inserter/index.js.map +1 -1
  300. package/build/components/inserter/index.native.js +46 -37
  301. package/build/components/inserter/index.native.js.map +1 -1
  302. package/build/components/inserter/library.js +12 -11
  303. package/build/components/inserter/library.js.map +1 -1
  304. package/build/components/inserter/menu.js +12 -11
  305. package/build/components/inserter/menu.js.map +1 -1
  306. package/build/components/inserter/menu.native.js +31 -27
  307. package/build/components/inserter/menu.native.js.map +1 -1
  308. package/build/components/inserter/panel.js +6 -5
  309. package/build/components/inserter/panel.js.map +1 -1
  310. package/build/components/inserter/pattern-panel.js +25 -15
  311. package/build/components/inserter/pattern-panel.js.map +1 -1
  312. package/build/components/inserter/preview-panel.js +4 -3
  313. package/build/components/inserter/preview-panel.js.map +1 -1
  314. package/build/components/inserter/quick-inserter.js +7 -6
  315. package/build/components/inserter/quick-inserter.js.map +1 -1
  316. package/build/components/inserter/reusable-blocks-tab.js +18 -13
  317. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  318. package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
  319. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  320. package/build/components/inserter/search-items.js +23 -7
  321. package/build/components/inserter/search-items.js.map +1 -1
  322. package/build/components/inserter/search-results.js +15 -14
  323. package/build/components/inserter/search-results.js.map +1 -1
  324. package/build/components/inserter/search-results.native.js +11 -10
  325. package/build/components/inserter/search-results.native.js.map +1 -1
  326. package/build/components/inserter/tabs.js +7 -6
  327. package/build/components/inserter/tabs.js.map +1 -1
  328. package/build/components/inserter/tabs.native.js +55 -37
  329. package/build/components/inserter/tabs.native.js.map +1 -1
  330. package/build/components/inserter/utils.native.js +10 -8
  331. package/build/components/inserter/utils.native.js.map +1 -1
  332. package/build/components/inserter-draggable-blocks/index.js +12 -10
  333. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  334. package/build/components/inserter-list-item/index.js +79 -73
  335. package/build/components/inserter-list-item/index.js.map +1 -1
  336. package/build/components/inserter-listbox/index.js +8 -7
  337. package/build/components/inserter-listbox/index.js.map +1 -1
  338. package/build/components/inserter-listbox/item.js +7 -6
  339. package/build/components/inserter-listbox/item.js.map +1 -1
  340. package/build/components/inspector-controls/block-support-slot-container.js +5 -4
  341. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  342. package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
  343. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  344. package/build/components/inspector-controls/fill.js +5 -4
  345. package/build/components/inspector-controls/fill.js.map +1 -1
  346. package/build/components/inspector-controls/fill.native.js +6 -5
  347. package/build/components/inspector-controls/fill.native.js.map +1 -1
  348. package/build/components/inspector-controls/groups.js +3 -1
  349. package/build/components/inspector-controls/groups.js.map +1 -1
  350. package/build/components/inspector-controls/slot.js +7 -6
  351. package/build/components/inspector-controls/slot.js.map +1 -1
  352. package/build/components/inspector-controls/slot.native.js +5 -4
  353. package/build/components/inspector-controls/slot.native.js.map +1 -1
  354. package/build/components/justify-content-control/ui.js +10 -8
  355. package/build/components/justify-content-control/ui.js.map +1 -1
  356. package/build/components/letter-spacing-control/index.js +13 -9
  357. package/build/components/letter-spacing-control/index.js.map +1 -1
  358. package/build/components/line-height-control/index.js +5 -4
  359. package/build/components/line-height-control/index.js.map +1 -1
  360. package/build/components/line-height-control/index.native.js +5 -4
  361. package/build/components/line-height-control/index.native.js.map +1 -1
  362. package/build/components/line-height-control/utils.js +1 -1
  363. package/build/components/link-control/index.js +107 -52
  364. package/build/components/link-control/index.js.map +1 -1
  365. package/build/components/link-control/link-preview.js +24 -10
  366. package/build/components/link-control/link-preview.js.map +1 -1
  367. package/build/components/link-control/search-create-button.js +9 -7
  368. package/build/components/link-control/search-create-button.js.map +1 -1
  369. package/build/components/link-control/search-input.js +31 -21
  370. package/build/components/link-control/search-input.js.map +1 -1
  371. package/build/components/link-control/search-item.js +10 -9
  372. package/build/components/link-control/search-item.js.map +1 -1
  373. package/build/components/link-control/search-results.js +15 -14
  374. package/build/components/link-control/search-results.js.map +1 -1
  375. package/build/components/link-control/settings-drawer.js +7 -5
  376. package/build/components/link-control/settings-drawer.js.map +1 -1
  377. package/build/components/link-control/use-search-handler.js +5 -4
  378. package/build/components/link-control/use-search-handler.js.map +1 -1
  379. package/build/components/link-control/viewer-slot.js +1 -1
  380. package/build/components/list-view/appender.js +27 -23
  381. package/build/components/list-view/appender.js.map +1 -1
  382. package/build/components/list-view/block-contents.js +32 -28
  383. package/build/components/list-view/block-contents.js.map +1 -1
  384. package/build/components/list-view/block-select-button.js +18 -17
  385. package/build/components/list-view/block-select-button.js.map +1 -1
  386. package/build/components/list-view/block.js +122 -83
  387. package/build/components/list-view/block.js.map +1 -1
  388. package/build/components/list-view/branch.js +92 -73
  389. package/build/components/list-view/branch.js.map +1 -1
  390. package/build/components/list-view/drop-indicator.js +5 -4
  391. package/build/components/list-view/drop-indicator.js.map +1 -1
  392. package/build/components/list-view/expander.js +4 -3
  393. package/build/components/list-view/expander.js.map +1 -1
  394. package/build/components/list-view/index.js +47 -23
  395. package/build/components/list-view/index.js.map +1 -1
  396. package/build/components/list-view/leaf.js +12 -11
  397. package/build/components/list-view/leaf.js.map +1 -1
  398. package/build/components/list-view/list-item.js +8 -7
  399. package/build/components/list-view/list-item.js.map +1 -1
  400. package/build/components/list-view/use-list-view-client-ids.js +8 -58
  401. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  402. package/build/components/media-placeholder/index.js +86 -68
  403. package/build/components/media-placeholder/index.js.map +1 -1
  404. package/build/components/media-placeholder/index.native.js +5 -4
  405. package/build/components/media-placeholder/index.native.js.map +1 -1
  406. package/build/components/media-replace-flow/index.js +85 -72
  407. package/build/components/media-replace-flow/index.js.map +1 -1
  408. package/build/components/media-upload/check.js +5 -4
  409. package/build/components/media-upload/check.js.map +1 -1
  410. package/build/components/media-upload/index.native.js +1 -1
  411. package/build/components/media-upload-progress/index.native.js +1 -1
  412. package/build/components/multi-selection-inspector/index.js +4 -3
  413. package/build/components/multi-selection-inspector/index.js.map +1 -1
  414. package/build/components/navigable-toolbar/index.js +8 -7
  415. package/build/components/navigable-toolbar/index.js.map +1 -1
  416. package/build/components/observe-typing/index.js +5 -4
  417. package/build/components/observe-typing/index.js.map +1 -1
  418. package/build/components/panel-color-settings/index.js +16 -12
  419. package/build/components/panel-color-settings/index.js.map +1 -1
  420. package/build/components/plain-text/index.js +6 -4
  421. package/build/components/plain-text/index.js.map +1 -1
  422. package/build/components/preview-options/index.js +8 -7
  423. package/build/components/preview-options/index.js.map +1 -1
  424. package/build/components/provider/block-refs-provider.js +5 -4
  425. package/build/components/provider/block-refs-provider.js.map +1 -1
  426. package/build/components/provider/use-block-sync.js +8 -7
  427. package/build/components/provider/use-block-sync.js.map +1 -1
  428. package/build/components/provider/with-registry-provider.js +7 -5
  429. package/build/components/provider/with-registry-provider.js.map +1 -1
  430. package/build/components/responsive-block-control/label.js +6 -5
  431. package/build/components/responsive-block-control/label.js.map +1 -1
  432. package/build/components/rich-text/embed-handler-picker.native.js +8 -5
  433. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  434. package/build/components/rich-text/file-paste-handler.js +6 -3
  435. package/build/components/rich-text/file-paste-handler.js.map +1 -1
  436. package/build/components/rich-text/format-edit.js +36 -9
  437. package/build/components/rich-text/format-edit.js.map +1 -1
  438. package/build/components/rich-text/format-toolbar/index.js +20 -10
  439. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  440. package/build/components/rich-text/format-toolbar-container.js +6 -4
  441. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  442. package/build/components/rich-text/index.js +45 -41
  443. package/build/components/rich-text/index.js.map +1 -1
  444. package/build/components/rich-text/index.native.js +145 -122
  445. package/build/components/rich-text/index.native.js.map +1 -1
  446. package/build/components/rich-text/input-event.js +5 -4
  447. package/build/components/rich-text/input-event.js.map +1 -1
  448. package/build/components/rich-text/shortcut.js +6 -5
  449. package/build/components/rich-text/shortcut.js.map +1 -1
  450. package/build/components/rich-text/split-value.js +10 -8
  451. package/build/components/rich-text/split-value.js.map +1 -1
  452. package/build/components/rich-text/toolbar-button.js +7 -6
  453. package/build/components/rich-text/toolbar-button.js.map +1 -1
  454. package/build/components/rich-text/use-caret-in-format.js +4 -3
  455. package/build/components/rich-text/use-caret-in-format.js.map +1 -1
  456. package/build/components/rich-text/use-enter.js +6 -3
  457. package/build/components/rich-text/use-enter.js.map +1 -1
  458. package/build/components/rich-text/use-format-types.js +13 -10
  459. package/build/components/rich-text/use-format-types.js.map +1 -1
  460. package/build/components/rich-text/use-input-rules.js +15 -9
  461. package/build/components/rich-text/use-input-rules.js.map +1 -1
  462. package/build/components/rich-text/use-mark-persistent.js +5 -4
  463. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  464. package/build/components/rich-text/use-paste-handler.js +28 -4
  465. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  466. package/build/components/rich-text/utils.js +9 -7
  467. package/build/components/rich-text/utils.js.map +1 -1
  468. package/build/components/skip-to-selected-block/index.js +4 -3
  469. package/build/components/skip-to-selected-block/index.js.map +1 -1
  470. package/build/components/text-decoration-control/index.js +5 -4
  471. package/build/components/text-decoration-control/index.js.map +1 -1
  472. package/build/components/text-transform-control/index.js +5 -4
  473. package/build/components/text-transform-control/index.js.map +1 -1
  474. package/build/components/tool-selector/index.js +16 -13
  475. package/build/components/tool-selector/index.js.map +1 -1
  476. package/build/components/typewriter/index.js +10 -7
  477. package/build/components/typewriter/index.js.map +1 -1
  478. package/build/components/ungroup-button/index.native.js +12 -9
  479. package/build/components/ungroup-button/index.native.js.map +1 -1
  480. package/build/components/unit-control/index.js +5 -4
  481. package/build/components/unit-control/index.js.map +1 -1
  482. package/build/components/url-input/index.js +23 -13
  483. package/build/components/url-input/index.js.map +1 -1
  484. package/build/components/url-input/index.native.js +8 -6
  485. package/build/components/url-input/index.native.js.map +1 -1
  486. package/build/components/url-popover/image-url-input-ui.js +12 -11
  487. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  488. package/build/components/url-popover/index.js +9 -8
  489. package/build/components/url-popover/index.js.map +1 -1
  490. package/build/components/url-popover/link-editor.js +8 -7
  491. package/build/components/url-popover/link-editor.js.map +1 -1
  492. package/build/components/url-popover/link-viewer-url.js +6 -5
  493. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  494. package/build/components/url-popover/link-viewer.js +9 -8
  495. package/build/components/url-popover/link-viewer.js.map +1 -1
  496. package/build/components/use-block-drop-zone/index.js +9 -8
  497. package/build/components/use-block-drop-zone/index.js.map +1 -1
  498. package/build/components/use-moving-animation/index.js +17 -13
  499. package/build/components/use-moving-animation/index.js.map +1 -1
  500. package/build/components/use-no-recursive-renders/index.js +10 -6
  501. package/build/components/use-no-recursive-renders/index.js.map +1 -1
  502. package/build/components/use-on-block-drop/index.js +2 -2
  503. package/build/components/use-setting/index.js +48 -9
  504. package/build/components/use-setting/index.js.map +1 -1
  505. package/build/components/warning/index.js +7 -6
  506. package/build/components/warning/index.js.map +1 -1
  507. package/build/components/warning/index.native.js +10 -9
  508. package/build/components/warning/index.native.js.map +1 -1
  509. package/build/components/writing-flow/index.js +6 -5
  510. package/build/components/writing-flow/index.js.map +1 -1
  511. package/build/components/writing-flow/use-arrow-nav.js +2 -2
  512. package/build/hooks/align.js +12 -7
  513. package/build/hooks/align.js.map +1 -1
  514. package/build/hooks/border.js +9 -7
  515. package/build/hooks/border.js.map +1 -1
  516. package/build/hooks/color-panel.js +9 -7
  517. package/build/hooks/color-panel.js.map +1 -1
  518. package/build/hooks/color.js +4 -3
  519. package/build/hooks/color.js.map +1 -1
  520. package/build/hooks/dimensions.js +4 -2
  521. package/build/hooks/dimensions.js.map +1 -1
  522. package/build/hooks/duotone.js +29 -15
  523. package/build/hooks/duotone.js.map +1 -1
  524. package/build/hooks/font-appearance.js +60 -14
  525. package/build/hooks/font-appearance.js.map +1 -1
  526. package/build/hooks/font-family.js +62 -32
  527. package/build/hooks/font-family.js.map +1 -1
  528. package/build/hooks/font-size.js +57 -13
  529. package/build/hooks/font-size.js.map +1 -1
  530. package/build/hooks/gap.js +10 -8
  531. package/build/hooks/gap.js.map +1 -1
  532. package/build/hooks/index.js +16 -8
  533. package/build/hooks/index.js.map +1 -1
  534. package/build/hooks/index.native.js +16 -8
  535. package/build/hooks/index.native.js.map +1 -1
  536. package/build/hooks/layout.js +16 -13
  537. package/build/hooks/layout.js.map +1 -1
  538. package/build/hooks/letter-spacing.js +50 -11
  539. package/build/hooks/letter-spacing.js.map +1 -1
  540. package/build/hooks/line-height.js +51 -12
  541. package/build/hooks/line-height.js.map +1 -1
  542. package/build/hooks/margin.js +11 -9
  543. package/build/hooks/margin.js.map +1 -1
  544. package/build/hooks/padding.js +11 -9
  545. package/build/hooks/padding.js.map +1 -1
  546. package/build/hooks/style.js +9 -5
  547. package/build/hooks/style.js.map +1 -1
  548. package/build/hooks/text-decoration.js +48 -10
  549. package/build/hooks/text-decoration.js.map +1 -1
  550. package/build/hooks/text-transform.js +48 -10
  551. package/build/hooks/text-transform.js.map +1 -1
  552. package/build/hooks/typography.js +111 -10
  553. package/build/hooks/typography.js.map +1 -1
  554. package/build/hooks/typography.native.js +3 -2
  555. package/build/hooks/typography.native.js.map +1 -1
  556. package/build/hooks/use-border-props.js +5 -4
  557. package/build/hooks/use-border-props.js.map +1 -1
  558. package/build/hooks/use-cached-truthy.js +29 -0
  559. package/build/hooks/use-cached-truthy.js.map +1 -0
  560. package/build/index.js +21 -14
  561. package/build/index.js.map +1 -1
  562. package/build/layouts/flex.js +172 -52
  563. package/build/layouts/flex.js.map +1 -1
  564. package/build/layouts/flow.js +10 -8
  565. package/build/layouts/flow.js.map +1 -1
  566. package/build/layouts/index.js +2 -1
  567. package/build/layouts/index.js.map +1 -1
  568. package/build/layouts/utils.js +2 -1
  569. package/build/layouts/utils.js.map +1 -1
  570. package/build/store/actions.js +486 -369
  571. package/build/store/actions.js.map +1 -1
  572. package/build/store/array.js +2 -1
  573. package/build/store/array.js.map +1 -1
  574. package/build/store/index.js +6 -6
  575. package/build/store/index.js.map +1 -1
  576. package/build/store/reducer.js +145 -69
  577. package/build/store/reducer.js.map +1 -1
  578. package/build/store/selectors.js +259 -172
  579. package/build/store/selectors.js.map +1 -1
  580. package/build/utils/block-variation-transforms.js +4 -3
  581. package/build/utils/block-variation-transforms.js.map +1 -1
  582. package/build/utils/dom.js +1 -1
  583. package/build/utils/get-paste-event-data.js +10 -6
  584. package/build/utils/get-paste-event-data.js.map +1 -1
  585. package/build/utils/index.js +4 -4
  586. package/build/utils/math.js +2 -1
  587. package/build/utils/math.js.map +1 -1
  588. package/build/utils/parse-css-unit-to-px.js +6 -3
  589. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  590. package/build/utils/transform-styles/index.js +8 -6
  591. package/build/utils/transform-styles/index.js.map +1 -1
  592. package/build/utils/transform-styles/transforms/wrap.js +31 -28
  593. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  594. package/build-module/components/alignment-control/ui.js +12 -11
  595. package/build-module/components/alignment-control/ui.js.map +1 -1
  596. package/build-module/components/autocomplete/index.js +4 -3
  597. package/build-module/components/autocomplete/index.js.map +1 -1
  598. package/build-module/components/block-actions/index.js +12 -8
  599. package/build-module/components/block-actions/index.js.map +1 -1
  600. package/build-module/components/block-alignment-control/ui.js +21 -17
  601. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  602. package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
  603. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  604. package/build-module/components/block-alignment-matrix-control/index.js +6 -4
  605. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  606. package/build-module/components/block-breadcrumb/index.js +4 -3
  607. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  608. package/build-module/components/block-caption/index.native.js +34 -29
  609. package/build-module/components/block-caption/index.native.js.map +1 -1
  610. package/build-module/components/block-card/index.js +8 -6
  611. package/build-module/components/block-card/index.js.map +1 -1
  612. package/build-module/components/block-compare/block-view.js +9 -8
  613. package/build-module/components/block-compare/block-view.js.map +1 -1
  614. package/build-module/components/block-compare/index.js +9 -7
  615. package/build-module/components/block-compare/index.js.map +1 -1
  616. package/build-module/components/block-content-overlay/index.js +7 -6
  617. package/build-module/components/block-content-overlay/index.js.map +1 -1
  618. package/build-module/components/block-context/index.js +5 -4
  619. package/build-module/components/block-context/index.js.map +1 -1
  620. package/build-module/components/block-controls/fill.js +7 -6
  621. package/build-module/components/block-controls/fill.js.map +1 -1
  622. package/build-module/components/block-controls/slot.js +5 -4
  623. package/build-module/components/block-controls/slot.js.map +1 -1
  624. package/build-module/components/block-controls/slot.native.js +5 -4
  625. package/build-module/components/block-controls/slot.native.js.map +1 -1
  626. package/build-module/components/block-draggable/draggable-chip.js +5 -4
  627. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  628. package/build-module/components/block-draggable/index.js +13 -11
  629. package/build-module/components/block-draggable/index.js.map +1 -1
  630. package/build-module/components/block-full-height-alignment-control/index.js +7 -6
  631. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  632. package/build-module/components/block-icon/index.js +11 -5
  633. package/build-module/components/block-icon/index.js.map +1 -1
  634. package/build-module/components/block-icon/index.native.js +8 -6
  635. package/build-module/components/block-icon/index.native.js.map +1 -1
  636. package/build-module/components/block-inspector/index.js +20 -13
  637. package/build-module/components/block-inspector/index.js.map +1 -1
  638. package/build-module/components/block-list/block-html.js +4 -3
  639. package/build-module/components/block-list/block-html.js.map +1 -1
  640. package/build-module/components/block-list/block-invalid-warning.js +27 -19
  641. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  642. package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
  643. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  644. package/build-module/components/block-list/block-list-item.native.js +6 -5
  645. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  646. package/build-module/components/block-list/block-selection-button.native.js +11 -9
  647. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  648. package/build-module/components/block-list/block.js +40 -33
  649. package/build-module/components/block-list/block.js.map +1 -1
  650. package/build-module/components/block-list/block.native.js +35 -29
  651. package/build-module/components/block-list/block.native.js.map +1 -1
  652. package/build-module/components/block-list/index.js +13 -11
  653. package/build-module/components/block-list/index.js.map +1 -1
  654. package/build-module/components/block-list/index.native.js +22 -17
  655. package/build-module/components/block-list/index.native.js.map +1 -1
  656. package/build-module/components/block-list/insertion-point.native.js +4 -3
  657. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  658. package/build-module/components/block-list/layout.js +5 -4
  659. package/build-module/components/block-list/layout.js.map +1 -1
  660. package/build-module/components/block-list/subdirectory-icon.js +13 -10
  661. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  662. package/build-module/components/block-list/use-block-props/index.js +5 -3
  663. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  664. package/build-module/components/block-list/use-block-props/index.native.js +2 -1
  665. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  666. package/build-module/components/block-list/use-block-props/use-multi-selection.js +30 -14
  667. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  668. package/build-module/components/block-list-appender/index.js +16 -13
  669. package/build-module/components/block-list-appender/index.js.map +1 -1
  670. package/build-module/components/block-list-appender/index.native.js +14 -11
  671. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  672. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  673. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  674. package/build-module/components/block-mobile-toolbar/index.js +4 -3
  675. package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
  676. package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
  677. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  678. package/build-module/components/block-mover/button.js +7 -6
  679. package/build-module/components/block-mover/button.js.map +1 -1
  680. package/build-module/components/block-mover/index.js +15 -13
  681. package/build-module/components/block-mover/index.js.map +1 -1
  682. package/build-module/components/block-mover/index.native.js +22 -19
  683. package/build-module/components/block-mover/index.native.js.map +1 -1
  684. package/build-module/components/block-mover/mover-description.native.js +10 -7
  685. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  686. package/build-module/components/block-navigation/dropdown.js +26 -22
  687. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  688. package/build-module/components/block-pattern-setup/index.js +26 -22
  689. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  690. package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
  691. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  692. package/build-module/components/block-patterns-list/index.js +45 -45
  693. package/build-module/components/block-patterns-list/index.js.map +1 -1
  694. package/build-module/components/block-preview/auto.js +5 -4
  695. package/build-module/components/block-preview/auto.js.map +1 -1
  696. package/build-module/components/block-preview/index.js +8 -7
  697. package/build-module/components/block-preview/index.js.map +1 -1
  698. package/build-module/components/block-preview/live.js +4 -3
  699. package/build-module/components/block-preview/live.js.map +1 -1
  700. package/build-module/components/block-settings/button.native.js +10 -7
  701. package/build-module/components/block-settings/button.native.js.map +1 -1
  702. package/build-module/components/block-settings/container.native.js +13 -9
  703. package/build-module/components/block-settings/container.native.js.map +1 -1
  704. package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
  705. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  706. package/build-module/components/block-settings-menu/block-html-convert-button.js +14 -10
  707. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  708. package/build-module/components/block-settings-menu/block-mode-toggle.js +25 -19
  709. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  710. package/build-module/components/block-settings-menu/block-settings-dropdown.js +98 -70
  711. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  712. package/build-module/components/block-settings-menu/index.js +5 -4
  713. package/build-module/components/block-settings-menu/index.js.map +1 -1
  714. package/build-module/components/block-settings-menu-controls/index.js +8 -6
  715. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  716. package/build-module/components/block-styles/index.js +20 -17
  717. package/build-module/components/block-styles/index.js.map +1 -1
  718. package/build-module/components/block-styles/index.native.js +6 -4
  719. package/build-module/components/block-styles/index.native.js.map +1 -1
  720. package/build-module/components/block-styles/preview.native.js +9 -8
  721. package/build-module/components/block-styles/preview.native.js.map +1 -1
  722. package/build-module/components/block-switcher/block-styles-menu.js +5 -4
  723. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  724. package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
  725. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  726. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -8
  727. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  728. package/build-module/components/block-switcher/index.js +41 -33
  729. package/build-module/components/block-switcher/index.js.map +1 -1
  730. package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
  731. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  732. package/build-module/components/block-switcher/preview-block-popover.js +4 -3
  733. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  734. package/build-module/components/block-switcher/utils.js +2 -1
  735. package/build-module/components/block-switcher/utils.js.map +1 -1
  736. package/build-module/components/block-title/index.js +4 -3
  737. package/build-module/components/block-title/index.js.map +1 -1
  738. package/build-module/components/block-toolbar/index.js +4 -3
  739. package/build-module/components/block-toolbar/index.js.map +1 -1
  740. package/build-module/components/block-toolbar/utils.js +13 -11
  741. package/build-module/components/block-toolbar/utils.js.map +1 -1
  742. package/build-module/components/block-tools/back-compat.js +4 -3
  743. package/build-module/components/block-tools/back-compat.js.map +1 -1
  744. package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
  745. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  746. package/build-module/components/block-tools/block-popover.js +15 -13
  747. package/build-module/components/block-tools/block-popover.js.map +1 -1
  748. package/build-module/components/block-tools/block-selection-button.js +6 -5
  749. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  750. package/build-module/components/block-tools/index.js +6 -5
  751. package/build-module/components/block-tools/index.js.map +1 -1
  752. package/build-module/components/block-tools/insertion-point.js +11 -9
  753. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  754. package/build-module/components/block-types-list/index.js +9 -8
  755. package/build-module/components/block-types-list/index.js.map +1 -1
  756. package/build-module/components/block-types-list/index.native.js +19 -15
  757. package/build-module/components/block-types-list/index.native.js.map +1 -1
  758. package/build-module/components/block-variation-picker/index.js +9 -8
  759. package/build-module/components/block-variation-picker/index.js.map +1 -1
  760. package/build-module/components/block-variation-picker/index.native.js +9 -7
  761. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  762. package/build-module/components/block-variation-transforms/index.js +22 -15
  763. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  764. package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
  765. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  766. package/build-module/components/border-radius-control/all-input-control.js +6 -5
  767. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  768. package/build-module/components/border-radius-control/index.js +5 -4
  769. package/build-module/components/border-radius-control/index.js.map +1 -1
  770. package/build-module/components/border-radius-control/input-controls.js +16 -11
  771. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  772. package/build-module/components/border-radius-control/linked-button.js +5 -4
  773. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  774. package/build-module/components/border-radius-control/utils.js +8 -3
  775. package/build-module/components/border-radius-control/utils.js.map +1 -1
  776. package/build-module/components/border-style-control/index.js +5 -4
  777. package/build-module/components/border-style-control/index.js.map +1 -1
  778. package/build-module/components/button-block-appender/index.js +15 -13
  779. package/build-module/components/button-block-appender/index.js.map +1 -1
  780. package/build-module/components/button-block-appender/index.native.js +28 -24
  781. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  782. package/build-module/components/caption/index.native.js +44 -41
  783. package/build-module/components/caption/index.native.js.map +1 -1
  784. package/build-module/components/color-palette/control.js +6 -5
  785. package/build-module/components/color-palette/control.js.map +1 -1
  786. package/build-module/components/color-style-selector/index.js +43 -34
  787. package/build-module/components/color-style-selector/index.js.map +1 -1
  788. package/build-module/components/colors/color-panel.js +21 -18
  789. package/build-module/components/colors/color-panel.js.map +1 -1
  790. package/build-module/components/colors/utils.js +6 -3
  791. package/build-module/components/colors/utils.js.map +1 -1
  792. package/build-module/components/colors/with-colors.js +17 -6
  793. package/build-module/components/colors/with-colors.js.map +1 -1
  794. package/build-module/components/colors-gradients/control.js +25 -65
  795. package/build-module/components/colors-gradients/control.js.map +1 -1
  796. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +111 -30
  797. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  798. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  799. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  800. package/build-module/components/contrast-checker/index.js +18 -15
  801. package/build-module/components/contrast-checker/index.js.map +1 -1
  802. package/build-module/components/convert-to-group-buttons/index.js +9 -8
  803. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  804. package/build-module/components/copy-handler/index.js +4 -3
  805. package/build-module/components/copy-handler/index.js.map +1 -1
  806. package/build-module/components/default-block-appender/index.js +10 -8
  807. package/build-module/components/default-block-appender/index.js.map +1 -1
  808. package/build-module/components/default-block-appender/index.native.js +10 -8
  809. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  810. package/build-module/components/default-style-picker/index.js +14 -10
  811. package/build-module/components/default-style-picker/index.js.map +1 -1
  812. package/build-module/components/duotone-control/index.js +20 -14
  813. package/build-module/components/duotone-control/index.js.map +1 -1
  814. package/build-module/components/editable-text/index.js +6 -5
  815. package/build-module/components/editable-text/index.js.map +1 -1
  816. package/build-module/components/editor-styles/index.js +4 -3
  817. package/build-module/components/editor-styles/index.js.map +1 -1
  818. package/build-module/components/floating-toolbar/index.native.js +8 -7
  819. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  820. package/build-module/components/font-appearance-control/index.js +49 -34
  821. package/build-module/components/font-appearance-control/index.js.map +1 -1
  822. package/build-module/components/font-family/index.js +12 -10
  823. package/build-module/components/font-family/index.js.map +1 -1
  824. package/build-module/components/font-sizes/with-font-sizes.js +11 -5
  825. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  826. package/build-module/components/gradients/use-gradient.js +5 -4
  827. package/build-module/components/gradients/use-gradient.js.map +1 -1
  828. package/build-module/components/iframe/index.js +29 -23
  829. package/build-module/components/iframe/index.js.map +1 -1
  830. package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
  831. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  832. package/build-module/components/image-editor/context.js +11 -10
  833. package/build-module/components/image-editor/context.js.map +1 -1
  834. package/build-module/components/image-editor/cropper.js +9 -8
  835. package/build-module/components/image-editor/cropper.js.map +1 -1
  836. package/build-module/components/image-editor/index.js +9 -8
  837. package/build-module/components/image-editor/index.js.map +1 -1
  838. package/build-module/components/image-editor/use-save-image.js +12 -11
  839. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  840. package/build-module/components/image-editor/use-transform-image.js +6 -5
  841. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  842. package/build-module/components/image-editor/zoom-dropdown.js +13 -10
  843. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  844. package/build-module/components/image-size-control/index.js +12 -11
  845. package/build-module/components/image-size-control/index.js.map +1 -1
  846. package/build-module/components/index.js +3 -1
  847. package/build-module/components/index.js.map +1 -1
  848. package/build-module/components/index.native.js +1 -1
  849. package/build-module/components/index.native.js.map +1 -1
  850. package/build-module/components/inner-blocks/button-block-appender.js +8 -7
  851. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  852. package/build-module/components/inner-blocks/default-block-appender.js +9 -7
  853. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  854. package/build-module/components/inner-blocks/index.js +9 -6
  855. package/build-module/components/inner-blocks/index.js.map +1 -1
  856. package/build-module/components/inner-blocks/index.native.js +8 -5
  857. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  858. package/build-module/components/inserter/block-patterns-explorer/explorer.js +52 -0
  859. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  860. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +95 -0
  861. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  862. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  863. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  864. package/build-module/components/inserter/block-patterns-tab.js +93 -58
  865. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  866. package/build-module/components/inserter/block-types-tab.js +9 -7
  867. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  868. package/build-module/components/inserter/block-types-tab.native.js +9 -8
  869. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  870. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
  871. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  872. package/build-module/components/inserter/hooks/use-block-types-state.js +6 -5
  873. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  874. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
  875. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  876. package/build-module/components/inserter/index.js +36 -28
  877. package/build-module/components/inserter/index.js.map +1 -1
  878. package/build-module/components/inserter/index.native.js +46 -37
  879. package/build-module/components/inserter/index.native.js.map +1 -1
  880. package/build-module/components/inserter/library.js +12 -11
  881. package/build-module/components/inserter/library.js.map +1 -1
  882. package/build-module/components/inserter/menu.js +12 -11
  883. package/build-module/components/inserter/menu.js.map +1 -1
  884. package/build-module/components/inserter/menu.native.js +31 -27
  885. package/build-module/components/inserter/menu.native.js.map +1 -1
  886. package/build-module/components/inserter/panel.js +6 -5
  887. package/build-module/components/inserter/panel.js.map +1 -1
  888. package/build-module/components/inserter/pattern-panel.js +27 -18
  889. package/build-module/components/inserter/pattern-panel.js.map +1 -1
  890. package/build-module/components/inserter/preview-panel.js +4 -3
  891. package/build-module/components/inserter/preview-panel.js.map +1 -1
  892. package/build-module/components/inserter/quick-inserter.js +7 -6
  893. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  894. package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
  895. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  896. package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
  897. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  898. package/build-module/components/inserter/search-items.js +23 -7
  899. package/build-module/components/inserter/search-items.js.map +1 -1
  900. package/build-module/components/inserter/search-results.js +15 -14
  901. package/build-module/components/inserter/search-results.js.map +1 -1
  902. package/build-module/components/inserter/search-results.native.js +11 -10
  903. package/build-module/components/inserter/search-results.native.js.map +1 -1
  904. package/build-module/components/inserter/tabs.js +7 -6
  905. package/build-module/components/inserter/tabs.js.map +1 -1
  906. package/build-module/components/inserter/tabs.native.js +55 -37
  907. package/build-module/components/inserter/tabs.native.js.map +1 -1
  908. package/build-module/components/inserter/utils.native.js +10 -8
  909. package/build-module/components/inserter/utils.native.js.map +1 -1
  910. package/build-module/components/inserter-draggable-blocks/index.js +12 -10
  911. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  912. package/build-module/components/inserter-list-item/index.js +75 -69
  913. package/build-module/components/inserter-list-item/index.js.map +1 -1
  914. package/build-module/components/inserter-listbox/index.js +4 -3
  915. package/build-module/components/inserter-listbox/index.js.map +1 -1
  916. package/build-module/components/inserter-listbox/item.js +7 -6
  917. package/build-module/components/inserter-listbox/item.js.map +1 -1
  918. package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
  919. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  920. package/build-module/components/inspector-controls/block-support-tools-panel.js +8 -6
  921. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  922. package/build-module/components/inspector-controls/fill.js +5 -4
  923. package/build-module/components/inspector-controls/fill.js.map +1 -1
  924. package/build-module/components/inspector-controls/fill.native.js +6 -5
  925. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  926. package/build-module/components/inspector-controls/groups.js +3 -1
  927. package/build-module/components/inspector-controls/groups.js.map +1 -1
  928. package/build-module/components/inspector-controls/slot.js +7 -6
  929. package/build-module/components/inspector-controls/slot.js.map +1 -1
  930. package/build-module/components/inspector-controls/slot.native.js +5 -4
  931. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  932. package/build-module/components/justify-content-control/ui.js +10 -8
  933. package/build-module/components/justify-content-control/ui.js.map +1 -1
  934. package/build-module/components/letter-spacing-control/index.js +13 -9
  935. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  936. package/build-module/components/line-height-control/index.js +5 -4
  937. package/build-module/components/line-height-control/index.js.map +1 -1
  938. package/build-module/components/line-height-control/index.native.js +5 -4
  939. package/build-module/components/line-height-control/index.native.js.map +1 -1
  940. package/build-module/components/link-control/index.js +107 -53
  941. package/build-module/components/link-control/index.js.map +1 -1
  942. package/build-module/components/link-control/link-preview.js +24 -11
  943. package/build-module/components/link-control/link-preview.js.map +1 -1
  944. package/build-module/components/link-control/search-create-button.js +9 -7
  945. package/build-module/components/link-control/search-create-button.js.map +1 -1
  946. package/build-module/components/link-control/search-input.js +30 -21
  947. package/build-module/components/link-control/search-input.js.map +1 -1
  948. package/build-module/components/link-control/search-item.js +10 -9
  949. package/build-module/components/link-control/search-item.js.map +1 -1
  950. package/build-module/components/link-control/search-results.js +15 -14
  951. package/build-module/components/link-control/search-results.js.map +1 -1
  952. package/build-module/components/link-control/settings-drawer.js +7 -5
  953. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  954. package/build-module/components/link-control/use-search-handler.js +4 -3
  955. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  956. package/build-module/components/list-view/appender.js +27 -23
  957. package/build-module/components/list-view/appender.js.map +1 -1
  958. package/build-module/components/list-view/block-contents.js +32 -28
  959. package/build-module/components/list-view/block-contents.js.map +1 -1
  960. package/build-module/components/list-view/block-select-button.js +18 -17
  961. package/build-module/components/list-view/block-select-button.js.map +1 -1
  962. package/build-module/components/list-view/block.js +121 -83
  963. package/build-module/components/list-view/block.js.map +1 -1
  964. package/build-module/components/list-view/branch.js +92 -73
  965. package/build-module/components/list-view/branch.js.map +1 -1
  966. package/build-module/components/list-view/drop-indicator.js +5 -4
  967. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  968. package/build-module/components/list-view/expander.js +4 -3
  969. package/build-module/components/list-view/expander.js.map +1 -1
  970. package/build-module/components/list-view/index.js +49 -25
  971. package/build-module/components/list-view/index.js.map +1 -1
  972. package/build-module/components/list-view/leaf.js +12 -11
  973. package/build-module/components/list-view/leaf.js.map +1 -1
  974. package/build-module/components/list-view/list-item.js +8 -7
  975. package/build-module/components/list-view/list-item.js.map +1 -1
  976. package/build-module/components/list-view/use-list-view-client-ids.js +8 -58
  977. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  978. package/build-module/components/media-placeholder/index.js +86 -68
  979. package/build-module/components/media-placeholder/index.js.map +1 -1
  980. package/build-module/components/media-placeholder/index.native.js +5 -4
  981. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  982. package/build-module/components/media-replace-flow/index.js +85 -72
  983. package/build-module/components/media-replace-flow/index.js.map +1 -1
  984. package/build-module/components/media-upload/check.js +5 -4
  985. package/build-module/components/media-upload/check.js.map +1 -1
  986. package/build-module/components/multi-selection-inspector/index.js +4 -3
  987. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  988. package/build-module/components/navigable-toolbar/index.js +8 -7
  989. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  990. package/build-module/components/observe-typing/index.js +4 -3
  991. package/build-module/components/observe-typing/index.js.map +1 -1
  992. package/build-module/components/panel-color-settings/index.js +16 -12
  993. package/build-module/components/panel-color-settings/index.js.map +1 -1
  994. package/build-module/components/plain-text/index.js +6 -4
  995. package/build-module/components/plain-text/index.js.map +1 -1
  996. package/build-module/components/preview-options/index.js +8 -7
  997. package/build-module/components/preview-options/index.js.map +1 -1
  998. package/build-module/components/provider/block-refs-provider.js +4 -3
  999. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1000. package/build-module/components/provider/use-block-sync.js +8 -7
  1001. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1002. package/build-module/components/provider/with-registry-provider.js +7 -5
  1003. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1004. package/build-module/components/responsive-block-control/label.js +6 -5
  1005. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1006. package/build-module/components/rich-text/embed-handler-picker.native.js +8 -5
  1007. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1008. package/build-module/components/rich-text/file-paste-handler.js +6 -3
  1009. package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
  1010. package/build-module/components/rich-text/format-edit.js +36 -10
  1011. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1012. package/build-module/components/rich-text/format-toolbar/index.js +20 -10
  1013. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1014. package/build-module/components/rich-text/format-toolbar-container.js +6 -4
  1015. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1016. package/build-module/components/rich-text/index.js +44 -40
  1017. package/build-module/components/rich-text/index.js.map +1 -1
  1018. package/build-module/components/rich-text/index.native.js +145 -122
  1019. package/build-module/components/rich-text/index.native.js.map +1 -1
  1020. package/build-module/components/rich-text/input-event.js +5 -4
  1021. package/build-module/components/rich-text/input-event.js.map +1 -1
  1022. package/build-module/components/rich-text/shortcut.js +6 -5
  1023. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1024. package/build-module/components/rich-text/split-value.js +10 -8
  1025. package/build-module/components/rich-text/split-value.js.map +1 -1
  1026. package/build-module/components/rich-text/toolbar-button.js +7 -6
  1027. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1028. package/build-module/components/rich-text/use-caret-in-format.js +4 -3
  1029. package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
  1030. package/build-module/components/rich-text/use-enter.js +6 -3
  1031. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1032. package/build-module/components/rich-text/use-format-types.js +13 -10
  1033. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1034. package/build-module/components/rich-text/use-input-rules.js +15 -9
  1035. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1036. package/build-module/components/rich-text/use-mark-persistent.js +5 -4
  1037. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1038. package/build-module/components/rich-text/use-paste-handler.js +28 -4
  1039. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1040. package/build-module/components/rich-text/utils.js +7 -5
  1041. package/build-module/components/rich-text/utils.js.map +1 -1
  1042. package/build-module/components/skip-to-selected-block/index.js +4 -3
  1043. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1044. package/build-module/components/text-decoration-control/index.js +5 -4
  1045. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1046. package/build-module/components/text-transform-control/index.js +5 -4
  1047. package/build-module/components/text-transform-control/index.js.map +1 -1
  1048. package/build-module/components/tool-selector/index.js +16 -13
  1049. package/build-module/components/tool-selector/index.js.map +1 -1
  1050. package/build-module/components/typewriter/index.js +9 -6
  1051. package/build-module/components/typewriter/index.js.map +1 -1
  1052. package/build-module/components/ungroup-button/index.native.js +12 -9
  1053. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1054. package/build-module/components/unit-control/index.js +5 -4
  1055. package/build-module/components/unit-control/index.js.map +1 -1
  1056. package/build-module/components/url-input/index.js +23 -13
  1057. package/build-module/components/url-input/index.js.map +1 -1
  1058. package/build-module/components/url-input/index.native.js +8 -6
  1059. package/build-module/components/url-input/index.native.js.map +1 -1
  1060. package/build-module/components/url-popover/image-url-input-ui.js +12 -11
  1061. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1062. package/build-module/components/url-popover/index.js +9 -8
  1063. package/build-module/components/url-popover/index.js.map +1 -1
  1064. package/build-module/components/url-popover/link-editor.js +8 -7
  1065. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1066. package/build-module/components/url-popover/link-viewer-url.js +6 -5
  1067. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1068. package/build-module/components/url-popover/link-viewer.js +9 -8
  1069. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1070. package/build-module/components/use-block-drop-zone/index.js +8 -7
  1071. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1072. package/build-module/components/use-moving-animation/index.js +17 -13
  1073. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1074. package/build-module/components/use-no-recursive-renders/index.js +10 -6
  1075. package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
  1076. package/build-module/components/use-setting/index.js +48 -9
  1077. package/build-module/components/use-setting/index.js.map +1 -1
  1078. package/build-module/components/warning/index.js +7 -6
  1079. package/build-module/components/warning/index.js.map +1 -1
  1080. package/build-module/components/warning/index.native.js +10 -9
  1081. package/build-module/components/warning/index.native.js.map +1 -1
  1082. package/build-module/components/writing-flow/index.js +5 -4
  1083. package/build-module/components/writing-flow/index.js.map +1 -1
  1084. package/build-module/hooks/align.js +9 -4
  1085. package/build-module/hooks/align.js.map +1 -1
  1086. package/build-module/hooks/border.js +8 -6
  1087. package/build-module/hooks/border.js.map +1 -1
  1088. package/build-module/hooks/color-panel.js +9 -7
  1089. package/build-module/hooks/color-panel.js.map +1 -1
  1090. package/build-module/hooks/dimensions.js +2 -1
  1091. package/build-module/hooks/dimensions.js.map +1 -1
  1092. package/build-module/hooks/duotone.js +29 -15
  1093. package/build-module/hooks/duotone.js.map +1 -1
  1094. package/build-module/hooks/font-appearance.js +54 -12
  1095. package/build-module/hooks/font-appearance.js.map +1 -1
  1096. package/build-module/hooks/font-family.js +57 -31
  1097. package/build-module/hooks/font-family.js.map +1 -1
  1098. package/build-module/hooks/font-size.js +52 -12
  1099. package/build-module/hooks/font-size.js.map +1 -1
  1100. package/build-module/hooks/gap.js +9 -7
  1101. package/build-module/hooks/gap.js.map +1 -1
  1102. package/build-module/hooks/index.js +1 -0
  1103. package/build-module/hooks/index.js.map +1 -1
  1104. package/build-module/hooks/index.native.js +1 -0
  1105. package/build-module/hooks/index.native.js.map +1 -1
  1106. package/build-module/hooks/layout.js +16 -13
  1107. package/build-module/hooks/layout.js.map +1 -1
  1108. package/build-module/hooks/letter-spacing.js +45 -10
  1109. package/build-module/hooks/letter-spacing.js.map +1 -1
  1110. package/build-module/hooks/line-height.js +46 -11
  1111. package/build-module/hooks/line-height.js.map +1 -1
  1112. package/build-module/hooks/margin.js +10 -8
  1113. package/build-module/hooks/margin.js.map +1 -1
  1114. package/build-module/hooks/padding.js +10 -8
  1115. package/build-module/hooks/padding.js.map +1 -1
  1116. package/build-module/hooks/style.js +7 -3
  1117. package/build-module/hooks/style.js.map +1 -1
  1118. package/build-module/hooks/text-decoration.js +43 -9
  1119. package/build-module/hooks/text-decoration.js.map +1 -1
  1120. package/build-module/hooks/text-transform.js +43 -9
  1121. package/build-module/hooks/text-transform.js.map +1 -1
  1122. package/build-module/hooks/typography.js +119 -18
  1123. package/build-module/hooks/typography.js.map +1 -1
  1124. package/build-module/hooks/typography.native.js +2 -1
  1125. package/build-module/hooks/typography.native.js.map +1 -1
  1126. package/build-module/hooks/use-border-props.js +5 -4
  1127. package/build-module/hooks/use-border-props.js.map +1 -1
  1128. package/build-module/hooks/use-cached-truthy.js +21 -0
  1129. package/build-module/hooks/use-cached-truthy.js.map +1 -0
  1130. package/build-module/index.js +1 -1
  1131. package/build-module/index.js.map +1 -1
  1132. package/build-module/layouts/flex.js +176 -56
  1133. package/build-module/layouts/flex.js.map +1 -1
  1134. package/build-module/layouts/flow.js +10 -8
  1135. package/build-module/layouts/flow.js.map +1 -1
  1136. package/build-module/layouts/index.js +2 -1
  1137. package/build-module/layouts/index.js.map +1 -1
  1138. package/build-module/layouts/utils.js +2 -1
  1139. package/build-module/layouts/utils.js.map +1 -1
  1140. package/build-module/store/actions.js +410 -320
  1141. package/build-module/store/actions.js.map +1 -1
  1142. package/build-module/store/array.js +2 -1
  1143. package/build-module/store/array.js.map +1 -1
  1144. package/build-module/store/index.js +1 -2
  1145. package/build-module/store/index.js.map +1 -1
  1146. package/build-module/store/reducer.js +129 -54
  1147. package/build-module/store/reducer.js.map +1 -1
  1148. package/build-module/store/selectors.js +197 -117
  1149. package/build-module/store/selectors.js.map +1 -1
  1150. package/build-module/utils/block-variation-transforms.js +4 -3
  1151. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1152. package/build-module/utils/get-paste-event-data.js +10 -6
  1153. package/build-module/utils/get-paste-event-data.js.map +1 -1
  1154. package/build-module/utils/math.js +2 -1
  1155. package/build-module/utils/math.js.map +1 -1
  1156. package/build-module/utils/parse-css-unit-to-px.js +5 -2
  1157. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1158. package/build-module/utils/transform-styles/index.js +8 -6
  1159. package/build-module/utils/transform-styles/index.js.map +1 -1
  1160. package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
  1161. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1162. package/build-style/style-rtl.css +160 -57
  1163. package/build-style/style.css +160 -57
  1164. package/package.json +27 -28
  1165. package/src/components/alignment-control/test/__snapshots__/index.js.snap +0 -2
  1166. package/src/components/alignment-control/ui.js +1 -4
  1167. package/src/components/block-draggable/style.scss +19 -4
  1168. package/src/components/block-icon/index.js +4 -1
  1169. package/src/components/block-inspector/index.js +5 -0
  1170. package/src/components/block-list/index.native.js +1 -1
  1171. package/src/components/block-list/use-block-props/use-multi-selection.js +27 -7
  1172. package/src/components/block-navigation/dropdown.js +0 -1
  1173. package/src/components/block-patterns-list/index.js +1 -8
  1174. package/src/components/block-patterns-list/style.scss +22 -12
  1175. package/src/components/block-settings/container.native.js +7 -0
  1176. package/src/components/block-settings-menu/block-settings-dropdown.js +19 -7
  1177. package/src/components/block-styles/preview.native.js +2 -2
  1178. package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
  1179. package/src/components/color-palette/test/__snapshots__/control.js.snap +88 -63
  1180. package/src/components/colors-gradients/control.js +19 -62
  1181. package/src/components/colors-gradients/panel-color-gradient-settings.js +76 -6
  1182. package/src/components/colors-gradients/style.scss +3 -14
  1183. package/src/components/colors-gradients/test/control.js +0 -16
  1184. package/src/components/duotone-control/index.js +6 -0
  1185. package/src/components/duotone-control/style.scss +27 -12
  1186. package/src/components/font-appearance-control/index.js +22 -14
  1187. package/src/components/iframe/index.js +1 -1
  1188. package/src/components/index.js +3 -4
  1189. package/src/components/index.native.js +1 -4
  1190. package/src/components/inner-blocks/index.js +4 -4
  1191. package/src/components/inner-blocks/index.native.js +7 -4
  1192. package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
  1193. package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
  1194. package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  1195. package/src/components/inserter/block-patterns-tab.js +107 -80
  1196. package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
  1197. package/src/components/inserter/pattern-panel.js +33 -16
  1198. package/src/components/inserter/style.scss +64 -1
  1199. package/src/components/inserter/test/block-types-tab.native.js +1 -1
  1200. package/src/components/inserter/test/fixtures/index.native.js +12 -0
  1201. package/src/components/inspector-controls/groups.js +4 -0
  1202. package/src/components/letter-spacing-control/index.js +12 -6
  1203. package/src/components/link-control/README.md +7 -0
  1204. package/src/components/link-control/index.js +99 -34
  1205. package/src/components/link-control/link-preview.js +21 -9
  1206. package/src/components/link-control/search-input.js +9 -3
  1207. package/src/components/link-control/style.scss +32 -16
  1208. package/src/components/link-control/test/index.js +179 -4
  1209. package/src/components/list-view/block.js +67 -23
  1210. package/src/components/list-view/branch.js +113 -91
  1211. package/src/components/list-view/index.js +58 -19
  1212. package/src/components/list-view/leaf.js +1 -1
  1213. package/src/components/list-view/style.scss +14 -3
  1214. package/src/components/list-view/use-list-view-client-ids.js +7 -66
  1215. package/src/components/rich-text/embed-handler-picker.native.js +1 -0
  1216. package/src/components/rich-text/format-edit.js +36 -2
  1217. package/src/components/rich-text/format-toolbar/index.js +3 -0
  1218. package/src/components/rich-text/use-paste-handler.js +22 -0
  1219. package/src/components/url-input/index.js +14 -4
  1220. package/src/components/use-setting/index.js +49 -11
  1221. package/src/hooks/border.js +8 -11
  1222. package/src/hooks/color-panel.js +1 -0
  1223. package/src/hooks/duotone.js +21 -7
  1224. package/src/hooks/font-appearance.js +38 -7
  1225. package/src/hooks/font-family.js +29 -13
  1226. package/src/hooks/font-size.js +42 -6
  1227. package/src/hooks/index.js +1 -0
  1228. package/src/hooks/index.native.js +1 -0
  1229. package/src/hooks/layout.scss +3 -1
  1230. package/src/hooks/letter-spacing.js +35 -7
  1231. package/src/hooks/line-height.js +37 -9
  1232. package/src/hooks/margin.js +1 -1
  1233. package/src/hooks/padding.js +1 -1
  1234. package/src/hooks/text-decoration.js +34 -6
  1235. package/src/hooks/text-transform.js +34 -6
  1236. package/src/hooks/typography.js +165 -15
  1237. package/src/hooks/typography.scss +16 -0
  1238. package/src/hooks/use-cached-truthy.js +20 -0
  1239. package/src/index.js +1 -0
  1240. package/src/layouts/flex.js +155 -41
  1241. package/src/store/actions.js +223 -391
  1242. package/src/store/index.js +1 -2
  1243. package/src/store/reducer.js +36 -18
  1244. package/src/store/selectors.js +52 -47
  1245. package/src/store/test/actions.js +395 -694
  1246. package/src/store/test/selectors.js +79 -21
  1247. package/src/style.scss +1 -1
  1248. package/src/utils/test/parse-css-unit-to-px.js +127 -167
  1249. package/build/components/text-decoration-and-transform/index.js +0 -39
  1250. package/build/components/text-decoration-and-transform/index.js.map +0 -1
  1251. package/build/store/controls.js +0 -44
  1252. package/build/store/controls.js.map +0 -1
  1253. package/build-module/components/text-decoration-and-transform/index.js +0 -30
  1254. package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
  1255. package/build-module/store/controls.js +0 -32
  1256. package/build-module/store/controls.js.map +0 -1
  1257. package/src/components/text-decoration-and-transform/index.js +0 -36
  1258. package/src/components/text-decoration-and-transform/style.scss +0 -3
  1259. package/src/store/controls.js +0 -39
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _lodash = require("lodash");
13
-
14
12
  var _i18n = require("@wordpress/i18n");
15
13
 
16
14
  var _compose = require("@wordpress/compose");
@@ -21,9 +19,7 @@ var _usePatternsState = _interopRequireDefault(require("./hooks/use-patterns-sta
21
19
 
22
20
  var _blockPatternsList = _interopRequireDefault(require("../block-patterns-list"));
23
21
 
24
- /**
25
- * External dependencies
26
- */
22
+ var _explorer = _interopRequireDefault(require("./block-patterns-explorer/explorer"));
27
23
 
28
24
  /**
29
25
  * WordPress dependencies
@@ -32,49 +28,35 @@ var _blockPatternsList = _interopRequireDefault(require("../block-patterns-list"
32
28
  /**
33
29
  * Internal dependencies
34
30
  */
35
- function BlockPatternsCategory({
36
- rootClientId,
37
- onInsert,
38
- selectedCategory,
39
- onClickCategory
40
- }) {
41
- const [allPatterns, allCategories, onClick] = (0, _usePatternsState.default)(onInsert, rootClientId); // Remove any empty categories
42
-
43
- const populatedCategories = (0, _element.useMemo)(() => allCategories.filter(category => allPatterns.some(pattern => {
31
+ function BlockPatternsCategory(_ref) {
32
+ let {
33
+ rootClientId,
34
+ onInsert,
35
+ selectedCategory,
36
+ populatedCategories
37
+ } = _ref;
38
+ const [allPatterns,, onClick] = (0, _usePatternsState.default)(onInsert, rootClientId);
39
+ const getPatternIndex = (0, _element.useCallback)(pattern => {
44
40
  var _pattern$categories;
45
41
 
46
- return (_pattern$categories = pattern.categories) === null || _pattern$categories === void 0 ? void 0 : _pattern$categories.includes(category.name);
47
- })).sort(({
48
- name: currentName
49
- }, {
50
- name: nextName
51
- }) => {
52
- if (![currentName, nextName].includes('featured')) {
53
- return 0;
54
- }
55
-
56
- return currentName === 'featured' ? -1 : 1;
57
- }), [allPatterns, allCategories]);
58
- const patternCategory = selectedCategory ? selectedCategory : populatedCategories[0];
59
- (0, _element.useEffect)(() => {
60
- if (allPatterns.some(pattern => getPatternIndex(pattern) === Infinity) && !populatedCategories.find(category => category.name === 'uncategorized')) {
61
- populatedCategories.push({
62
- name: 'uncategorized',
63
- label: (0, _i18n._x)('Uncategorized')
64
- });
65
- }
66
- }, [populatedCategories, allPatterns]);
67
- const getPatternIndex = (0, _element.useCallback)(pattern => {
68
- if (!pattern.categories || !pattern.categories.length) {
42
+ if (!((_pattern$categories = pattern.categories) !== null && _pattern$categories !== void 0 && _pattern$categories.length)) {
69
43
  return Infinity;
70
44
  }
71
45
 
72
- const indexedCategories = (0, _lodash.fromPairs)(populatedCategories.map(({
73
- name
74
- }, index) => [name, index]));
46
+ const indexedCategories = populatedCategories.reduce((accumulator, _ref2, index) => {
47
+ let {
48
+ name
49
+ } = _ref2;
50
+ accumulator[name] = index;
51
+ return accumulator;
52
+ }, {});
75
53
  return Math.min(...pattern.categories.map(cat => indexedCategories[cat] !== undefined ? indexedCategories[cat] : Infinity));
76
54
  }, [populatedCategories]);
77
- const currentCategoryPatterns = (0, _element.useMemo)(() => allPatterns.filter(pattern => patternCategory.name === 'uncategorized' ? getPatternIndex(pattern) === Infinity : pattern.categories && pattern.categories.includes(patternCategory.name)), [allPatterns, patternCategory]); // Ordering the patterns is important for the async rendering.
55
+ const currentCategoryPatterns = (0, _element.useMemo)(() => allPatterns.filter(pattern => {
56
+ var _pattern$categories2;
57
+
58
+ return selectedCategory.name === 'uncategorized' ? getPatternIndex(pattern) === Infinity : (_pattern$categories2 = pattern.categories) === null || _pattern$categories2 === void 0 ? void 0 : _pattern$categories2.includes(selectedCategory.name);
59
+ }), [allPatterns, selectedCategory]); // Ordering the patterns is important for the async rendering.
78
60
 
79
61
  const orderedPatterns = (0, _element.useMemo)(() => {
80
62
  return currentCategoryPatterns.sort((a, b) => {
@@ -82,32 +64,85 @@ function BlockPatternsCategory({
82
64
  });
83
65
  }, [currentCategoryPatterns, getPatternIndex]);
84
66
  const currentShownPatterns = (0, _compose.useAsyncList)(orderedPatterns);
85
- return (0, _element.createElement)(_element.Fragment, null, !!currentCategoryPatterns.length && (0, _element.createElement)(_patternPanel.default, {
86
- selectedCategory: patternCategory,
87
- patternCategories: populatedCategories,
88
- onClickCategory: onClickCategory
67
+
68
+ if (!currentCategoryPatterns.length) {
69
+ return null;
70
+ }
71
+
72
+ return (0, _element.createElement)("div", {
73
+ className: "block-editor-inserter__panel-content"
89
74
  }, (0, _element.createElement)(_blockPatternsList.default, {
90
75
  shownPatterns: currentShownPatterns,
91
76
  blockPatterns: currentCategoryPatterns,
92
77
  onClickPattern: onClick,
93
- label: patternCategory.label,
78
+ label: selectedCategory.label,
94
79
  orientation: "vertical",
95
80
  isDraggable: true
96
- })));
81
+ }));
97
82
  }
98
83
 
99
- function BlockPatternsTabs({
100
- rootClientId,
101
- onInsert,
102
- onClickCategory,
103
- selectedCategory
104
- }) {
105
- return (0, _element.createElement)(BlockPatternsCategory, {
84
+ function BlockPatternsTabs(_ref3) {
85
+ let {
86
+ rootClientId,
87
+ onInsert,
88
+ onClickCategory,
89
+ selectedCategory
90
+ } = _ref3;
91
+ const [showPatternsExplorer, setShowPatternsExplorer] = (0, _element.useState)(false);
92
+ const [allPatterns, allCategories] = (0, _usePatternsState.default)();
93
+ const hasRegisteredCategory = (0, _element.useCallback)(pattern => {
94
+ if (!pattern.categories || !pattern.categories.length) {
95
+ return false;
96
+ }
97
+
98
+ return pattern.categories.some(cat => allCategories.some(category => category.name === cat));
99
+ }, [allCategories]); // Remove any empty categories
100
+
101
+ const populatedCategories = (0, _element.useMemo)(() => {
102
+ const categories = allCategories.filter(category => allPatterns.some(pattern => {
103
+ var _pattern$categories3;
104
+
105
+ return (_pattern$categories3 = pattern.categories) === null || _pattern$categories3 === void 0 ? void 0 : _pattern$categories3.includes(category.name);
106
+ })).sort((_ref4, _ref5) => {
107
+ let {
108
+ name: currentName
109
+ } = _ref4;
110
+ let {
111
+ name: nextName
112
+ } = _ref5;
113
+
114
+ if (![currentName, nextName].includes('featured')) {
115
+ return 0;
116
+ }
117
+
118
+ return currentName === 'featured' ? -1 : 1;
119
+ });
120
+
121
+ if (allPatterns.some(pattern => !hasRegisteredCategory(pattern)) && !categories.find(category => category.name === 'uncategorized')) {
122
+ categories.push({
123
+ name: 'uncategorized',
124
+ label: (0, _i18n._x)('Uncategorized')
125
+ });
126
+ }
127
+
128
+ return categories;
129
+ }, [allPatterns, allCategories]);
130
+ const patternCategory = selectedCategory ? selectedCategory : populatedCategories[0];
131
+ return (0, _element.createElement)(_element.Fragment, null, !showPatternsExplorer && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_patternPanel.default, {
132
+ selectedCategory: patternCategory,
133
+ patternCategories: populatedCategories,
134
+ onClickCategory: onClickCategory,
135
+ openPatternExplorer: () => setShowPatternsExplorer(true)
136
+ }), (0, _element.createElement)(BlockPatternsCategory, {
106
137
  rootClientId: rootClientId,
107
- selectedCategory: selectedCategory,
108
138
  onInsert: onInsert,
109
- onClickCategory: onClickCategory
110
- });
139
+ selectedCategory: patternCategory,
140
+ populatedCategories: populatedCategories
141
+ })), showPatternsExplorer && (0, _element.createElement)(_explorer.default, {
142
+ initialCategory: patternCategory,
143
+ patternCategories: populatedCategories,
144
+ onModalClose: () => setShowPatternsExplorer(false)
145
+ }));
111
146
  }
112
147
 
113
148
  var _default = BlockPatternsTabs;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab.js"],"names":["BlockPatternsCategory","rootClientId","onInsert","selectedCategory","onClickCategory","allPatterns","allCategories","onClick","populatedCategories","filter","category","some","pattern","categories","includes","name","sort","currentName","nextName","patternCategory","getPatternIndex","Infinity","find","push","label","length","indexedCategories","map","index","Math","min","cat","undefined","currentCategoryPatterns","orderedPatterns","a","b","currentShownPatterns","BlockPatternsTabs"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AAKA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAKA,SAASA,qBAAT,CAAgC;AAC/BC,EAAAA,YAD+B;AAE/BC,EAAAA,QAF+B;AAG/BC,EAAAA,gBAH+B;AAI/BC,EAAAA;AAJ+B,CAAhC,EAKI;AACH,QAAM,CAAEC,WAAF,EAAeC,aAAf,EAA8BC,OAA9B,IAA0C,+BAC/CL,QAD+C,EAE/CD,YAF+C,CAAhD,CADG,CAMH;;AACA,QAAMO,mBAAmB,GAAG,sBAC3B,MACCF,aAAa,CACXG,MADF,CACYC,QAAF,IACRL,WAAW,CAACM,IAAZ,CAAoBC,OAAF;AAAA;;AAAA,kCACjBA,OAAO,CAACC,UADS,wDACjB,oBAAoBC,QAApB,CAA8BJ,QAAQ,CAACK,IAAvC,CADiB;AAAA,GAAlB,CAFF,EAMEC,IANF,CAMQ,CAAE;AAAED,IAAAA,IAAI,EAAEE;AAAR,GAAF,EAAyB;AAAEF,IAAAA,IAAI,EAAEG;AAAR,GAAzB,KAAiD;AACvD,QAAK,CAAE,CAAED,WAAF,EAAeC,QAAf,EAA0BJ,QAA1B,CAAoC,UAApC,CAAP,EAA0D;AACzD,aAAO,CAAP;AACA;;AACD,WAAOG,WAAW,KAAK,UAAhB,GAA6B,CAAC,CAA9B,GAAkC,CAAzC;AACA,GAXF,CAF0B,EAc3B,CAAEZ,WAAF,EAAeC,aAAf,CAd2B,CAA5B;AAiBA,QAAMa,eAAe,GAAGhB,gBAAgB,GACrCA,gBADqC,GAErCK,mBAAmB,CAAE,CAAF,CAFtB;AAIA,0BAAW,MAAM;AAChB,QACCH,WAAW,CAACM,IAAZ,CACGC,OAAF,IAAeQ,eAAe,CAAER,OAAF,CAAf,KAA+BS,QAD/C,KAGA,CAAEb,mBAAmB,CAACc,IAApB,CACCZ,QAAF,IAAgBA,QAAQ,CAACK,IAAT,KAAkB,eADjC,CAJH,EAOE;AACDP,MAAAA,mBAAmB,CAACe,IAApB,CAA0B;AACzBR,QAAAA,IAAI,EAAE,eADmB;AAEzBS,QAAAA,KAAK,EAAE,cAAI,eAAJ;AAFkB,OAA1B;AAIA;AACD,GAdD,EAcG,CAAEhB,mBAAF,EAAuBH,WAAvB,CAdH;AAgBA,QAAMe,eAAe,GAAG,0BACrBR,OAAF,IAAe;AACd,QAAK,CAAEA,OAAO,CAACC,UAAV,IAAwB,CAAED,OAAO,CAACC,UAAR,CAAmBY,MAAlD,EAA2D;AAC1D,aAAOJ,QAAP;AACA;;AACD,UAAMK,iBAAiB,GAAG,uBACzBlB,mBAAmB,CAACmB,GAApB,CAAyB,CAAE;AAAEZ,MAAAA;AAAF,KAAF,EAAYa,KAAZ,KAAuB,CAC/Cb,IAD+C,EAE/Ca,KAF+C,CAAhD,CADyB,CAA1B;AAMA,WAAOC,IAAI,CAACC,GAAL,CACN,GAAGlB,OAAO,CAACC,UAAR,CAAmBc,GAAnB,CAA0BI,GAAF,IAC1BL,iBAAiB,CAAEK,GAAF,CAAjB,KAA6BC,SAA7B,GACGN,iBAAiB,CAAEK,GAAF,CADpB,GAEGV,QAHD,CADG,CAAP;AAOA,GAlBsB,EAmBvB,CAAEb,mBAAF,CAnBuB,CAAxB;AAsBA,QAAMyB,uBAAuB,GAAG,sBAC/B,MACC5B,WAAW,CAACI,MAAZ,CAAsBG,OAAF,IACnBO,eAAe,CAACJ,IAAhB,KAAyB,eAAzB,GACGK,eAAe,CAAER,OAAF,CAAf,KAA+BS,QADlC,GAEGT,OAAO,CAACC,UAAR,IACAD,OAAO,CAACC,UAAR,CAAmBC,QAAnB,CAA6BK,eAAe,CAACJ,IAA7C,CAJJ,CAF8B,EAQ/B,CAAEV,WAAF,EAAec,eAAf,CAR+B,CAAhC,CAlEG,CA6EH;;AACA,QAAMe,eAAe,GAAG,sBAAS,MAAM;AACtC,WAAOD,uBAAuB,CAACjB,IAAxB,CAA8B,CAAEmB,CAAF,EAAKC,CAAL,KAAY;AAChD,aAAOhB,eAAe,CAAEe,CAAF,CAAf,GAAuBf,eAAe,CAAEgB,CAAF,CAA7C;AACA,KAFM,CAAP;AAGA,GAJuB,EAIrB,CAAEH,uBAAF,EAA2Bb,eAA3B,CAJqB,CAAxB;AAMA,QAAMiB,oBAAoB,GAAG,2BAAcH,eAAd,CAA7B;AAEA,SACC,qDACG,CAAC,CAAED,uBAAuB,CAACR,MAA3B,IACD,4BAAC,qBAAD;AACC,IAAA,gBAAgB,EAAGN,eADpB;AAEC,IAAA,iBAAiB,EAAGX,mBAFrB;AAGC,IAAA,eAAe,EAAGJ;AAHnB,KAKC,4BAAC,0BAAD;AACC,IAAA,aAAa,EAAGiC,oBADjB;AAEC,IAAA,aAAa,EAAGJ,uBAFjB;AAGC,IAAA,cAAc,EAAG1B,OAHlB;AAIC,IAAA,KAAK,EAAGY,eAAe,CAACK,KAJzB;AAKC,IAAA,WAAW,EAAC,UALb;AAMC,IAAA,WAAW;AANZ,IALD,CAFF,CADD;AAoBA;;AAED,SAASc,iBAAT,CAA4B;AAC3BrC,EAAAA,YAD2B;AAE3BC,EAAAA,QAF2B;AAG3BE,EAAAA,eAH2B;AAI3BD,EAAAA;AAJ2B,CAA5B,EAKI;AACH,SACC,4BAAC,qBAAD;AACC,IAAA,YAAY,EAAGF,YADhB;AAEC,IAAA,gBAAgB,EAAGE,gBAFpB;AAGC,IAAA,QAAQ,EAAGD,QAHZ;AAIC,IAAA,eAAe,EAAGE;AAJnB,IADD;AAQA;;eAEckC,iB","sourcesContent":["/**\n * External dependencies\n */\nimport { fromPairs } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternInserterPanel from './pattern-panel';\nimport usePatternsState from './hooks/use-patterns-state';\nimport BlockPatternList from '../block-patterns-list';\n\nfunction BlockPatternsCategory( {\n\trootClientId,\n\tonInsert,\n\tselectedCategory,\n\tonClickCategory,\n} ) {\n\tconst [ allPatterns, allCategories, onClick ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId\n\t);\n\n\t// Remove any empty categories\n\tconst populatedCategories = useMemo(\n\t\t() =>\n\t\t\tallCategories\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\tallPatterns.some( ( pattern ) =>\n\t\t\t\t\t\tpattern.categories?.includes( category.name )\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.sort( ( { name: currentName }, { name: nextName } ) => {\n\t\t\t\t\tif ( ! [ currentName, nextName ].includes( 'featured' ) ) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t\treturn currentName === 'featured' ? -1 : 1;\n\t\t\t\t} ),\n\t\t[ allPatterns, allCategories ]\n\t);\n\n\tconst patternCategory = selectedCategory\n\t\t? selectedCategory\n\t\t: populatedCategories[ 0 ];\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tallPatterns.some(\n\t\t\t\t( pattern ) => getPatternIndex( pattern ) === Infinity\n\t\t\t) &&\n\t\t\t! populatedCategories.find(\n\t\t\t\t( category ) => category.name === 'uncategorized'\n\t\t\t)\n\t\t) {\n\t\t\tpopulatedCategories.push( {\n\t\t\t\tname: 'uncategorized',\n\t\t\t\tlabel: _x( 'Uncategorized' ),\n\t\t\t} );\n\t\t}\n\t}, [ populatedCategories, allPatterns ] );\n\n\tconst getPatternIndex = useCallback(\n\t\t( pattern ) => {\n\t\t\tif ( ! pattern.categories || ! pattern.categories.length ) {\n\t\t\t\treturn Infinity;\n\t\t\t}\n\t\t\tconst indexedCategories = fromPairs(\n\t\t\t\tpopulatedCategories.map( ( { name }, index ) => [\n\t\t\t\t\tname,\n\t\t\t\t\tindex,\n\t\t\t\t] )\n\t\t\t);\n\t\t\treturn Math.min(\n\t\t\t\t...pattern.categories.map( ( cat ) =>\n\t\t\t\t\tindexedCategories[ cat ] !== undefined\n\t\t\t\t\t\t? indexedCategories[ cat ]\n\t\t\t\t\t\t: Infinity\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[ populatedCategories ]\n\t);\n\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) =>\n\t\t\t\tpatternCategory.name === 'uncategorized'\n\t\t\t\t\t? getPatternIndex( pattern ) === Infinity\n\t\t\t\t\t: pattern.categories &&\n\t\t\t\t\t pattern.categories.includes( patternCategory.name )\n\t\t\t),\n\t\t[ allPatterns, patternCategory ]\n\t);\n\n\t// Ordering the patterns is important for the async rendering.\n\tconst orderedPatterns = useMemo( () => {\n\t\treturn currentCategoryPatterns.sort( ( a, b ) => {\n\t\t\treturn getPatternIndex( a ) - getPatternIndex( b );\n\t\t} );\n\t}, [ currentCategoryPatterns, getPatternIndex ] );\n\n\tconst currentShownPatterns = useAsyncList( orderedPatterns );\n\n\treturn (\n\t\t<>\n\t\t\t{ !! currentCategoryPatterns.length && (\n\t\t\t\t<PatternInserterPanel\n\t\t\t\t\tselectedCategory={ patternCategory }\n\t\t\t\t\tpatternCategories={ populatedCategories }\n\t\t\t\t\tonClickCategory={ onClickCategory }\n\t\t\t\t>\n\t\t\t\t\t<BlockPatternList\n\t\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\t\tblockPatterns={ currentCategoryPatterns }\n\t\t\t\t\t\tonClickPattern={ onClick }\n\t\t\t\t\t\tlabel={ patternCategory.label }\n\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\tisDraggable\n\t\t\t\t\t/>\n\t\t\t\t</PatternInserterPanel>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction BlockPatternsTabs( {\n\trootClientId,\n\tonInsert,\n\tonClickCategory,\n\tselectedCategory,\n} ) {\n\treturn (\n\t\t<BlockPatternsCategory\n\t\t\trootClientId={ rootClientId }\n\t\t\tselectedCategory={ selectedCategory }\n\t\t\tonInsert={ onInsert }\n\t\t\tonClickCategory={ onClickCategory }\n\t\t/>\n\t);\n}\n\nexport default BlockPatternsTabs;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab.js"],"names":["BlockPatternsCategory","rootClientId","onInsert","selectedCategory","populatedCategories","allPatterns","onClick","getPatternIndex","pattern","categories","length","Infinity","indexedCategories","reduce","accumulator","index","name","Math","min","map","cat","undefined","currentCategoryPatterns","filter","includes","orderedPatterns","sort","a","b","currentShownPatterns","label","BlockPatternsTabs","onClickCategory","showPatternsExplorer","setShowPatternsExplorer","allCategories","hasRegisteredCategory","some","category","currentName","nextName","find","push","patternCategory"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState, useCallback } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternInserterPanel from './pattern-panel';\nimport usePatternsState from './hooks/use-patterns-state';\nimport BlockPatternList from '../block-patterns-list';\nimport PatternsExplorerModal from './block-patterns-explorer/explorer';\n\nfunction BlockPatternsCategory( {\n\trootClientId,\n\tonInsert,\n\tselectedCategory,\n\tpopulatedCategories,\n} ) {\n\tconst [ allPatterns, , onClick ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId\n\t);\n\n\tconst getPatternIndex = useCallback(\n\t\t( pattern ) => {\n\t\t\tif ( ! pattern.categories?.length ) {\n\t\t\t\treturn Infinity;\n\t\t\t}\n\t\t\tconst indexedCategories = populatedCategories.reduce(\n\t\t\t\t( accumulator, { name }, index ) => {\n\t\t\t\t\taccumulator[ name ] = index;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t\treturn Math.min(\n\t\t\t\t...pattern.categories.map( ( cat ) =>\n\t\t\t\t\tindexedCategories[ cat ] !== undefined\n\t\t\t\t\t\t? indexedCategories[ cat ]\n\t\t\t\t\t\t: Infinity\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[ populatedCategories ]\n\t);\n\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) =>\n\t\t\t\tselectedCategory.name === 'uncategorized'\n\t\t\t\t\t? getPatternIndex( pattern ) === Infinity\n\t\t\t\t\t: pattern.categories?.includes( selectedCategory.name )\n\t\t\t),\n\t\t[ allPatterns, selectedCategory ]\n\t);\n\n\t// Ordering the patterns is important for the async rendering.\n\tconst orderedPatterns = useMemo( () => {\n\t\treturn currentCategoryPatterns.sort( ( a, b ) => {\n\t\t\treturn getPatternIndex( a ) - getPatternIndex( b );\n\t\t} );\n\t}, [ currentCategoryPatterns, getPatternIndex ] );\n\n\tconst currentShownPatterns = useAsyncList( orderedPatterns );\n\n\tif ( ! currentCategoryPatterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__panel-content\">\n\t\t\t<BlockPatternList\n\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\tblockPatterns={ currentCategoryPatterns }\n\t\t\t\tonClickPattern={ onClick }\n\t\t\t\tlabel={ selectedCategory.label }\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tisDraggable\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsTabs( {\n\trootClientId,\n\tonInsert,\n\tonClickCategory,\n\tselectedCategory,\n} ) {\n\tconst [ showPatternsExplorer, setShowPatternsExplorer ] = useState( false );\n\tconst [ allPatterns, allCategories ] = usePatternsState();\n\n\tconst hasRegisteredCategory = useCallback(\n\t\t( pattern ) => {\n\t\t\tif ( ! pattern.categories || ! pattern.categories.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn pattern.categories.some( ( cat ) =>\n\t\t\t\tallCategories.some( ( category ) => category.name === cat )\n\t\t\t);\n\t\t},\n\t\t[ allCategories ]\n\t);\n\n\t// Remove any empty categories\n\tconst populatedCategories = useMemo( () => {\n\t\tconst categories = allCategories\n\t\t\t.filter( ( category ) =>\n\t\t\t\tallPatterns.some( ( pattern ) =>\n\t\t\t\t\tpattern.categories?.includes( category.name )\n\t\t\t\t)\n\t\t\t)\n\t\t\t.sort( ( { name: currentName }, { name: nextName } ) => {\n\t\t\t\tif ( ! [ currentName, nextName ].includes( 'featured' ) ) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\treturn currentName === 'featured' ? -1 : 1;\n\t\t\t} );\n\n\t\tif (\n\t\t\tallPatterns.some(\n\t\t\t\t( pattern ) => ! hasRegisteredCategory( pattern )\n\t\t\t) &&\n\t\t\t! categories.find(\n\t\t\t\t( category ) => category.name === 'uncategorized'\n\t\t\t)\n\t\t) {\n\t\t\tcategories.push( {\n\t\t\t\tname: 'uncategorized',\n\t\t\t\tlabel: _x( 'Uncategorized' ),\n\t\t\t} );\n\t\t}\n\n\t\treturn categories;\n\t}, [ allPatterns, allCategories ] );\n\n\tconst patternCategory = selectedCategory\n\t\t? selectedCategory\n\t\t: populatedCategories[ 0 ];\n\n\treturn (\n\t\t<>\n\t\t\t{ ! showPatternsExplorer && (\n\t\t\t\t<>\n\t\t\t\t\t<PatternInserterPanel\n\t\t\t\t\t\tselectedCategory={ patternCategory }\n\t\t\t\t\t\tpatternCategories={ populatedCategories }\n\t\t\t\t\t\tonClickCategory={ onClickCategory }\n\t\t\t\t\t\topenPatternExplorer={ () =>\n\t\t\t\t\t\t\tsetShowPatternsExplorer( true )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockPatternsCategory\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tselectedCategory={ patternCategory }\n\t\t\t\t\t\tpopulatedCategories={ populatedCategories }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showPatternsExplorer && (\n\t\t\t\t<PatternsExplorerModal\n\t\t\t\t\tinitialCategory={ patternCategory }\n\t\t\t\t\tpatternCategories={ populatedCategories }\n\t\t\t\t\tonModalClose={ () => setShowPatternsExplorer( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default BlockPatternsTabs;\n"]}
@@ -47,12 +47,13 @@ const MAX_SUGGESTED_ITEMS = 6;
47
47
 
48
48
  const EMPTY_ARRAY = [];
49
49
 
50
- function BlockTypesTab({
51
- rootClientId,
52
- onInsert,
53
- onHover,
54
- showMostUsedBlocks
55
- }) {
50
+ function BlockTypesTab(_ref) {
51
+ let {
52
+ rootClientId,
53
+ onInsert,
54
+ onHover,
55
+ showMostUsedBlocks
56
+ } = _ref;
56
57
  const [items, categories, collections, onSelectItem] = (0, _useBlockTypesState.default)(rootClientId, onInsert);
57
58
  const suggestedItems = (0, _element.useMemo)(() => {
58
59
  return (0, _lodash.orderBy)(items, ['frecency'], ['desc']).slice(0, MAX_SUGGESTED_ITEMS);
@@ -124,7 +125,8 @@ function BlockTypesTab({
124
125
  onSelect: onSelectItem,
125
126
  onHover: onHover,
126
127
  label: (0, _i18n.__)('Uncategorized')
127
- })), (0, _lodash.map)(currentlyRenderedCollections, ([namespace, collection]) => {
128
+ })), (0, _lodash.map)(currentlyRenderedCollections, _ref2 => {
129
+ let [namespace, collection] = _ref2;
128
130
  const collectionItems = itemsPerCollection[namespace];
129
131
 
130
132
  if (!collectionItems || !collectionItems.length) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.js"],"names":["getBlockNamespace","item","name","split","MAX_SUGGESTED_ITEMS","EMPTY_ARRAY","BlockTypesTab","rootClientId","onInsert","onHover","showMostUsedBlocks","items","categories","collections","onSelectItem","suggestedItems","slice","uncategorizedItems","filter","category","itemsPerCategory","itemList","itemsPerCollection","result","Object","keys","forEach","namespace","length","currentlyRenderedCategories","didRenderAllCategories","collectionEntries","entries","currentlyRenderedCollections","categoryItems","slug","title","icon","collection","collectionItems"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, flow, groupBy, orderBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport InserterPanel from './panel';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport InserterListbox from '../inserter-listbox';\n\nconst getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];\n\nconst MAX_SUGGESTED_ITEMS = 6;\n\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\nexport function BlockTypesTab( {\n\trootClientId,\n\tonInsert,\n\tonHover,\n\tshowMostUsedBlocks,\n} ) {\n\tconst [ items, categories, collections, onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tconst suggestedItems = useMemo( () => {\n\t\treturn orderBy( items, [ 'frecency' ], [ 'desc' ] ).slice(\n\t\t\t0,\n\t\t\tMAX_SUGGESTED_ITEMS\n\t\t);\n\t}, [ items ] );\n\n\tconst uncategorizedItems = useMemo( () => {\n\t\treturn items.filter( ( item ) => ! item.category );\n\t}, [ items ] );\n\n\tconst itemsPerCategory = useMemo( () => {\n\t\treturn flow(\n\t\t\t( itemList ) =>\n\t\t\t\titemList.filter(\n\t\t\t\t\t( item ) => item.category && item.category !== 'reusable'\n\t\t\t\t),\n\t\t\t( itemList ) => groupBy( itemList, 'category' )\n\t\t)( items );\n\t}, [ items ] );\n\n\tconst itemsPerCollection = useMemo( () => {\n\t\t// Create a new Object to avoid mutating collection.\n\t\tconst result = { ...collections };\n\t\tObject.keys( collections ).forEach( ( namespace ) => {\n\t\t\tresult[ namespace ] = items.filter(\n\t\t\t\t( item ) => getBlockNamespace( item ) === namespace\n\t\t\t);\n\t\t\tif ( result[ namespace ].length === 0 ) {\n\t\t\t\tdelete result[ namespace ];\n\t\t\t}\n\t\t} );\n\n\t\treturn result;\n\t}, [ items, collections ] );\n\n\t// Hide block preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\t/**\n\t * The inserter contains a big number of blocks and opening it is a costful operation.\n\t * The rendering is the most costful part of it, in order to improve the responsiveness\n\t * of the \"opening\" action, these lazy lists allow us to render the inserter category per category,\n\t * once all the categories are rendered, we start rendering the collections and the uncategorized block types.\n\t */\n\tconst currentlyRenderedCategories = useAsyncList( categories );\n\tconst didRenderAllCategories =\n\t\tcategories.length === currentlyRenderedCategories.length;\n\n\t// Async List requires an array\n\tconst collectionEntries = useMemo( () => {\n\t\treturn Object.entries( collections );\n\t}, [ collections ] );\n\tconst currentlyRenderedCollections = useAsyncList(\n\t\tdidRenderAllCategories ? collectionEntries : EMPTY_ARRAY\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t<div>\n\t\t\t\t{ showMostUsedBlocks && !! suggestedItems.length && (\n\t\t\t\t\t<InserterPanel title={ _x( 'Most used', 'blocks' ) }>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ suggestedItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ _x( 'Most used', 'blocks' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t) }\n\n\t\t\t\t{ map( currentlyRenderedCategories, ( category ) => {\n\t\t\t\t\tconst categoryItems = itemsPerCategory[ category.slug ];\n\t\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\t\ticon={ category.icon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\t\titems={ categoryItems }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\t\tlabel={ category.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InserterPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\n\t\t\t\t{ didRenderAllCategories && uncategorizedItems.length > 0 && (\n\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\tclassName=\"block-editor-inserter__uncategorized-blocks-panel\"\n\t\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ uncategorizedItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ __( 'Uncategorized' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t) }\n\n\t\t\t\t{ map(\n\t\t\t\t\tcurrentlyRenderedCollections,\n\t\t\t\t\t( [ namespace, collection ] ) => {\n\t\t\t\t\t\tconst collectionItems = itemsPerCollection[ namespace ];\n\t\t\t\t\t\tif ( ! collectionItems || ! collectionItems.length ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\t\tkey={ namespace }\n\t\t\t\t\t\t\t\ttitle={ collection.title }\n\t\t\t\t\t\t\t\ticon={ collection.icon }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\t\t\titems={ collectionItems }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\t\t\tlabel={ collection.title }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</InserterPanel>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</InserterListbox>\n\t);\n}\n\nexport default BlockTypesTab;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.js"],"names":["getBlockNamespace","item","name","split","MAX_SUGGESTED_ITEMS","EMPTY_ARRAY","BlockTypesTab","rootClientId","onInsert","onHover","showMostUsedBlocks","items","categories","collections","onSelectItem","suggestedItems","slice","uncategorizedItems","filter","category","itemsPerCategory","itemList","itemsPerCollection","result","Object","keys","forEach","namespace","length","currentlyRenderedCategories","didRenderAllCategories","collectionEntries","entries","currentlyRenderedCollections","categoryItems","slug","title","icon","collection","collectionItems"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, flow, groupBy, orderBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport InserterPanel from './panel';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport InserterListbox from '../inserter-listbox';\n\nconst getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];\n\nconst MAX_SUGGESTED_ITEMS = 6;\n\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\nexport function BlockTypesTab( {\n\trootClientId,\n\tonInsert,\n\tonHover,\n\tshowMostUsedBlocks,\n} ) {\n\tconst [ items, categories, collections, onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tconst suggestedItems = useMemo( () => {\n\t\treturn orderBy( items, [ 'frecency' ], [ 'desc' ] ).slice(\n\t\t\t0,\n\t\t\tMAX_SUGGESTED_ITEMS\n\t\t);\n\t}, [ items ] );\n\n\tconst uncategorizedItems = useMemo( () => {\n\t\treturn items.filter( ( item ) => ! item.category );\n\t}, [ items ] );\n\n\tconst itemsPerCategory = useMemo( () => {\n\t\treturn flow(\n\t\t\t( itemList ) =>\n\t\t\t\titemList.filter(\n\t\t\t\t\t( item ) => item.category && item.category !== 'reusable'\n\t\t\t\t),\n\t\t\t( itemList ) => groupBy( itemList, 'category' )\n\t\t)( items );\n\t}, [ items ] );\n\n\tconst itemsPerCollection = useMemo( () => {\n\t\t// Create a new Object to avoid mutating collection.\n\t\tconst result = { ...collections };\n\t\tObject.keys( collections ).forEach( ( namespace ) => {\n\t\t\tresult[ namespace ] = items.filter(\n\t\t\t\t( item ) => getBlockNamespace( item ) === namespace\n\t\t\t);\n\t\t\tif ( result[ namespace ].length === 0 ) {\n\t\t\t\tdelete result[ namespace ];\n\t\t\t}\n\t\t} );\n\n\t\treturn result;\n\t}, [ items, collections ] );\n\n\t// Hide block preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\t/**\n\t * The inserter contains a big number of blocks and opening it is a costful operation.\n\t * The rendering is the most costful part of it, in order to improve the responsiveness\n\t * of the \"opening\" action, these lazy lists allow us to render the inserter category per category,\n\t * once all the categories are rendered, we start rendering the collections and the uncategorized block types.\n\t */\n\tconst currentlyRenderedCategories = useAsyncList( categories );\n\tconst didRenderAllCategories =\n\t\tcategories.length === currentlyRenderedCategories.length;\n\n\t// Async List requires an array\n\tconst collectionEntries = useMemo( () => {\n\t\treturn Object.entries( collections );\n\t}, [ collections ] );\n\tconst currentlyRenderedCollections = useAsyncList(\n\t\tdidRenderAllCategories ? collectionEntries : EMPTY_ARRAY\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t<div>\n\t\t\t\t{ showMostUsedBlocks && !! suggestedItems.length && (\n\t\t\t\t\t<InserterPanel title={ _x( 'Most used', 'blocks' ) }>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ suggestedItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ _x( 'Most used', 'blocks' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t) }\n\n\t\t\t\t{ map( currentlyRenderedCategories, ( category ) => {\n\t\t\t\t\tconst categoryItems = itemsPerCategory[ category.slug ];\n\t\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\t\ticon={ category.icon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\t\titems={ categoryItems }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\t\tlabel={ category.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InserterPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\n\t\t\t\t{ didRenderAllCategories && uncategorizedItems.length > 0 && (\n\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\tclassName=\"block-editor-inserter__uncategorized-blocks-panel\"\n\t\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ uncategorizedItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ __( 'Uncategorized' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t) }\n\n\t\t\t\t{ map(\n\t\t\t\t\tcurrentlyRenderedCollections,\n\t\t\t\t\t( [ namespace, collection ] ) => {\n\t\t\t\t\t\tconst collectionItems = itemsPerCollection[ namespace ];\n\t\t\t\t\t\tif ( ! collectionItems || ! collectionItems.length ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\t\tkey={ namespace }\n\t\t\t\t\t\t\t\ttitle={ collection.title }\n\t\t\t\t\t\t\t\ticon={ collection.icon }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\t\t\titems={ collectionItems }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\t\t\tlabel={ collection.title }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</InserterPanel>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</InserterListbox>\n\t);\n}\n\nexport default BlockTypesTab;\n"]}
@@ -28,11 +28,12 @@ var _utils = require("./utils");
28
28
  /**
29
29
  * Internal dependencies
30
30
  */
31
- function BlockTypesTab({
32
- onSelect,
33
- rootClientId,
34
- listProps
35
- }) {
31
+ function BlockTypesTab(_ref) {
32
+ let {
33
+ onSelect,
34
+ rootClientId,
35
+ listProps
36
+ } = _ref;
36
37
  const clipboardBlock = (0, _useClipboardBlock.default)(rootClientId);
37
38
  const {
38
39
  blockTypes
@@ -50,9 +51,9 @@ function BlockTypesTab({
50
51
  trackBlockTypeSelected
51
52
  } = (0, _useBlockTypeImpressions.default)(blockTypes);
52
53
 
53
- const handleSelect = (...args) => {
54
- trackBlockTypeSelected(...args);
55
- onSelect(...args);
54
+ const handleSelect = function () {
55
+ trackBlockTypeSelected(...arguments);
56
+ onSelect(...arguments);
56
57
  };
57
58
 
58
59
  return (0, _element.createElement)(_blockTypesList.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.native.js"],"names":["BlockTypesTab","onSelect","rootClientId","listProps","clipboardBlock","blockTypes","select","getInserterItems","blockEditorStore","blockItems","items","trackBlockTypeSelected","handleSelect","args"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAZA;AACA;AACA;;AAGA;AACA;AACA;AAOA,SAASA,aAAT,CAAwB;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,YAAZ;AAA0BC,EAAAA;AAA1B,CAAxB,EAAgE;AAC/D,QAAMC,cAAc,GAAG,gCAAmBF,YAAnB,CAAvB;AAEA,QAAM;AAAEG,IAAAA;AAAF,MAAiB,qBACpBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAEE,YAAF,CAAnC;AACA,UAAMC,UAAU,GAAG,gCAClBF,gBAAgB,CAAEL,YAAF,CADE,CAAnB;AAIA,WAAO;AACNG,MAAAA,UAAU,EAAED,cAAc,GACvB,CAAEA,cAAF,EAAkB,GAAGK,UAArB,CADuB,GAEvBA;AAHG,KAAP;AAKA,GAZqB,EAatB,CAAEP,YAAF,CAbsB,CAAvB;AAgBA,QAAM;AAAEQ,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAoC,sCACzCN,UADyC,CAA1C;;AAIA,QAAMO,YAAY,GAAG,CAAE,GAAGC,IAAL,KAAe;AACnCF,IAAAA,sBAAsB,CAAE,GAAGE,IAAL,CAAtB;AACAZ,IAAAA,QAAQ,CAAE,GAAGY,IAAL,CAAR;AACA,GAHD;;AAKA,SACC,4BAAC,uBAAD;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,KAAK,EAAGH,KAFT;AAGC,IAAA,QAAQ,EAAGE,YAHZ;AAIC,IAAA,SAAS,EAAGT;AAJb,IADD;AAQA;;eAEcH,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport useClipboardBlock from './hooks/use-clipboard-block';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockTypeImpressions from './hooks/use-block-type-impressions';\nimport { filterInserterItems } from './utils';\n\nfunction BlockTypesTab( { onSelect, rootClientId, listProps } ) {\n\tconst clipboardBlock = useClipboardBlock( rootClientId );\n\n\tconst { blockTypes } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getInserterItems } = select( blockEditorStore );\n\t\t\tconst blockItems = filterInserterItems(\n\t\t\t\tgetInserterItems( rootClientId )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tblockTypes: clipboardBlock\n\t\t\t\t\t? [ clipboardBlock, ...blockItems ]\n\t\t\t\t\t: blockItems,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst { items, trackBlockTypeSelected } = useBlockTypeImpressions(\n\t\tblockTypes\n\t);\n\n\tconst handleSelect = ( ...args ) => {\n\t\ttrackBlockTypeSelected( ...args );\n\t\tonSelect( ...args );\n\t};\n\n\treturn (\n\t\t<BlockTypesList\n\t\t\tname=\"Blocks\"\n\t\t\titems={ items }\n\t\t\tonSelect={ handleSelect }\n\t\t\tlistProps={ listProps }\n\t\t/>\n\t);\n}\n\nexport default BlockTypesTab;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.native.js"],"names":["BlockTypesTab","onSelect","rootClientId","listProps","clipboardBlock","blockTypes","select","getInserterItems","blockEditorStore","blockItems","items","trackBlockTypeSelected","handleSelect"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAZA;AACA;AACA;;AAGA;AACA;AACA;AAOA,SAASA,aAAT,OAAgE;AAAA,MAAxC;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,YAAZ;AAA0BC,IAAAA;AAA1B,GAAwC;AAC/D,QAAMC,cAAc,GAAG,gCAAmBF,YAAnB,CAAvB;AAEA,QAAM;AAAEG,IAAAA;AAAF,MAAiB,qBACpBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAEE,YAAF,CAAnC;AACA,UAAMC,UAAU,GAAG,gCAClBF,gBAAgB,CAAEL,YAAF,CADE,CAAnB;AAIA,WAAO;AACNG,MAAAA,UAAU,EAAED,cAAc,GACvB,CAAEA,cAAF,EAAkB,GAAGK,UAArB,CADuB,GAEvBA;AAHG,KAAP;AAKA,GAZqB,EAatB,CAAEP,YAAF,CAbsB,CAAvB;AAgBA,QAAM;AAAEQ,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAoC,sCACzCN,UADyC,CAA1C;;AAIA,QAAMO,YAAY,GAAG,YAAe;AACnCD,IAAAA,sBAAsB,CAAE,YAAF,CAAtB;AACAV,IAAAA,QAAQ,CAAE,YAAF,CAAR;AACA,GAHD;;AAKA,SACC,4BAAC,uBAAD;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,KAAK,EAAGS,KAFT;AAGC,IAAA,QAAQ,EAAGE,YAHZ;AAIC,IAAA,SAAS,EAAGT;AAJb,IADD;AAQA;;eAEcH,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport useClipboardBlock from './hooks/use-clipboard-block';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockTypeImpressions from './hooks/use-block-type-impressions';\nimport { filterInserterItems } from './utils';\n\nfunction BlockTypesTab( { onSelect, rootClientId, listProps } ) {\n\tconst clipboardBlock = useClipboardBlock( rootClientId );\n\n\tconst { blockTypes } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getInserterItems } = select( blockEditorStore );\n\t\t\tconst blockItems = filterInserterItems(\n\t\t\t\tgetInserterItems( rootClientId )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tblockTypes: clipboardBlock\n\t\t\t\t\t? [ clipboardBlock, ...blockItems ]\n\t\t\t\t\t: blockItems,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst { items, trackBlockTypeSelected } = useBlockTypeImpressions(\n\t\tblockTypes\n\t);\n\n\tconst handleSelect = ( ...args ) => {\n\t\ttrackBlockTypeSelected( ...args );\n\t\tonSelect( ...args );\n\t};\n\n\treturn (\n\t\t<BlockTypesList\n\t\t\tname=\"Blocks\"\n\t\t\titems={ items }\n\t\t\tonSelect={ handleSelect }\n\t\t\tlistProps={ listProps }\n\t\t/>\n\t);\n}\n\nexport default BlockTypesTab;\n"]}
@@ -20,31 +20,30 @@ var _store = require("../../../store");
20
20
  */
21
21
  function useBlockTypeImpressions(blockTypes) {
22
22
  const {
23
- blockTypeImpressions,
24
- enableEditorOnboarding
23
+ blockTypeImpressions
25
24
  } = (0, _data.useSelect)(select => {
26
25
  const {
27
26
  getSettings: getBlockEditorSettings
28
27
  } = select(_store.store);
29
28
  const {
30
- editorOnboarding,
31
29
  impressions
32
30
  } = getBlockEditorSettings();
33
31
  return {
34
- blockTypeImpressions: impressions,
35
- enableEditorOnboarding: editorOnboarding
32
+ blockTypeImpressions: impressions
36
33
  };
37
34
  }, []);
38
35
  const {
39
36
  updateSettings
40
37
  } = (0, _data.useDispatch)(_store.store);
41
- const items = enableEditorOnboarding ? blockTypes.map(blockType => ({ ...blockType,
38
+ const items = blockTypes.map(blockType => ({ ...blockType,
42
39
  isNew: blockTypeImpressions[blockType.name] > 0
43
- })) : blockTypes;
40
+ }));
41
+
42
+ const trackBlockTypeSelected = _ref => {
43
+ let {
44
+ name
45
+ } = _ref;
44
46
 
45
- const trackBlockTypeSelected = ({
46
- name
47
- }) => {
48
47
  if (blockTypeImpressions[name] > 0) {
49
48
  const updatedBlockTypeImpressions = { ...blockTypeImpressions,
50
49
  [name]: 0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-type-impressions.native.js"],"names":["useBlockTypeImpressions","blockTypes","blockTypeImpressions","enableEditorOnboarding","select","getSettings","getBlockEditorSettings","blockEditorStore","editorOnboarding","impressions","updateSettings","items","map","blockType","isNew","name","trackBlockTypeSelected","updatedBlockTypeImpressions"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGA,SAASA,uBAAT,CAAkCC,UAAlC,EAA+C;AAC9C,QAAM;AAAEC,IAAAA,oBAAF;AAAwBC,IAAAA;AAAxB,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,WAAW,EAAEC;AAAf,QAA0CF,MAAM,CACrDG,YADqD,CAAtD;AAGA,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAAoCH,sBAAsB,EAAhE;AAEA,WAAO;AACNJ,MAAAA,oBAAoB,EAAEO,WADhB;AAENN,MAAAA,sBAAsB,EAAEK;AAFlB,KAAP;AAIA,GAXuD,EAYxD,EAZwD,CAAzD;AAcA,QAAM;AAAEE,IAAAA;AAAF,MAAqB,uBAAaH,YAAb,CAA3B;AAEA,QAAMI,KAAK,GAAGR,sBAAsB,GACjCF,UAAU,CAACW,GAAX,CAAkBC,SAAF,KAAmB,EACnC,GAAGA,SADgC;AAEnCC,IAAAA,KAAK,EAAEZ,oBAAoB,CAAEW,SAAS,CAACE,IAAZ,CAApB,GAAyC;AAFb,GAAnB,CAAhB,CADiC,GAKjCd,UALH;;AAOA,QAAMe,sBAAsB,GAAG,CAAE;AAAED,IAAAA;AAAF,GAAF,KAAgB;AAC9C,QAAKb,oBAAoB,CAAEa,IAAF,CAApB,GAA+B,CAApC,EAAwC;AACvC,YAAME,2BAA2B,GAAG,EACnC,GAAGf,oBADgC;AAEnC,SAAEa,IAAF,GAAU;AAFyB,OAApC,CADuC,CAKvC;;AACAL,MAAAA,cAAc,CAAE;AACfD,QAAAA,WAAW,EAAEQ;AADE,OAAF,CAAd,CANuC,CAUvC;;AACA,sDAAyBA,2BAAzB;AACA;AACD,GAdD;;AAgBA,SAAO;AAAEN,IAAAA,KAAF;AAASK,IAAAA;AAAT,GAAP;AACA;;eAEchB,uB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\nfunction useBlockTypeImpressions( blockTypes ) {\n\tconst { blockTypeImpressions, enableEditorOnboarding } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings: getBlockEditorSettings } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { editorOnboarding, impressions } = getBlockEditorSettings();\n\n\t\t\treturn {\n\t\t\t\tblockTypeImpressions: impressions,\n\t\t\t\tenableEditorOnboarding: editorOnboarding,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { updateSettings } = useDispatch( blockEditorStore );\n\n\tconst items = enableEditorOnboarding\n\t\t? blockTypes.map( ( blockType ) => ( {\n\t\t\t\t...blockType,\n\t\t\t\tisNew: blockTypeImpressions[ blockType.name ] > 0,\n\t\t } ) )\n\t\t: blockTypes;\n\n\tconst trackBlockTypeSelected = ( { name } ) => {\n\t\tif ( blockTypeImpressions[ name ] > 0 ) {\n\t\t\tconst updatedBlockTypeImpressions = {\n\t\t\t\t...blockTypeImpressions,\n\t\t\t\t[ name ]: 0,\n\t\t\t};\n\t\t\t// Persist block type impression to JavaScript store\n\t\t\tupdateSettings( {\n\t\t\t\timpressions: updatedBlockTypeImpressions,\n\t\t\t} );\n\n\t\t\t// Persist block type impression count to native app store\n\t\t\tsetBlockTypeImpressions( updatedBlockTypeImpressions );\n\t\t}\n\t};\n\n\treturn { items, trackBlockTypeSelected };\n}\n\nexport default useBlockTypeImpressions;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-type-impressions.native.js"],"names":["useBlockTypeImpressions","blockTypes","blockTypeImpressions","select","getSettings","getBlockEditorSettings","blockEditorStore","impressions","updateSettings","items","map","blockType","isNew","name","trackBlockTypeSelected","updatedBlockTypeImpressions"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGA,SAASA,uBAAT,CAAkCC,UAAlC,EAA+C;AAC9C,QAAM;AAAEC,IAAAA;AAAF,MAA2B,qBAAaC,MAAF,IAAc;AACzD,UAAM;AAAEC,MAAAA,WAAW,EAAEC;AAAf,QAA0CF,MAAM,CACrDG,YADqD,CAAtD;AAGA,UAAM;AAAEC,MAAAA;AAAF,QAAkBF,sBAAsB,EAA9C;AAEA,WAAO;AACNH,MAAAA,oBAAoB,EAAEK;AADhB,KAAP;AAGA,GATgC,EAS9B,EAT8B,CAAjC;AAUA,QAAM;AAAEC,IAAAA;AAAF,MAAqB,uBAAaF,YAAb,CAA3B;AAEA,QAAMG,KAAK,GAAGR,UAAU,CAACS,GAAX,CAAkBC,SAAF,KAAmB,EAChD,GAAGA,SAD6C;AAEhDC,IAAAA,KAAK,EAAEV,oBAAoB,CAAES,SAAS,CAACE,IAAZ,CAApB,GAAyC;AAFA,GAAnB,CAAhB,CAAd;;AAIA,QAAMC,sBAAsB,GAAG,QAAgB;AAAA,QAAd;AAAED,MAAAA;AAAF,KAAc;;AAC9C,QAAKX,oBAAoB,CAAEW,IAAF,CAApB,GAA+B,CAApC,EAAwC;AACvC,YAAME,2BAA2B,GAAG,EACnC,GAAGb,oBADgC;AAEnC,SAAEW,IAAF,GAAU;AAFyB,OAApC,CADuC,CAKvC;;AACAL,MAAAA,cAAc,CAAE;AACfD,QAAAA,WAAW,EAAEQ;AADE,OAAF,CAAd,CANuC,CAUvC;;AACA,sDAAyBA,2BAAzB;AACA;AACD,GAdD;;AAgBA,SAAO;AAAEN,IAAAA,KAAF;AAASK,IAAAA;AAAT,GAAP;AACA;;eAEcd,uB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\nfunction useBlockTypeImpressions( blockTypes ) {\n\tconst { blockTypeImpressions } = useSelect( ( select ) => {\n\t\tconst { getSettings: getBlockEditorSettings } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst { impressions } = getBlockEditorSettings();\n\n\t\treturn {\n\t\t\tblockTypeImpressions: impressions,\n\t\t};\n\t}, [] );\n\tconst { updateSettings } = useDispatch( blockEditorStore );\n\n\tconst items = blockTypes.map( ( blockType ) => ( {\n\t\t...blockType,\n\t\tisNew: blockTypeImpressions[ blockType.name ] > 0,\n\t} ) );\n\tconst trackBlockTypeSelected = ( { name } ) => {\n\t\tif ( blockTypeImpressions[ name ] > 0 ) {\n\t\t\tconst updatedBlockTypeImpressions = {\n\t\t\t\t...blockTypeImpressions,\n\t\t\t\t[ name ]: 0,\n\t\t\t};\n\t\t\t// Persist block type impression to JavaScript store\n\t\t\tupdateSettings( {\n\t\t\t\timpressions: updatedBlockTypeImpressions,\n\t\t\t} );\n\n\t\t\t// Persist block type impression count to native app store\n\t\t\tsetBlockTypeImpressions( updatedBlockTypeImpressions );\n\t\t}\n\t};\n\n\treturn { items, trackBlockTypeSelected };\n}\n\nexport default useBlockTypeImpressions;\n"]}
@@ -47,11 +47,12 @@ const useBlockTypesState = (rootClientId, onInsert) => {
47
47
  items: getInserterItems(rootClientId)
48
48
  };
49
49
  }, [rootClientId]);
50
- const onSelectItem = (0, _element.useCallback)(({
51
- name,
52
- initialAttributes,
53
- innerBlocks
54
- }, shouldFocusBlock) => {
50
+ const onSelectItem = (0, _element.useCallback)((_ref, shouldFocusBlock) => {
51
+ let {
52
+ name,
53
+ initialAttributes,
54
+ innerBlocks
55
+ } = _ref;
55
56
  const insertedBlock = (0, _blocks.createBlock)(name, initialAttributes, (0, _blocks.createBlocksFromInnerBlocksTemplate)(innerBlocks));
56
57
  onInsert(insertedBlock, undefined, shouldFocusBlock);
57
58
  }, [onInsert]);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-types-state.js"],"names":["useBlockTypesState","rootClientId","onInsert","categories","collections","items","select","getInserterItems","blockEditorStore","getCategories","getCollections","blocksStore","onSelectItem","name","initialAttributes","innerBlocks","shouldFocusBlock","insertedBlock","undefined"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,GAAG,CAAEC,YAAF,EAAgBC,QAAhB,KAA8B;AACxD,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,WAAd;AAA2BC,IAAAA;AAA3B,MAAqC,qBACxCC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAEE,YAAF,CAAnC;AACA,UAAM;AAAEC,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QAAoCJ,MAAM,CAAEK,aAAF,CAAhD;AAEA,WAAO;AACNR,MAAAA,UAAU,EAAEM,aAAa,EADnB;AAENL,MAAAA,WAAW,EAAEM,cAAc,EAFrB;AAGNL,MAAAA,KAAK,EAAEE,gBAAgB,CAAEN,YAAF;AAHjB,KAAP;AAKA,GAVyC,EAW1C,CAAEA,YAAF,CAX0C,CAA3C;AAcA,QAAMW,YAAY,GAAG,0BACpB,CAAE;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,iBAAR;AAA2BC,IAAAA;AAA3B,GAAF,EAA4CC,gBAA5C,KAAkE;AACjE,UAAMC,aAAa,GAAG,yBACrBJ,IADqB,EAErBC,iBAFqB,EAGrB,iDAAqCC,WAArC,CAHqB,CAAtB;AAMAb,IAAAA,QAAQ,CAAEe,aAAF,EAAiBC,SAAjB,EAA4BF,gBAA5B,CAAR;AACA,GATmB,EAUpB,CAAEd,QAAF,CAVoB,CAArB;AAaA,SAAO,CAAEG,KAAF,EAASF,UAAT,EAAqBC,WAArB,EAAkCQ,YAAlC,CAAP;AACA,CA7BD;;eA+BeZ,kB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Retrieves the block types inserter state.\n *\n * @param {string=} rootClientId Insertion's root client ID.\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler)\n */\nconst useBlockTypesState = ( rootClientId, onInsert ) => {\n\tconst { categories, collections, items } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getInserterItems } = select( blockEditorStore );\n\t\t\tconst { getCategories, getCollections } = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tcategories: getCategories(),\n\t\t\t\tcollections: getCollections(),\n\t\t\t\titems: getInserterItems( rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst onSelectItem = useCallback(\n\t\t( { name, initialAttributes, innerBlocks }, shouldFocusBlock ) => {\n\t\t\tconst insertedBlock = createBlock(\n\t\t\t\tname,\n\t\t\t\tinitialAttributes,\n\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocks )\n\t\t\t);\n\n\t\t\tonInsert( insertedBlock, undefined, shouldFocusBlock );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\n\treturn [ items, categories, collections, onSelectItem ];\n};\n\nexport default useBlockTypesState;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-types-state.js"],"names":["useBlockTypesState","rootClientId","onInsert","categories","collections","items","select","getInserterItems","blockEditorStore","getCategories","getCollections","blocksStore","onSelectItem","shouldFocusBlock","name","initialAttributes","innerBlocks","insertedBlock","undefined"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,GAAG,CAAEC,YAAF,EAAgBC,QAAhB,KAA8B;AACxD,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,WAAd;AAA2BC,IAAAA;AAA3B,MAAqC,qBACxCC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAEE,YAAF,CAAnC;AACA,UAAM;AAAEC,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QAAoCJ,MAAM,CAAEK,aAAF,CAAhD;AAEA,WAAO;AACNR,MAAAA,UAAU,EAAEM,aAAa,EADnB;AAENL,MAAAA,WAAW,EAAEM,cAAc,EAFrB;AAGNL,MAAAA,KAAK,EAAEE,gBAAgB,CAAEN,YAAF;AAHjB,KAAP;AAKA,GAVyC,EAW1C,CAAEA,YAAF,CAX0C,CAA3C;AAcA,QAAMW,YAAY,GAAG,0BACpB,OAA4CC,gBAA5C,KAAkE;AAAA,QAAhE;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,iBAAR;AAA2BC,MAAAA;AAA3B,KAAgE;AACjE,UAAMC,aAAa,GAAG,yBACrBH,IADqB,EAErBC,iBAFqB,EAGrB,iDAAqCC,WAArC,CAHqB,CAAtB;AAMAd,IAAAA,QAAQ,CAAEe,aAAF,EAAiBC,SAAjB,EAA4BL,gBAA5B,CAAR;AACA,GATmB,EAUpB,CAAEX,QAAF,CAVoB,CAArB;AAaA,SAAO,CAAEG,KAAF,EAASF,UAAT,EAAqBC,WAArB,EAAkCQ,YAAlC,CAAP;AACA,CA7BD;;eA+BeZ,kB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Retrieves the block types inserter state.\n *\n * @param {string=} rootClientId Insertion's root client ID.\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler)\n */\nconst useBlockTypesState = ( rootClientId, onInsert ) => {\n\tconst { categories, collections, items } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getInserterItems } = select( blockEditorStore );\n\t\t\tconst { getCategories, getCollections } = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tcategories: getCategories(),\n\t\t\t\tcollections: getCollections(),\n\t\t\t\titems: getInserterItems( rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst onSelectItem = useCallback(\n\t\t( { name, initialAttributes, innerBlocks }, shouldFocusBlock ) => {\n\t\t\tconst insertedBlock = createBlock(\n\t\t\t\tname,\n\t\t\t\tinitialAttributes,\n\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocks )\n\t\t\t);\n\n\t\t\tonInsert( insertedBlock, undefined, shouldFocusBlock );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\n\treturn [ items, categories, collections, onSelectItem ];\n};\n\nexport default useBlockTypesState;\n"]}
@@ -51,14 +51,15 @@ var _store = require("../../../store");
51
51
  * @param {WPInserterConfig} config Inserter Config.
52
52
  * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle).
53
53
  */
54
- function useInsertionPoint({
55
- rootClientId = '',
56
- insertionIndex,
57
- clientId,
58
- isAppender,
59
- onSelect,
60
- shouldFocusBlock = true
61
- }) {
54
+ function useInsertionPoint(_ref) {
55
+ let {
56
+ rootClientId = '',
57
+ insertionIndex,
58
+ clientId,
59
+ isAppender,
60
+ onSelect,
61
+ shouldFocusBlock = true
62
+ } = _ref;
62
63
  const {
63
64
  getSelectedBlock
64
65
  } = (0, _data.useSelect)(_store.store);
@@ -102,7 +103,8 @@ function useInsertionPoint({
102
103
  showInsertionPoint,
103
104
  hideInsertionPoint
104
105
  } = (0, _data.useDispatch)(_store.store);
105
- const onInsertBlocks = (0, _element.useCallback)((blocks, meta, shouldForceFocusBlock = false) => {
106
+ const onInsertBlocks = (0, _element.useCallback)(function (blocks, meta) {
107
+ let shouldForceFocusBlock = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
106
108
  const selectedBlock = getSelectedBlock();
107
109
 
108
110
  if (!isAppender && selectedBlock && (0, _blocks.isUnmodifiedDefaultBlock)(selectedBlock)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-insertion-point.js"],"names":["useInsertionPoint","rootClientId","insertionIndex","clientId","isAppender","onSelect","shouldFocusBlock","getSelectedBlock","blockEditorStore","destinationRootClientId","destinationIndex","select","getSelectedBlockClientId","getBlockRootClientId","getBlockIndex","getBlockOrder","selectedBlockClientId","_destinationRootClientId","_destinationIndex","undefined","length","replaceBlocks","insertBlocks","showInsertionPoint","hideInsertionPoint","onInsertBlocks","blocks","meta","shouldForceFocusBlock","selectedBlock","message","onToggleInsertionPoint","show"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * @typedef WPInserterConfig\n *\n * @property {string=} rootClientId If set, insertion will be into the\n * block with this ID.\n * @property {number=} insertionIndex If set, insertion will be into this\n * explicit position.\n * @property {string=} clientId If set, insertion will be after the\n * block with this ID.\n * @property {boolean=} isAppender Whether the inserter is an appender\n * or not.\n * @property {Function=} onSelect Called after insertion.\n */\n\n/**\n * Returns the insertion point state given the inserter config.\n *\n * @param {WPInserterConfig} config Inserter Config.\n * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle).\n */\nfunction useInsertionPoint( {\n\trootClientId = '',\n\tinsertionIndex,\n\tclientId,\n\tisAppender,\n\tonSelect,\n\tshouldFocusBlock = true,\n} ) {\n\tconst { getSelectedBlock } = useSelect( blockEditorStore );\n\tconst { destinationRootClientId, destinationIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet _destinationRootClientId = rootClientId;\n\t\t\tlet _destinationIndex;\n\n\t\t\tif ( insertionIndex !== undefined ) {\n\t\t\t\t// Insert into a specific index.\n\t\t\t\t_destinationIndex = insertionIndex;\n\t\t\t} else if ( clientId ) {\n\t\t\t\t// Insert after a specific client ID.\n\t\t\t\t_destinationIndex = getBlockIndex(\n\t\t\t\t\tclientId,\n\t\t\t\t\t_destinationRootClientId\n\t\t\t\t);\n\t\t\t} else if ( ! isAppender && selectedBlockClientId ) {\n\t\t\t\t_destinationRootClientId = getBlockRootClientId(\n\t\t\t\t\tselectedBlockClientId\n\t\t\t\t);\n\t\t\t\t_destinationIndex =\n\t\t\t\t\tgetBlockIndex(\n\t\t\t\t\t\tselectedBlockClientId,\n\t\t\t\t\t\t_destinationRootClientId\n\t\t\t\t\t) + 1;\n\t\t\t} else {\n\t\t\t\t// Insert at the end of the list.\n\t\t\t\t_destinationIndex = getBlockOrder( _destinationRootClientId )\n\t\t\t\t\t.length;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdestinationRootClientId: _destinationRootClientId,\n\t\t\t\tdestinationIndex: _destinationIndex,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, insertionIndex, clientId, isAppender ]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tinsertBlocks,\n\t\tshowInsertionPoint,\n\t\thideInsertionPoint,\n\t} = useDispatch( blockEditorStore );\n\n\tconst onInsertBlocks = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock = false ) => {\n\t\t\tconst selectedBlock = getSelectedBlock();\n\n\t\t\tif (\n\t\t\t\t! isAppender &&\n\t\t\t\tselectedBlock &&\n\t\t\t\tisUnmodifiedDefaultBlock( selectedBlock )\n\t\t\t) {\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\tblocks,\n\t\t\t\t\tnull,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tblocks,\n\t\t\t\t\tdestinationIndex,\n\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\ttrue,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst message = sprintf(\n\t\t\t\t// translators: %d: the name of the block that has been added\n\t\t\t\t_n(\n\t\t\t\t\t'%d block added.',\n\t\t\t\t\t'%d blocks added.',\n\t\t\t\t\tcastArray( blocks ).length\n\t\t\t\t),\n\t\t\t\tcastArray( blocks ).length\n\t\t\t);\n\t\t\tspeak( message );\n\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tisAppender,\n\t\t\tgetSelectedBlock,\n\t\t\treplaceBlocks,\n\t\t\tinsertBlocks,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t\tonSelect,\n\t\t\tshouldFocusBlock,\n\t\t]\n\t);\n\n\tconst onToggleInsertionPoint = useCallback(\n\t\t( show ) => {\n\t\t\tif ( show ) {\n\t\t\t\tshowInsertionPoint( destinationRootClientId, destinationIndex );\n\t\t\t} else {\n\t\t\t\thideInsertionPoint();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t]\n\t);\n\n\treturn [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ];\n}\n\nexport default useInsertionPoint;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-insertion-point.js"],"names":["useInsertionPoint","rootClientId","insertionIndex","clientId","isAppender","onSelect","shouldFocusBlock","getSelectedBlock","blockEditorStore","destinationRootClientId","destinationIndex","select","getSelectedBlockClientId","getBlockRootClientId","getBlockIndex","getBlockOrder","selectedBlockClientId","_destinationRootClientId","_destinationIndex","undefined","length","replaceBlocks","insertBlocks","showInsertionPoint","hideInsertionPoint","onInsertBlocks","blocks","meta","shouldForceFocusBlock","selectedBlock","message","onToggleInsertionPoint","show"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * @typedef WPInserterConfig\n *\n * @property {string=} rootClientId If set, insertion will be into the\n * block with this ID.\n * @property {number=} insertionIndex If set, insertion will be into this\n * explicit position.\n * @property {string=} clientId If set, insertion will be after the\n * block with this ID.\n * @property {boolean=} isAppender Whether the inserter is an appender\n * or not.\n * @property {Function=} onSelect Called after insertion.\n */\n\n/**\n * Returns the insertion point state given the inserter config.\n *\n * @param {WPInserterConfig} config Inserter Config.\n * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle).\n */\nfunction useInsertionPoint( {\n\trootClientId = '',\n\tinsertionIndex,\n\tclientId,\n\tisAppender,\n\tonSelect,\n\tshouldFocusBlock = true,\n} ) {\n\tconst { getSelectedBlock } = useSelect( blockEditorStore );\n\tconst { destinationRootClientId, destinationIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet _destinationRootClientId = rootClientId;\n\t\t\tlet _destinationIndex;\n\n\t\t\tif ( insertionIndex !== undefined ) {\n\t\t\t\t// Insert into a specific index.\n\t\t\t\t_destinationIndex = insertionIndex;\n\t\t\t} else if ( clientId ) {\n\t\t\t\t// Insert after a specific client ID.\n\t\t\t\t_destinationIndex = getBlockIndex(\n\t\t\t\t\tclientId,\n\t\t\t\t\t_destinationRootClientId\n\t\t\t\t);\n\t\t\t} else if ( ! isAppender && selectedBlockClientId ) {\n\t\t\t\t_destinationRootClientId = getBlockRootClientId(\n\t\t\t\t\tselectedBlockClientId\n\t\t\t\t);\n\t\t\t\t_destinationIndex =\n\t\t\t\t\tgetBlockIndex(\n\t\t\t\t\t\tselectedBlockClientId,\n\t\t\t\t\t\t_destinationRootClientId\n\t\t\t\t\t) + 1;\n\t\t\t} else {\n\t\t\t\t// Insert at the end of the list.\n\t\t\t\t_destinationIndex = getBlockOrder( _destinationRootClientId )\n\t\t\t\t\t.length;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdestinationRootClientId: _destinationRootClientId,\n\t\t\t\tdestinationIndex: _destinationIndex,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, insertionIndex, clientId, isAppender ]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tinsertBlocks,\n\t\tshowInsertionPoint,\n\t\thideInsertionPoint,\n\t} = useDispatch( blockEditorStore );\n\n\tconst onInsertBlocks = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock = false ) => {\n\t\t\tconst selectedBlock = getSelectedBlock();\n\n\t\t\tif (\n\t\t\t\t! isAppender &&\n\t\t\t\tselectedBlock &&\n\t\t\t\tisUnmodifiedDefaultBlock( selectedBlock )\n\t\t\t) {\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\tblocks,\n\t\t\t\t\tnull,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tblocks,\n\t\t\t\t\tdestinationIndex,\n\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\ttrue,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst message = sprintf(\n\t\t\t\t// translators: %d: the name of the block that has been added\n\t\t\t\t_n(\n\t\t\t\t\t'%d block added.',\n\t\t\t\t\t'%d blocks added.',\n\t\t\t\t\tcastArray( blocks ).length\n\t\t\t\t),\n\t\t\t\tcastArray( blocks ).length\n\t\t\t);\n\t\t\tspeak( message );\n\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tisAppender,\n\t\t\tgetSelectedBlock,\n\t\t\treplaceBlocks,\n\t\t\tinsertBlocks,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t\tonSelect,\n\t\t\tshouldFocusBlock,\n\t\t]\n\t);\n\n\tconst onToggleInsertionPoint = useCallback(\n\t\t( show ) => {\n\t\t\tif ( show ) {\n\t\t\t\tshowInsertionPoint( destinationRootClientId, destinationIndex );\n\t\t\t} else {\n\t\t\t\thideInsertionPoint();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t]\n\t);\n\n\treturn [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ];\n}\n\nexport default useInsertionPoint;\n"]}