@wordpress/block-editor 14.8.1-next.a9f418477.0 → 14.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (906) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +8 -0
  3. package/build/autocompleters/block.js +1 -0
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +1 -0
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +1 -0
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +1 -0
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/background-image-control/index.js +1 -0
  12. package/build/components/background-image-control/index.js.map +1 -1
  13. package/build/components/block-actions/index.js +1 -0
  14. package/build/components/block-actions/index.js.map +1 -1
  15. package/build/components/block-alignment-control/ui.js +1 -0
  16. package/build/components/block-alignment-control/ui.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.native.js +1 -0
  18. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  19. package/build/components/block-alignment-control/use-available-alignments.js +1 -0
  20. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  21. package/build/components/block-breadcrumb/index.js +1 -0
  22. package/build/components/block-breadcrumb/index.js.map +1 -1
  23. package/build/components/block-compare/index.js +1 -0
  24. package/build/components/block-compare/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +1 -0
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-edit/edit.js +1 -0
  28. package/build/components/block-edit/edit.js.map +1 -1
  29. package/build/components/block-edit/edit.native.js +1 -0
  30. package/build/components/block-edit/edit.native.js.map +1 -1
  31. package/build/components/block-heading-level-dropdown/index.js +1 -0
  32. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  33. package/build/components/block-heading-level-dropdown/index.native.js +1 -0
  34. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  35. package/build/components/block-inspector/index.js +1 -0
  36. package/build/components/block-inspector/index.js.map +1 -1
  37. package/build/components/block-list/block-invalid-warning.js +1 -0
  38. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  39. package/build/components/block-list/block-list-context.native.js +1 -0
  40. package/build/components/block-list/block-list-context.native.js.map +1 -1
  41. package/build/components/block-list/block.js +1 -0
  42. package/build/components/block-list/block.js.map +1 -1
  43. package/build/components/block-list/block.native.js +1 -0
  44. package/build/components/block-list/block.native.js.map +1 -1
  45. package/build/components/block-list/index.js +1 -0
  46. package/build/components/block-list/index.js.map +1 -1
  47. package/build/components/block-list/index.native.js +1 -0
  48. package/build/components/block-list/index.native.js.map +1 -1
  49. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  50. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  51. package/build/components/block-list/use-in-between-inserter.js +1 -0
  52. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  53. package/build/components/block-lock/modal.js +1 -0
  54. package/build/components/block-lock/modal.js.map +1 -1
  55. package/build/components/block-manager/category.js +1 -0
  56. package/build/components/block-manager/category.js.map +1 -1
  57. package/build/components/block-manager/checklist.js +1 -0
  58. package/build/components/block-manager/checklist.js.map +1 -1
  59. package/build/components/block-manager/index.js +1 -0
  60. package/build/components/block-manager/index.js.map +1 -1
  61. package/build/components/block-media-update-progress/index.native.js +1 -0
  62. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  63. package/build/components/block-mover/index.native.js +1 -0
  64. package/build/components/block-mover/index.native.js.map +1 -1
  65. package/build/components/block-mover/mover-description.native.js +1 -0
  66. package/build/components/block-mover/mover-description.native.js.map +1 -1
  67. package/build/components/block-pattern-setup/index.js +1 -0
  68. package/build/components/block-pattern-setup/index.js.map +1 -1
  69. package/build/components/block-pattern-setup/use-patterns-setup.js +1 -0
  70. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  71. package/build/components/block-patterns-list/index.js +1 -0
  72. package/build/components/block-patterns-list/index.js.map +1 -1
  73. package/build/components/block-quick-navigation/index.js +1 -0
  74. package/build/components/block-quick-navigation/index.js.map +1 -1
  75. package/build/components/block-rename/rename-control.js +1 -0
  76. package/build/components/block-rename/rename-control.js.map +1 -1
  77. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -0
  78. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  79. package/build/components/block-styles/index.js +1 -0
  80. package/build/components/block-styles/index.js.map +1 -1
  81. package/build/components/block-styles/index.native.js +1 -0
  82. package/build/components/block-styles/index.native.js.map +1 -1
  83. package/build/components/block-styles/menu-items.js +1 -0
  84. package/build/components/block-styles/menu-items.js.map +1 -1
  85. package/build/components/block-styles/preview.native.js +1 -0
  86. package/build/components/block-styles/preview.native.js.map +1 -1
  87. package/build/components/block-switcher/block-transformations-menu.js +1 -0
  88. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  89. package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
  90. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  91. package/build/components/block-switcher/block-variation-transformations.js +1 -0
  92. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  93. package/build/components/block-switcher/index.js +1 -0
  94. package/build/components/block-switcher/index.js.map +1 -1
  95. package/build/components/block-switcher/pattern-transformations-menu.js +1 -0
  96. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  97. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  98. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  99. package/build/components/block-switcher/utils.js +1 -0
  100. package/build/components/block-switcher/utils.js.map +1 -1
  101. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -0
  102. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  103. package/build/components/block-toolbar/change-design.js +1 -0
  104. package/build/components/block-toolbar/change-design.js.map +1 -1
  105. package/build/components/block-toolbar/index.js +1 -0
  106. package/build/components/block-toolbar/index.js.map +1 -1
  107. package/build/components/block-tools/use-selected-block-tool-props.js +1 -0
  108. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  109. package/build/components/block-types-list/index.js +1 -0
  110. package/build/components/block-types-list/index.js.map +1 -1
  111. package/build/components/block-variation-picker/index.js +1 -0
  112. package/build/components/block-variation-picker/index.js.map +1 -1
  113. package/build/components/block-variation-picker/index.native.js +1 -0
  114. package/build/components/block-variation-picker/index.native.js.map +1 -1
  115. package/build/components/block-variation-transforms/index.js +1 -0
  116. package/build/components/block-variation-transforms/index.js.map +1 -1
  117. package/build/components/block-vertical-alignment-control/ui.js +1 -0
  118. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  119. package/build/components/border-radius-control/index.js +1 -0
  120. package/build/components/border-radius-control/index.js.map +1 -1
  121. package/build/components/border-radius-control/input-controls.js +1 -0
  122. package/build/components/border-radius-control/input-controls.js.map +1 -1
  123. package/build/components/border-radius-control/utils.js +1 -0
  124. package/build/components/border-radius-control/utils.js.map +1 -1
  125. package/build/components/colors/utils.js +1 -0
  126. package/build/components/colors/utils.js.map +1 -1
  127. package/build/components/colors/with-colors.js +1 -0
  128. package/build/components/colors/with-colors.js.map +1 -1
  129. package/build/components/colors-gradients/dropdown.js +1 -0
  130. package/build/components/colors-gradients/dropdown.js.map +1 -1
  131. package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -0
  132. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  133. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
  134. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  135. package/build/components/convert-to-group-buttons/toolbar.js +1 -0
  136. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  137. package/build/components/date-format-picker/index.js +1 -0
  138. package/build/components/date-format-picker/index.js.map +1 -1
  139. package/build/components/dimensions-tool/scale-tool.js +1 -0
  140. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  141. package/build/components/duotone/utils.js +1 -0
  142. package/build/components/duotone/utils.js.map +1 -1
  143. package/build/components/editor-styles/index.js +1 -0
  144. package/build/components/editor-styles/index.js.map +1 -1
  145. package/build/components/font-appearance-control/index.js +1 -0
  146. package/build/components/font-appearance-control/index.js.map +1 -1
  147. package/build/components/font-family/index.js +1 -0
  148. package/build/components/font-family/index.js.map +1 -1
  149. package/build/components/font-sizes/with-font-sizes.js +1 -0
  150. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  151. package/build/components/global-styles/border-panel.js +1 -0
  152. package/build/components/global-styles/border-panel.js.map +1 -1
  153. package/build/components/global-styles/color-panel.js +25 -8
  154. package/build/components/global-styles/color-panel.js.map +1 -1
  155. package/build/components/global-styles/color-panel.native.js +1 -0
  156. package/build/components/global-styles/color-panel.native.js.map +1 -1
  157. package/build/components/global-styles/dimensions-panel.js +1 -0
  158. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  159. package/build/components/global-styles/filters-panel.js +3 -2
  160. package/build/components/global-styles/filters-panel.js.map +1 -1
  161. package/build/components/global-styles/get-global-styles-changes.js +1 -0
  162. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  163. package/build/components/global-styles/shadow-panel-components.js +1 -0
  164. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  165. package/build/components/global-styles/typography-utils.js +1 -0
  166. package/build/components/global-styles/typography-utils.js.map +1 -1
  167. package/build/components/global-styles/use-global-styles-context.native.js +1 -0
  168. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  169. package/build/components/global-styles/use-global-styles-output.js +2 -1
  170. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  171. package/build/components/global-styles/utils.js +1 -0
  172. package/build/components/global-styles/utils.js.map +1 -1
  173. package/build/components/grid/grid-visualizer.js +1 -0
  174. package/build/components/grid/grid-visualizer.js.map +1 -1
  175. package/build/components/grid/use-grid-layout-sync.js +1 -0
  176. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  177. package/build/components/grid/utils.js +1 -0
  178. package/build/components/grid/utils.js.map +1 -1
  179. package/build/components/iframe/get-compatibility-styles.js +1 -0
  180. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  181. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -0
  182. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  183. package/build/components/index.js +15 -8
  184. package/build/components/index.js.map +1 -1
  185. package/build/components/inner-blocks/use-block-context.js +1 -0
  186. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  187. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
  188. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  189. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
  190. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  191. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
  192. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  193. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
  194. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  195. package/build/components/inserter/block-types-tab.js +2 -1
  196. package/build/components/inserter/block-types-tab.js.map +1 -1
  197. package/build/components/inserter/block-types-tab.native.js +1 -0
  198. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  199. package/build/components/inserter/category-tabs/index.js +1 -0
  200. package/build/components/inserter/category-tabs/index.js.map +1 -1
  201. package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
  202. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  203. package/build/components/inserter/hooks/use-patterns-state.js +1 -0
  204. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  205. package/build/components/inserter/index.js +1 -0
  206. package/build/components/inserter/index.js.map +1 -1
  207. package/build/components/inserter/index.native.js +1 -0
  208. package/build/components/inserter/index.native.js.map +1 -1
  209. package/build/components/inserter/media-tab/hooks.js +1 -0
  210. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  211. package/build/components/inserter/media-tab/media-list.js +1 -0
  212. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  213. package/build/components/inserter/media-tab/media-tab.js +1 -0
  214. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  215. package/build/components/inserter/menu.js +1 -0
  216. package/build/components/inserter/menu.js.map +1 -1
  217. package/build/components/inserter/mobile-tab-navigation.js +1 -0
  218. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  219. package/build/components/inserter/search-items.js +1 -0
  220. package/build/components/inserter/search-items.js.map +1 -1
  221. package/build/components/inserter/search-results.js +1 -0
  222. package/build/components/inserter/search-results.js.map +1 -1
  223. package/build/components/inserter/tabs.native.js +1 -0
  224. package/build/components/inserter/tabs.native.js.map +1 -1
  225. package/build/components/inserter/utils.native.js +1 -0
  226. package/build/components/inserter/utils.native.js.map +1 -1
  227. package/build/components/inspector-controls/block-support-tools-panel.js +1 -0
  228. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  229. package/build/components/inspector-controls/fill.js +1 -0
  230. package/build/components/inspector-controls/fill.js.map +1 -1
  231. package/build/components/inspector-controls-tabs/index.js +1 -0
  232. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  233. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -0
  234. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  235. package/build/components/inspector-popover-header/index.js +1 -0
  236. package/build/components/inspector-popover-header/index.js.map +1 -1
  237. package/build/components/justify-content-control/ui.js +1 -0
  238. package/build/components/justify-content-control/ui.js.map +1 -1
  239. package/build/components/link-control/index.js +13 -1
  240. package/build/components/link-control/index.js.map +1 -1
  241. package/build/components/link-control/search-input.js +11 -1
  242. package/build/components/link-control/search-input.js.map +1 -1
  243. package/build/components/link-control/search-item.js +12 -1
  244. package/build/components/link-control/search-item.js.map +1 -1
  245. package/build/components/link-control/search-results.js +13 -1
  246. package/build/components/link-control/search-results.js.map +1 -1
  247. package/build/components/link-control/settings.js +1 -0
  248. package/build/components/link-control/settings.js.map +1 -1
  249. package/build/components/link-control/use-internal-value.js +1 -0
  250. package/build/components/link-control/use-internal-value.js.map +1 -1
  251. package/build/components/link-control/use-search-handler.js +1 -0
  252. package/build/components/link-control/use-search-handler.js.map +1 -1
  253. package/build/components/list-view/block-select-button.js +1 -0
  254. package/build/components/list-view/block-select-button.js.map +1 -1
  255. package/build/components/list-view/block.js +1 -0
  256. package/build/components/list-view/block.js.map +1 -1
  257. package/build/components/list-view/branch.js +1 -0
  258. package/build/components/list-view/branch.js.map +1 -1
  259. package/build/components/list-view/index.js +1 -0
  260. package/build/components/list-view/index.js.map +1 -1
  261. package/build/components/list-view/use-block-selection.js +1 -0
  262. package/build/components/list-view/use-block-selection.js.map +1 -1
  263. package/build/components/list-view/use-clipboard-handler.js +1 -0
  264. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  265. package/build/components/list-view/use-list-view-block-indexes.js +1 -0
  266. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  267. package/build/components/list-view/use-list-view-drop-zone.js +1 -0
  268. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  269. package/build/components/list-view/utils.js +1 -0
  270. package/build/components/list-view/utils.js.map +1 -1
  271. package/build/components/media-placeholder/index.js +1 -0
  272. package/build/components/media-placeholder/index.js.map +1 -1
  273. package/build/components/media-placeholder/index.native.js +1 -0
  274. package/build/components/media-placeholder/index.native.js.map +1 -1
  275. package/build/components/media-replace-flow/index.js +1 -0
  276. package/build/components/media-replace-flow/index.js.map +1 -1
  277. package/build/components/media-upload/index.native.js +1 -0
  278. package/build/components/media-upload/index.native.js.map +1 -1
  279. package/build/components/navigable-toolbar/index.js +1 -0
  280. package/build/components/navigable-toolbar/index.js.map +1 -1
  281. package/build/components/panel-color-settings/index.js +1 -0
  282. package/build/components/panel-color-settings/index.js.map +1 -1
  283. package/build/components/provider/use-block-sync.js +1 -0
  284. package/build/components/provider/use-block-sync.js.map +1 -1
  285. package/build/components/responsive-block-control/index.js +1 -0
  286. package/build/components/responsive-block-control/index.js.map +1 -1
  287. package/build/components/rich-text/embed-handler-picker.native.js +1 -0
  288. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  289. package/build/components/rich-text/event-listeners/before-input-rules.js +1 -0
  290. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  291. package/build/components/rich-text/event-listeners/index.js +1 -0
  292. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  293. package/build/components/rich-text/event-listeners/input-rules.js +1 -0
  294. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  295. package/build/components/rich-text/event-listeners/paste-handler.js +1 -0
  296. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  297. package/build/components/rich-text/file-paste-handler.native.js +1 -0
  298. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  299. package/build/components/rich-text/format-edit.js +1 -0
  300. package/build/components/rich-text/format-edit.js.map +1 -1
  301. package/build/components/rich-text/format-toolbar/index.js +1 -0
  302. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  303. package/build/components/rich-text/index.js +1 -0
  304. package/build/components/rich-text/index.js.map +1 -1
  305. package/build/components/rich-text/index.native.js +1 -0
  306. package/build/components/rich-text/index.native.js.map +1 -1
  307. package/build/components/rich-text/multiline.js +1 -0
  308. package/build/components/rich-text/multiline.js.map +1 -1
  309. package/build/components/rich-text/native/format-edit.js +1 -0
  310. package/build/components/rich-text/native/format-edit.js.map +1 -1
  311. package/build/components/rich-text/native/get-format-colors.native.js +1 -0
  312. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  313. package/build/components/rich-text/native/index.native.js +1 -0
  314. package/build/components/rich-text/native/index.native.js.map +1 -1
  315. package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
  316. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  317. package/build/components/rich-text/native/use-format-types.js +1 -0
  318. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  319. package/build/components/rich-text/use-format-types.js +1 -0
  320. package/build/components/rich-text/use-format-types.js.map +1 -1
  321. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
  322. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  323. package/build/components/spacing-sizes-control/input-controls/axial.js +1 -0
  324. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  325. package/build/components/spacing-sizes-control/input-controls/separated.js +1 -0
  326. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  327. package/build/components/spacing-sizes-control/input-controls/single.js +1 -0
  328. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  329. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
  330. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  331. package/build/components/spacing-sizes-control/utils.js +1 -0
  332. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  333. package/build/components/tabbed-sidebar/index.js +1 -0
  334. package/build/components/tabbed-sidebar/index.js.map +1 -1
  335. package/build/components/text-alignment-control/index.js +1 -0
  336. package/build/components/text-alignment-control/index.js.map +1 -1
  337. package/build/components/text-decoration-control/index.js +1 -0
  338. package/build/components/text-decoration-control/index.js.map +1 -1
  339. package/build/components/text-transform-control/index.js +1 -0
  340. package/build/components/text-transform-control/index.js.map +1 -1
  341. package/build/components/unsupported-block-details/index.native.js +1 -0
  342. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  343. package/build/components/url-input/index.js +1 -0
  344. package/build/components/url-input/index.js.map +1 -1
  345. package/build/components/url-popover/image-url-input-ui.js +1 -0
  346. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  347. package/build/components/use-block-commands/index.js +1 -0
  348. package/build/components/use-block-commands/index.js.map +1 -1
  349. package/build/components/use-block-drop-zone/index.js +1 -0
  350. package/build/components/use-block-drop-zone/index.js.map +1 -1
  351. package/build/components/use-block-drop-zone/index.native.js +1 -0
  352. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  353. package/build/components/use-flash-editable-blocks/index.js +1 -0
  354. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  355. package/build/components/use-on-block-drop/index.js +1 -0
  356. package/build/components/use-on-block-drop/index.js.map +1 -1
  357. package/build/components/use-on-block-drop/index.native.js +1 -0
  358. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  359. package/build/components/use-paste-styles/index.js +1 -0
  360. package/build/components/use-paste-styles/index.js.map +1 -1
  361. package/build/components/warning/index.js +1 -0
  362. package/build/components/warning/index.js.map +1 -1
  363. package/build/components/writing-flow/use-arrow-nav.js +1 -0
  364. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  365. package/build/components/writing-flow/use-clipboard-handler.js +1 -0
  366. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  367. package/build/components/writing-flow/use-input.js +1 -0
  368. package/build/components/writing-flow/use-input.js.map +1 -1
  369. package/build/components/writing-flow/use-tab-nav.js +1 -0
  370. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  371. package/build/components/writing-flow/utils.js +1 -0
  372. package/build/components/writing-flow/utils.js.map +1 -1
  373. package/build/components/writing-mode-control/index.js +1 -0
  374. package/build/components/writing-mode-control/index.js.map +1 -1
  375. package/build/hooks/align.js +1 -0
  376. package/build/hooks/align.js.map +1 -1
  377. package/build/hooks/align.native.js +1 -0
  378. package/build/hooks/align.native.js.map +1 -1
  379. package/build/hooks/block-bindings.js +1 -0
  380. package/build/hooks/block-bindings.js.map +1 -1
  381. package/build/hooks/block-hooks.js +1 -0
  382. package/build/hooks/block-hooks.js.map +1 -1
  383. package/build/hooks/block-style-variation.js +1 -0
  384. package/build/hooks/block-style-variation.js.map +1 -1
  385. package/build/hooks/border.js +1 -0
  386. package/build/hooks/border.js.map +1 -1
  387. package/build/hooks/duotone.js +1 -0
  388. package/build/hooks/duotone.js.map +1 -1
  389. package/build/hooks/index.js +1 -0
  390. package/build/hooks/index.js.map +1 -1
  391. package/build/hooks/layout.js +1 -0
  392. package/build/hooks/layout.js.map +1 -1
  393. package/build/hooks/position.js +1 -0
  394. package/build/hooks/position.js.map +1 -1
  395. package/build/hooks/style.js +2 -1
  396. package/build/hooks/style.js.map +1 -1
  397. package/build/hooks/supports.js +1 -0
  398. package/build/hooks/supports.js.map +1 -1
  399. package/build/hooks/text-align.js +1 -0
  400. package/build/hooks/text-align.js.map +1 -1
  401. package/build/hooks/typography.js +1 -0
  402. package/build/hooks/typography.js.map +1 -1
  403. package/build/hooks/use-bindings-attributes.js +1 -0
  404. package/build/hooks/use-bindings-attributes.js.map +1 -1
  405. package/build/hooks/utils.js +1 -0
  406. package/build/hooks/utils.js.map +1 -1
  407. package/build/layouts/constrained.js +1 -0
  408. package/build/layouts/constrained.js.map +1 -1
  409. package/build/layouts/flex.js +1 -0
  410. package/build/layouts/flex.js.map +1 -1
  411. package/build/layouts/flow.js +1 -0
  412. package/build/layouts/flow.js.map +1 -1
  413. package/build/layouts/index.js +1 -0
  414. package/build/layouts/index.js.map +1 -1
  415. package/build/layouts/utils.js +1 -0
  416. package/build/layouts/utils.js.map +1 -1
  417. package/build/store/actions.js +1 -0
  418. package/build/store/actions.js.map +1 -1
  419. package/build/store/get-block-settings.js +1 -0
  420. package/build/store/get-block-settings.js.map +1 -1
  421. package/build/store/private-actions.js +1 -0
  422. package/build/store/private-actions.js.map +1 -1
  423. package/build/store/private-selectors.js +1 -0
  424. package/build/store/private-selectors.js.map +1 -1
  425. package/build/store/reducer.js +1 -0
  426. package/build/store/reducer.js.map +1 -1
  427. package/build/store/selectors.js +13 -15
  428. package/build/store/selectors.js.map +1 -1
  429. package/build/store/utils.js +1 -0
  430. package/build/store/utils.js.map +1 -1
  431. package/build/utils/block-bindings.js +1 -0
  432. package/build/utils/block-bindings.js.map +1 -1
  433. package/build/utils/get-editor-region.js +1 -0
  434. package/build/utils/get-editor-region.js.map +1 -1
  435. package/build/utils/get-font-styles-and-weights.js +1 -0
  436. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  437. package/build/utils/math.js +1 -0
  438. package/build/utils/math.js.map +1 -1
  439. package/build/utils/object.js +1 -0
  440. package/build/utils/object.js.map +1 -1
  441. package/build/utils/selection.js +1 -0
  442. package/build/utils/selection.js.map +1 -1
  443. package/build/utils/transform-styles/index.js +1 -0
  444. package/build/utils/transform-styles/index.js.map +1 -1
  445. package/build-module/autocompleters/block.js +1 -0
  446. package/build-module/autocompleters/block.js.map +1 -1
  447. package/build-module/autocompleters/link.js +1 -0
  448. package/build-module/autocompleters/link.js.map +1 -1
  449. package/build-module/components/alignment-control/ui.js +1 -0
  450. package/build-module/components/alignment-control/ui.js.map +1 -1
  451. package/build-module/components/autocomplete/index.js +1 -0
  452. package/build-module/components/autocomplete/index.js.map +1 -1
  453. package/build-module/components/background-image-control/index.js +1 -0
  454. package/build-module/components/background-image-control/index.js.map +1 -1
  455. package/build-module/components/block-actions/index.js +1 -0
  456. package/build-module/components/block-actions/index.js.map +1 -1
  457. package/build-module/components/block-alignment-control/ui.js +1 -0
  458. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  459. package/build-module/components/block-alignment-control/ui.native.js +1 -0
  460. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  461. package/build-module/components/block-alignment-control/use-available-alignments.js +1 -0
  462. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  463. package/build-module/components/block-breadcrumb/index.js +1 -0
  464. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  465. package/build-module/components/block-compare/index.js +1 -0
  466. package/build-module/components/block-compare/index.js.map +1 -1
  467. package/build-module/components/block-controls/fill.js +1 -0
  468. package/build-module/components/block-controls/fill.js.map +1 -1
  469. package/build-module/components/block-edit/edit.js +1 -0
  470. package/build-module/components/block-edit/edit.js.map +1 -1
  471. package/build-module/components/block-edit/edit.native.js +1 -0
  472. package/build-module/components/block-edit/edit.native.js.map +1 -1
  473. package/build-module/components/block-heading-level-dropdown/index.js +1 -0
  474. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  475. package/build-module/components/block-heading-level-dropdown/index.native.js +1 -0
  476. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  477. package/build-module/components/block-inspector/index.js +1 -0
  478. package/build-module/components/block-inspector/index.js.map +1 -1
  479. package/build-module/components/block-list/block-invalid-warning.js +1 -0
  480. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  481. package/build-module/components/block-list/block-list-context.native.js +1 -0
  482. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  483. package/build-module/components/block-list/block.js +1 -0
  484. package/build-module/components/block-list/block.js.map +1 -1
  485. package/build-module/components/block-list/block.native.js +1 -0
  486. package/build-module/components/block-list/block.native.js.map +1 -1
  487. package/build-module/components/block-list/index.js +1 -0
  488. package/build-module/components/block-list/index.js.map +1 -1
  489. package/build-module/components/block-list/index.native.js +1 -0
  490. package/build-module/components/block-list/index.native.js.map +1 -1
  491. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  492. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  493. package/build-module/components/block-list/use-in-between-inserter.js +1 -0
  494. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  495. package/build-module/components/block-lock/modal.js +1 -0
  496. package/build-module/components/block-lock/modal.js.map +1 -1
  497. package/build-module/components/block-manager/category.js +1 -0
  498. package/build-module/components/block-manager/category.js.map +1 -1
  499. package/build-module/components/block-manager/checklist.js +1 -0
  500. package/build-module/components/block-manager/checklist.js.map +1 -1
  501. package/build-module/components/block-manager/index.js +1 -0
  502. package/build-module/components/block-manager/index.js.map +1 -1
  503. package/build-module/components/block-media-update-progress/index.native.js +1 -0
  504. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  505. package/build-module/components/block-mover/index.native.js +1 -0
  506. package/build-module/components/block-mover/index.native.js.map +1 -1
  507. package/build-module/components/block-mover/mover-description.native.js +1 -0
  508. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  509. package/build-module/components/block-pattern-setup/index.js +1 -0
  510. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  511. package/build-module/components/block-pattern-setup/use-patterns-setup.js +1 -0
  512. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  513. package/build-module/components/block-patterns-list/index.js +1 -0
  514. package/build-module/components/block-patterns-list/index.js.map +1 -1
  515. package/build-module/components/block-quick-navigation/index.js +1 -0
  516. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  517. package/build-module/components/block-rename/rename-control.js +1 -0
  518. package/build-module/components/block-rename/rename-control.js.map +1 -1
  519. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -0
  520. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  521. package/build-module/components/block-styles/index.js +1 -0
  522. package/build-module/components/block-styles/index.js.map +1 -1
  523. package/build-module/components/block-styles/index.native.js +1 -0
  524. package/build-module/components/block-styles/index.native.js.map +1 -1
  525. package/build-module/components/block-styles/menu-items.js +1 -0
  526. package/build-module/components/block-styles/menu-items.js.map +1 -1
  527. package/build-module/components/block-styles/preview.native.js +1 -0
  528. package/build-module/components/block-styles/preview.native.js.map +1 -1
  529. package/build-module/components/block-switcher/block-transformations-menu.js +1 -0
  530. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  531. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
  532. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  533. package/build-module/components/block-switcher/block-variation-transformations.js +1 -0
  534. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  535. package/build-module/components/block-switcher/index.js +1 -0
  536. package/build-module/components/block-switcher/index.js.map +1 -1
  537. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -0
  538. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  539. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  540. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  541. package/build-module/components/block-switcher/utils.js +1 -0
  542. package/build-module/components/block-switcher/utils.js.map +1 -1
  543. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -0
  544. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  545. package/build-module/components/block-toolbar/change-design.js +1 -0
  546. package/build-module/components/block-toolbar/change-design.js.map +1 -1
  547. package/build-module/components/block-toolbar/index.js +1 -0
  548. package/build-module/components/block-toolbar/index.js.map +1 -1
  549. package/build-module/components/block-tools/use-selected-block-tool-props.js +1 -0
  550. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  551. package/build-module/components/block-types-list/index.js +1 -0
  552. package/build-module/components/block-types-list/index.js.map +1 -1
  553. package/build-module/components/block-variation-picker/index.js +1 -0
  554. package/build-module/components/block-variation-picker/index.js.map +1 -1
  555. package/build-module/components/block-variation-picker/index.native.js +1 -0
  556. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  557. package/build-module/components/block-variation-transforms/index.js +1 -0
  558. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  559. package/build-module/components/block-vertical-alignment-control/ui.js +1 -0
  560. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  561. package/build-module/components/border-radius-control/index.js +1 -0
  562. package/build-module/components/border-radius-control/index.js.map +1 -1
  563. package/build-module/components/border-radius-control/input-controls.js +1 -0
  564. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  565. package/build-module/components/border-radius-control/utils.js +1 -0
  566. package/build-module/components/border-radius-control/utils.js.map +1 -1
  567. package/build-module/components/colors/utils.js +1 -0
  568. package/build-module/components/colors/utils.js.map +1 -1
  569. package/build-module/components/colors/with-colors.js +1 -0
  570. package/build-module/components/colors/with-colors.js.map +1 -1
  571. package/build-module/components/colors-gradients/dropdown.js +1 -0
  572. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  573. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -0
  574. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  575. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
  576. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  577. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -0
  578. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  579. package/build-module/components/date-format-picker/index.js +1 -0
  580. package/build-module/components/date-format-picker/index.js.map +1 -1
  581. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  582. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  583. package/build-module/components/duotone/utils.js +1 -0
  584. package/build-module/components/duotone/utils.js.map +1 -1
  585. package/build-module/components/editor-styles/index.js +1 -0
  586. package/build-module/components/editor-styles/index.js.map +1 -1
  587. package/build-module/components/font-appearance-control/index.js +1 -0
  588. package/build-module/components/font-appearance-control/index.js.map +1 -1
  589. package/build-module/components/font-family/index.js +1 -0
  590. package/build-module/components/font-family/index.js.map +1 -1
  591. package/build-module/components/font-sizes/with-font-sizes.js +1 -0
  592. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  593. package/build-module/components/global-styles/border-panel.js +1 -0
  594. package/build-module/components/global-styles/border-panel.js.map +1 -1
  595. package/build-module/components/global-styles/color-panel.js +27 -10
  596. package/build-module/components/global-styles/color-panel.js.map +1 -1
  597. package/build-module/components/global-styles/color-panel.native.js +1 -0
  598. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  599. package/build-module/components/global-styles/dimensions-panel.js +1 -0
  600. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  601. package/build-module/components/global-styles/filters-panel.js +4 -3
  602. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  603. package/build-module/components/global-styles/get-global-styles-changes.js +1 -0
  604. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  605. package/build-module/components/global-styles/shadow-panel-components.js +1 -0
  606. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  607. package/build-module/components/global-styles/typography-utils.js +1 -0
  608. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  609. package/build-module/components/global-styles/use-global-styles-context.native.js +1 -0
  610. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  611. package/build-module/components/global-styles/use-global-styles-output.js +2 -1
  612. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  613. package/build-module/components/global-styles/utils.js +1 -0
  614. package/build-module/components/global-styles/utils.js.map +1 -1
  615. package/build-module/components/grid/grid-visualizer.js +1 -0
  616. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  617. package/build-module/components/grid/use-grid-layout-sync.js +1 -0
  618. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  619. package/build-module/components/grid/utils.js +1 -0
  620. package/build-module/components/grid/utils.js.map +1 -1
  621. package/build-module/components/iframe/get-compatibility-styles.js +1 -0
  622. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  623. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -0
  624. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  625. package/build-module/components/index.js +4 -4
  626. package/build-module/components/index.js.map +1 -1
  627. package/build-module/components/inner-blocks/use-block-context.js +1 -0
  628. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  629. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
  630. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  631. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
  632. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  633. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
  634. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  635. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
  636. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  637. package/build-module/components/inserter/block-types-tab.js +2 -1
  638. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  639. package/build-module/components/inserter/block-types-tab.native.js +1 -0
  640. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  641. package/build-module/components/inserter/category-tabs/index.js +1 -0
  642. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  643. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
  644. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  645. package/build-module/components/inserter/hooks/use-patterns-state.js +1 -0
  646. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  647. package/build-module/components/inserter/index.js +1 -0
  648. package/build-module/components/inserter/index.js.map +1 -1
  649. package/build-module/components/inserter/index.native.js +1 -0
  650. package/build-module/components/inserter/index.native.js.map +1 -1
  651. package/build-module/components/inserter/media-tab/hooks.js +1 -0
  652. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  653. package/build-module/components/inserter/media-tab/media-list.js +1 -0
  654. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  655. package/build-module/components/inserter/media-tab/media-tab.js +1 -0
  656. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  657. package/build-module/components/inserter/menu.js +1 -0
  658. package/build-module/components/inserter/menu.js.map +1 -1
  659. package/build-module/components/inserter/mobile-tab-navigation.js +1 -0
  660. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  661. package/build-module/components/inserter/search-items.js +1 -0
  662. package/build-module/components/inserter/search-items.js.map +1 -1
  663. package/build-module/components/inserter/search-results.js +1 -0
  664. package/build-module/components/inserter/search-results.js.map +1 -1
  665. package/build-module/components/inserter/tabs.native.js +1 -0
  666. package/build-module/components/inserter/tabs.native.js.map +1 -1
  667. package/build-module/components/inserter/utils.native.js +1 -0
  668. package/build-module/components/inserter/utils.native.js.map +1 -1
  669. package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -0
  670. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  671. package/build-module/components/inspector-controls/fill.js +1 -0
  672. package/build-module/components/inspector-controls/fill.js.map +1 -1
  673. package/build-module/components/inspector-controls-tabs/index.js +1 -0
  674. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  675. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -0
  676. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  677. package/build-module/components/inspector-popover-header/index.js +1 -0
  678. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  679. package/build-module/components/justify-content-control/ui.js +1 -0
  680. package/build-module/components/justify-content-control/ui.js.map +1 -1
  681. package/build-module/components/link-control/index.js +11 -0
  682. package/build-module/components/link-control/index.js.map +1 -1
  683. package/build-module/components/link-control/search-input.js +9 -0
  684. package/build-module/components/link-control/search-input.js.map +1 -1
  685. package/build-module/components/link-control/search-item.js +9 -0
  686. package/build-module/components/link-control/search-item.js.map +1 -1
  687. package/build-module/components/link-control/search-results.js +12 -1
  688. package/build-module/components/link-control/search-results.js.map +1 -1
  689. package/build-module/components/link-control/settings.js +1 -0
  690. package/build-module/components/link-control/settings.js.map +1 -1
  691. package/build-module/components/link-control/use-internal-value.js +1 -0
  692. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  693. package/build-module/components/link-control/use-search-handler.js +1 -0
  694. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  695. package/build-module/components/list-view/block-select-button.js +1 -0
  696. package/build-module/components/list-view/block-select-button.js.map +1 -1
  697. package/build-module/components/list-view/block.js +1 -0
  698. package/build-module/components/list-view/block.js.map +1 -1
  699. package/build-module/components/list-view/branch.js +1 -0
  700. package/build-module/components/list-view/branch.js.map +1 -1
  701. package/build-module/components/list-view/index.js +1 -0
  702. package/build-module/components/list-view/index.js.map +1 -1
  703. package/build-module/components/list-view/use-block-selection.js +1 -0
  704. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  705. package/build-module/components/list-view/use-clipboard-handler.js +1 -0
  706. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  707. package/build-module/components/list-view/use-list-view-block-indexes.js +1 -0
  708. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  709. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -0
  710. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  711. package/build-module/components/list-view/utils.js +1 -0
  712. package/build-module/components/list-view/utils.js.map +1 -1
  713. package/build-module/components/media-placeholder/index.js +1 -0
  714. package/build-module/components/media-placeholder/index.js.map +1 -1
  715. package/build-module/components/media-placeholder/index.native.js +1 -0
  716. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  717. package/build-module/components/media-replace-flow/index.js +1 -0
  718. package/build-module/components/media-replace-flow/index.js.map +1 -1
  719. package/build-module/components/media-upload/index.native.js +1 -0
  720. package/build-module/components/media-upload/index.native.js.map +1 -1
  721. package/build-module/components/navigable-toolbar/index.js +1 -0
  722. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  723. package/build-module/components/panel-color-settings/index.js +1 -0
  724. package/build-module/components/panel-color-settings/index.js.map +1 -1
  725. package/build-module/components/provider/use-block-sync.js +1 -0
  726. package/build-module/components/provider/use-block-sync.js.map +1 -1
  727. package/build-module/components/responsive-block-control/index.js +1 -0
  728. package/build-module/components/responsive-block-control/index.js.map +1 -1
  729. package/build-module/components/rich-text/embed-handler-picker.native.js +1 -0
  730. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  731. package/build-module/components/rich-text/event-listeners/before-input-rules.js +1 -0
  732. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  733. package/build-module/components/rich-text/event-listeners/index.js +1 -0
  734. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  735. package/build-module/components/rich-text/event-listeners/input-rules.js +1 -0
  736. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  737. package/build-module/components/rich-text/event-listeners/paste-handler.js +1 -0
  738. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  739. package/build-module/components/rich-text/file-paste-handler.native.js +1 -0
  740. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  741. package/build-module/components/rich-text/format-edit.js +1 -0
  742. package/build-module/components/rich-text/format-edit.js.map +1 -1
  743. package/build-module/components/rich-text/format-toolbar/index.js +1 -0
  744. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  745. package/build-module/components/rich-text/index.js +1 -0
  746. package/build-module/components/rich-text/index.js.map +1 -1
  747. package/build-module/components/rich-text/index.native.js +1 -0
  748. package/build-module/components/rich-text/index.native.js.map +1 -1
  749. package/build-module/components/rich-text/multiline.js +1 -0
  750. package/build-module/components/rich-text/multiline.js.map +1 -1
  751. package/build-module/components/rich-text/native/format-edit.js +1 -0
  752. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  753. package/build-module/components/rich-text/native/get-format-colors.native.js +1 -0
  754. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  755. package/build-module/components/rich-text/native/index.native.js +1 -0
  756. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  757. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
  758. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  759. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  760. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  761. package/build-module/components/rich-text/use-format-types.js +1 -0
  762. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  763. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
  764. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  765. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -0
  766. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  767. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -0
  768. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  769. package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -0
  770. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  771. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
  772. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  773. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  774. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  775. package/build-module/components/tabbed-sidebar/index.js +1 -0
  776. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  777. package/build-module/components/text-alignment-control/index.js +1 -0
  778. package/build-module/components/text-alignment-control/index.js.map +1 -1
  779. package/build-module/components/text-decoration-control/index.js +1 -0
  780. package/build-module/components/text-decoration-control/index.js.map +1 -1
  781. package/build-module/components/text-transform-control/index.js +1 -0
  782. package/build-module/components/text-transform-control/index.js.map +1 -1
  783. package/build-module/components/unsupported-block-details/index.native.js +1 -0
  784. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  785. package/build-module/components/url-input/index.js +1 -0
  786. package/build-module/components/url-input/index.js.map +1 -1
  787. package/build-module/components/url-popover/image-url-input-ui.js +1 -0
  788. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  789. package/build-module/components/use-block-commands/index.js +1 -0
  790. package/build-module/components/use-block-commands/index.js.map +1 -1
  791. package/build-module/components/use-block-drop-zone/index.js +1 -0
  792. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  793. package/build-module/components/use-block-drop-zone/index.native.js +1 -0
  794. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  795. package/build-module/components/use-flash-editable-blocks/index.js +1 -0
  796. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  797. package/build-module/components/use-on-block-drop/index.js +1 -0
  798. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  799. package/build-module/components/use-on-block-drop/index.native.js +1 -0
  800. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  801. package/build-module/components/use-paste-styles/index.js +1 -0
  802. package/build-module/components/use-paste-styles/index.js.map +1 -1
  803. package/build-module/components/warning/index.js +1 -0
  804. package/build-module/components/warning/index.js.map +1 -1
  805. package/build-module/components/writing-flow/use-arrow-nav.js +1 -0
  806. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  807. package/build-module/components/writing-flow/use-clipboard-handler.js +1 -0
  808. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  809. package/build-module/components/writing-flow/use-input.js +1 -0
  810. package/build-module/components/writing-flow/use-input.js.map +1 -1
  811. package/build-module/components/writing-flow/use-tab-nav.js +1 -0
  812. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  813. package/build-module/components/writing-flow/utils.js +1 -0
  814. package/build-module/components/writing-flow/utils.js.map +1 -1
  815. package/build-module/components/writing-mode-control/index.js +1 -0
  816. package/build-module/components/writing-mode-control/index.js.map +1 -1
  817. package/build-module/hooks/align.js +1 -0
  818. package/build-module/hooks/align.js.map +1 -1
  819. package/build-module/hooks/align.native.js +1 -0
  820. package/build-module/hooks/align.native.js.map +1 -1
  821. package/build-module/hooks/block-bindings.js +1 -0
  822. package/build-module/hooks/block-bindings.js.map +1 -1
  823. package/build-module/hooks/block-hooks.js +1 -0
  824. package/build-module/hooks/block-hooks.js.map +1 -1
  825. package/build-module/hooks/block-style-variation.js +1 -0
  826. package/build-module/hooks/block-style-variation.js.map +1 -1
  827. package/build-module/hooks/border.js +1 -0
  828. package/build-module/hooks/border.js.map +1 -1
  829. package/build-module/hooks/duotone.js +1 -0
  830. package/build-module/hooks/duotone.js.map +1 -1
  831. package/build-module/hooks/index.js +1 -0
  832. package/build-module/hooks/index.js.map +1 -1
  833. package/build-module/hooks/layout.js +1 -0
  834. package/build-module/hooks/layout.js.map +1 -1
  835. package/build-module/hooks/position.js +1 -0
  836. package/build-module/hooks/position.js.map +1 -1
  837. package/build-module/hooks/style.js +2 -1
  838. package/build-module/hooks/style.js.map +1 -1
  839. package/build-module/hooks/supports.js +1 -0
  840. package/build-module/hooks/supports.js.map +1 -1
  841. package/build-module/hooks/text-align.js +1 -0
  842. package/build-module/hooks/text-align.js.map +1 -1
  843. package/build-module/hooks/typography.js +1 -0
  844. package/build-module/hooks/typography.js.map +1 -1
  845. package/build-module/hooks/use-bindings-attributes.js +1 -0
  846. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  847. package/build-module/hooks/utils.js +1 -0
  848. package/build-module/hooks/utils.js.map +1 -1
  849. package/build-module/layouts/constrained.js +1 -0
  850. package/build-module/layouts/constrained.js.map +1 -1
  851. package/build-module/layouts/flex.js +1 -0
  852. package/build-module/layouts/flex.js.map +1 -1
  853. package/build-module/layouts/flow.js +1 -0
  854. package/build-module/layouts/flow.js.map +1 -1
  855. package/build-module/layouts/index.js +1 -0
  856. package/build-module/layouts/index.js.map +1 -1
  857. package/build-module/layouts/utils.js +1 -0
  858. package/build-module/layouts/utils.js.map +1 -1
  859. package/build-module/store/actions.js +1 -0
  860. package/build-module/store/actions.js.map +1 -1
  861. package/build-module/store/get-block-settings.js +1 -0
  862. package/build-module/store/get-block-settings.js.map +1 -1
  863. package/build-module/store/private-actions.js +1 -0
  864. package/build-module/store/private-actions.js.map +1 -1
  865. package/build-module/store/private-selectors.js +1 -0
  866. package/build-module/store/private-selectors.js.map +1 -1
  867. package/build-module/store/reducer.js +1 -0
  868. package/build-module/store/reducer.js.map +1 -1
  869. package/build-module/store/selectors.js +13 -15
  870. package/build-module/store/selectors.js.map +1 -1
  871. package/build-module/store/utils.js +1 -0
  872. package/build-module/store/utils.js.map +1 -1
  873. package/build-module/utils/block-bindings.js +1 -0
  874. package/build-module/utils/block-bindings.js.map +1 -1
  875. package/build-module/utils/get-editor-region.js +1 -0
  876. package/build-module/utils/get-editor-region.js.map +1 -1
  877. package/build-module/utils/get-font-styles-and-weights.js +1 -0
  878. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  879. package/build-module/utils/math.js +1 -0
  880. package/build-module/utils/math.js.map +1 -1
  881. package/build-module/utils/object.js +1 -0
  882. package/build-module/utils/object.js.map +1 -1
  883. package/build-module/utils/selection.js +1 -0
  884. package/build-module/utils/selection.js.map +1 -1
  885. package/build-module/utils/transform-styles/index.js +1 -0
  886. package/build-module/utils/transform-styles/index.js.map +1 -1
  887. package/build-style/style-rtl.css +22 -0
  888. package/build-style/style.css +22 -0
  889. package/package.json +32 -32
  890. package/src/components/block-heading-level-dropdown/stories/index.story.js +61 -0
  891. package/src/components/colors-gradients/style.scss +21 -0
  892. package/src/components/global-styles/color-panel.js +26 -7
  893. package/src/components/global-styles/filters-panel.js +3 -6
  894. package/src/components/global-styles/use-global-styles-output.js +1 -1
  895. package/src/components/index.js +7 -4
  896. package/src/components/inserter/block-types-tab.js +1 -1
  897. package/src/components/inserter/menu.js +2 -0
  898. package/src/components/link-control/index.js +10 -0
  899. package/src/components/link-control/search-input.js +9 -0
  900. package/src/components/link-control/search-item.js +9 -0
  901. package/src/components/link-control/search-results.js +12 -1
  902. package/src/components/writing-mode-control/stories/index.story.js +56 -0
  903. package/src/hooks/style.js +1 -1
  904. package/src/hooks/test/font-size.js +15 -12
  905. package/src/store/selectors.js +26 -24
  906. package/src/store/test/selectors.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useState","useCallback","useRef","useEffect","__","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalText","Text","FlexBlock","usePatternsState","BlockPatternsList","usePatternsPaging","PatternsFilter","usePatternCategories","isPatternFiltered","allPatternsCategory","myPatternsCategory","starterPatternsCategory","INSERTER_PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","PatternCategoryPreviews","rootClientId","onInsert","onHover","category","showTitlesAsTooltip","allPatterns","onClickPattern","name","patternSyncFilter","setPatternSyncFilter","patternSourceFilter","setPatternSourceFilter","availableCategories","scrollContainerRef","currentCategoryPatterns","filter","pattern","type","user","blockTypes","includes","categories","some","catName","c","pagingProps","changePage","onSetPatternSyncFilter","value","onSetPatternSourceFilter","children","spacing","className","size","level","as","label","length","variant","ref","blockPatterns","categoryPatterns","orientation","isDraggable","patternFilter"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/pattern-category-previews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tFlexBlock,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport BlockPatternsList from '../../block-patterns-list';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport { PatternsFilter } from './patterns-filter';\nimport { usePatternCategories } from './use-pattern-categories';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tstarterPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nconst noop = () => {};\n\nexport function PatternCategoryPreviews( {\n\trootClientId,\n\tonInsert,\n\tonHover = noop,\n\tcategory,\n\tshowTitlesAsTooltip,\n} ) {\n\tconst [ allPatterns, , onClickPattern ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId,\n\t\tcategory?.name\n\t);\n\tconst [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst availableCategories = usePatternCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\tconst scrollContainerRef = useRef();\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) => {\n\t\t\t\tif (\n\t\t\t\t\tisPatternFiltered(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tpatternSourceFilter,\n\t\t\t\t\t\tpatternSyncFilter\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === allPatternsCategory.name ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === myPatternsCategory.name &&\n\t\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === starterPatternsCategory.name &&\n\t\t\t\t\tpattern.blockTypes?.includes( 'core/post-content' )\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === 'uncategorized' ) {\n\t\t\t\t\t// The uncategorized category should show all the patterns without any category...\n\t\t\t\t\tif ( ! pattern.categories ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// ...or with no available category.\n\t\t\t\t\treturn ! pattern.categories.some( ( catName ) =>\n\t\t\t\t\t\tavailableCategories.some( ( c ) => c.name === catName )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn pattern.categories?.includes( category.name );\n\t\t\t} ),\n\t\t[\n\t\t\tallPatterns,\n\t\t\tavailableCategories,\n\t\t\tcategory.name,\n\t\t\tpatternSourceFilter,\n\t\t\tpatternSyncFilter,\n\t\t]\n\t);\n\n\tconst pagingProps = usePatternsPaging(\n\t\tcurrentCategoryPatterns,\n\t\tcategory,\n\t\tscrollContainerRef\n\t);\n\tconst { changePage } = pagingProps;\n\n\t// Hide block pattern preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\tconst onSetPatternSyncFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSyncFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSyncFilter, changePage ]\n\t);\n\tconst onSetPatternSourceFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSourceFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSourceFilter, changePage ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-header\"\n\t\t\t>\n\t\t\t\t<HStack>\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-title\"\n\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<PatternsFilter\n\t\t\t\t\t\tpatternSyncFilter={ patternSyncFilter }\n\t\t\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\t\t\tsetPatternSyncFilter={ onSetPatternSyncFilter }\n\t\t\t\t\t\tsetPatternSourceFilter={ onSetPatternSourceFilter }\n\t\t\t\t\t\tscrollContainerRef={ scrollContainerRef }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ ! currentCategoryPatterns.length && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-no-results\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'No results found' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t\t{ currentCategoryPatterns.length > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"12\"\n\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__help-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Drag and drop patterns into the canvas.' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tref={ scrollContainerRef }\n\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\tcategory={ category.name }\n\t\t\t\t\t\tisDraggable\n\t\t\t\t\t\tshowTitlesAsTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t\tpatternFilter={ patternSourceFilter }\n\t\t\t\t\t\tpagingProps={ pagingProps }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useState","useCallback","useRef","useEffect","__","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalText","Text","FlexBlock","usePatternsState","BlockPatternsList","usePatternsPaging","PatternsFilter","usePatternCategories","isPatternFiltered","allPatternsCategory","myPatternsCategory","starterPatternsCategory","INSERTER_PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","PatternCategoryPreviews","rootClientId","onInsert","onHover","category","showTitlesAsTooltip","allPatterns","onClickPattern","name","patternSyncFilter","setPatternSyncFilter","patternSourceFilter","setPatternSourceFilter","availableCategories","scrollContainerRef","currentCategoryPatterns","filter","pattern","type","user","blockTypes","includes","categories","some","catName","c","pagingProps","changePage","onSetPatternSyncFilter","value","onSetPatternSourceFilter","children","spacing","className","size","level","as","label","length","variant","ref","blockPatterns","categoryPatterns","orientation","isDraggable","patternFilter"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/pattern-category-previews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tFlexBlock,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport BlockPatternsList from '../../block-patterns-list';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport { PatternsFilter } from './patterns-filter';\nimport { usePatternCategories } from './use-pattern-categories';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tstarterPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nconst noop = () => {};\n\nexport function PatternCategoryPreviews( {\n\trootClientId,\n\tonInsert,\n\tonHover = noop,\n\tcategory,\n\tshowTitlesAsTooltip,\n} ) {\n\tconst [ allPatterns, , onClickPattern ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId,\n\t\tcategory?.name\n\t);\n\tconst [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst availableCategories = usePatternCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\tconst scrollContainerRef = useRef();\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) => {\n\t\t\t\tif (\n\t\t\t\t\tisPatternFiltered(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tpatternSourceFilter,\n\t\t\t\t\t\tpatternSyncFilter\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === allPatternsCategory.name ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === myPatternsCategory.name &&\n\t\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === starterPatternsCategory.name &&\n\t\t\t\t\tpattern.blockTypes?.includes( 'core/post-content' )\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === 'uncategorized' ) {\n\t\t\t\t\t// The uncategorized category should show all the patterns without any category...\n\t\t\t\t\tif ( ! pattern.categories ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// ...or with no available category.\n\t\t\t\t\treturn ! pattern.categories.some( ( catName ) =>\n\t\t\t\t\t\tavailableCategories.some( ( c ) => c.name === catName )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn pattern.categories?.includes( category.name );\n\t\t\t} ),\n\t\t[\n\t\t\tallPatterns,\n\t\t\tavailableCategories,\n\t\t\tcategory.name,\n\t\t\tpatternSourceFilter,\n\t\t\tpatternSyncFilter,\n\t\t]\n\t);\n\n\tconst pagingProps = usePatternsPaging(\n\t\tcurrentCategoryPatterns,\n\t\tcategory,\n\t\tscrollContainerRef\n\t);\n\tconst { changePage } = pagingProps;\n\n\t// Hide block pattern preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\tconst onSetPatternSyncFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSyncFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSyncFilter, changePage ]\n\t);\n\tconst onSetPatternSourceFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSourceFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSourceFilter, changePage ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-header\"\n\t\t\t>\n\t\t\t\t<HStack>\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-title\"\n\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<PatternsFilter\n\t\t\t\t\t\tpatternSyncFilter={ patternSyncFilter }\n\t\t\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\t\t\tsetPatternSyncFilter={ onSetPatternSyncFilter }\n\t\t\t\t\t\tsetPatternSourceFilter={ onSetPatternSourceFilter }\n\t\t\t\t\t\tscrollContainerRef={ scrollContainerRef }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ ! currentCategoryPatterns.length && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-no-results\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'No results found' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t\t{ currentCategoryPatterns.length > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"12\"\n\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__help-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Drag and drop patterns into the canvas.' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tref={ scrollContainerRef }\n\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\tcategory={ category.name }\n\t\t\t\t\t\tisDraggable\n\t\t\t\t\t\tshowTitlesAsTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t\tpatternFilter={ patternSourceFilter }\n\t\t\t\t\t\tpagingProps={ pagingProps }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","_x","_n","sprintf","speak","usePatternsState","isPatternFiltered","allPatternsCategory","myPatternsCategory","starterPatternsCategory","INSERTER_PATTERN_TYPES","hasRegisteredCategory","pattern","allCategories","categories","length","some","cat","category","name","usePatternCategories","rootClientId","sourceFilter","patterns","undefined","filteredPatterns","filter","populatedCategories","includes","sort","a","b","label","localeCompare","find","push","blockTypes","unshift","type","user"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x, _n, sprintf } from '@wordpress/i18n';\n\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tstarterPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nfunction hasRegisteredCategory( pattern, allCategories ) {\n\tif ( ! pattern.categories || ! pattern.categories.length ) {\n\t\treturn false;\n\t}\n\n\treturn pattern.categories.some( ( cat ) =>\n\t\tallCategories.some( ( category ) => category.name === cat )\n\t);\n}\n\nexport function usePatternCategories( rootClientId, sourceFilter = 'all' ) {\n\tconst [ patterns, allCategories ] = usePatternsState(\n\t\tundefined,\n\t\trootClientId\n\t);\n\n\tconst filteredPatterns = useMemo(\n\t\t() =>\n\t\t\tsourceFilter === 'all'\n\t\t\t\t? patterns\n\t\t\t\t: patterns.filter(\n\t\t\t\t\t\t( pattern ) =>\n\t\t\t\t\t\t\t! isPatternFiltered( pattern, sourceFilter )\n\t\t\t\t ),\n\t\t[ sourceFilter, patterns ]\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\tfilteredPatterns.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( ( a, b ) => a.label.localeCompare( b.label ) );\n\n\t\tif (\n\t\t\tfilteredPatterns.some(\n\t\t\t\t( pattern ) => ! hasRegisteredCategory( pattern, allCategories )\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\t\tif (\n\t\t\tfilteredPatterns.some( ( pattern ) =>\n\t\t\t\tpattern.blockTypes?.includes( 'core/post-content' )\n\t\t\t)\n\t\t) {\n\t\t\tcategories.unshift( starterPatternsCategory );\n\t\t}\n\t\tif (\n\t\t\tfilteredPatterns.some(\n\t\t\t\t( pattern ) => pattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t)\n\t\t) {\n\t\t\tcategories.unshift( myPatternsCategory );\n\t\t}\n\t\tif ( filteredPatterns.length > 0 ) {\n\t\t\tcategories.unshift( {\n\t\t\t\tname: allPatternsCategory.name,\n\t\t\t\tlabel: allPatternsCategory.label,\n\t\t\t} );\n\t\t}\n\t\tspeak(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %d: number of categories . */\n\t\t\t\t_n(\n\t\t\t\t\t'%d category button displayed.',\n\t\t\t\t\t'%d category buttons displayed.',\n\t\t\t\t\tcategories.length\n\t\t\t\t),\n\t\t\t\tcategories.length\n\t\t\t)\n\t\t);\n\t\treturn categories;\n\t}, [ allCategories, filteredPatterns ] );\n\n\treturn populatedCategories;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","_x","_n","sprintf","speak","usePatternsState","isPatternFiltered","allPatternsCategory","myPatternsCategory","starterPatternsCategory","INSERTER_PATTERN_TYPES","hasRegisteredCategory","pattern","allCategories","categories","length","some","cat","category","name","usePatternCategories","rootClientId","sourceFilter","patterns","undefined","filteredPatterns","filter","populatedCategories","includes","sort","a","b","label","localeCompare","find","push","blockTypes","unshift","type","user"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x, _n, sprintf } from '@wordpress/i18n';\n\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tstarterPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nfunction hasRegisteredCategory( pattern, allCategories ) {\n\tif ( ! pattern.categories || ! pattern.categories.length ) {\n\t\treturn false;\n\t}\n\n\treturn pattern.categories.some( ( cat ) =>\n\t\tallCategories.some( ( category ) => category.name === cat )\n\t);\n}\n\nexport function usePatternCategories( rootClientId, sourceFilter = 'all' ) {\n\tconst [ patterns, allCategories ] = usePatternsState(\n\t\tundefined,\n\t\trootClientId\n\t);\n\n\tconst filteredPatterns = useMemo(\n\t\t() =>\n\t\t\tsourceFilter === 'all'\n\t\t\t\t? patterns\n\t\t\t\t: patterns.filter(\n\t\t\t\t\t\t( pattern ) =>\n\t\t\t\t\t\t\t! isPatternFiltered( pattern, sourceFilter )\n\t\t\t\t ),\n\t\t[ sourceFilter, patterns ]\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\tfilteredPatterns.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( ( a, b ) => a.label.localeCompare( b.label ) );\n\n\t\tif (\n\t\t\tfilteredPatterns.some(\n\t\t\t\t( pattern ) => ! hasRegisteredCategory( pattern, allCategories )\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\t\tif (\n\t\t\tfilteredPatterns.some( ( pattern ) =>\n\t\t\t\tpattern.blockTypes?.includes( 'core/post-content' )\n\t\t\t)\n\t\t) {\n\t\t\tcategories.unshift( starterPatternsCategory );\n\t\t}\n\t\tif (\n\t\t\tfilteredPatterns.some(\n\t\t\t\t( pattern ) => pattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t)\n\t\t) {\n\t\t\tcategories.unshift( myPatternsCategory );\n\t\t}\n\t\tif ( filteredPatterns.length > 0 ) {\n\t\t\tcategories.unshift( {\n\t\t\t\tname: allPatternsCategory.name,\n\t\t\t\tlabel: allPatternsCategory.label,\n\t\t\t} );\n\t\t}\n\t\tspeak(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %d: number of categories . */\n\t\t\t\t_n(\n\t\t\t\t\t'%d category button displayed.',\n\t\t\t\t\t'%d category buttons displayed.',\n\t\t\t\t\tcategories.length\n\t\t\t\t),\n\t\t\t\tcategories.length\n\t\t\t)\n\t\t);\n\t\treturn categories;\n\t}, [ allCategories, filteredPatterns ] );\n\n\treturn populatedCategories;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -143,7 +144,7 @@ export function BlockTypesTab({
143
144
  if (item.category === 'reusable') {
144
145
  continue;
145
146
  }
146
- if (rootClientId && item.isAllowedInCurrentRoot) {
147
+ if (item.isAllowedInCurrentRoot) {
147
148
  itemsForCurrentRoot.push(item);
148
149
  } else {
149
150
  itemsRemaining.push(item);
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","useMemo","useEffect","forwardRef","useAsyncList","BlockTypesList","InserterPanel","useBlockTypesState","InserterListbox","orderBy","InserterNoResults","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getBlockNamespace","item","name","split","MAX_SUGGESTED_ITEMS","EMPTY_ARRAY","BlockTypesTabPanel","items","collections","categories","onSelectItem","onHover","showMostUsedBlocks","className","suggestedItems","slice","uncategorizedItems","filter","category","itemsPerCollection","result","Object","keys","forEach","namespace","length","currentlyRenderedCategories","didRenderAllCategories","collectionEntries","entries","currentlyRenderedCollections","children","title","onSelect","label","map","categoryItems","slug","icon","collection","collectionItems","BlockTypesTab","rootClientId","onInsert","ref","itemsForCurrentRoot","itemsRemaining","isAllowedInCurrentRoot","push"],"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useEffect, forwardRef } 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';\nimport { orderBy } from '../../utils/sorting';\nimport InserterNoResults from './no-results';\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 BlockTypesTabPanel( {\n\titems,\n\tcollections,\n\tcategories,\n\tonSelectItem,\n\tonHover,\n\tshowMostUsedBlocks,\n\tclassName,\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 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<div className={ className }>\n\t\t\t{ showMostUsedBlocks &&\n\t\t\t\t// Only show the most used blocks if the total amount of block\n\t\t\t\t// is larger than 1 row, otherwise it is not so useful.\n\t\t\t\titems.length > 3 &&\n\t\t\t\t!! 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{ currentlyRenderedCategories.map( ( category ) => {\n\t\t\t\tconst categoryItems = items.filter(\n\t\t\t\t\t( item ) => item.category === category.slug\n\t\t\t\t);\n\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\ticon={ category.icon }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ categoryItems }\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={ category.title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ didRenderAllCategories && uncategorizedItems.length > 0 && (\n\t\t\t\t<InserterPanel\n\t\t\t\t\tclassName=\"block-editor-inserter__uncategorized-blocks-panel\"\n\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t>\n\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\titems={ uncategorizedItems }\n\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ __( 'Uncategorized' ) }\n\t\t\t\t\t/>\n\t\t\t\t</InserterPanel>\n\t\t\t) }\n\n\t\t\t{ currentlyRenderedCollections.map(\n\t\t\t\t( [ namespace, collection ] ) => {\n\t\t\t\t\tconst collectionItems = itemsPerCollection[ namespace ];\n\t\t\t\t\tif ( ! collectionItems || ! collectionItems.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\tkey={ namespace }\n\t\t\t\t\t\t\ttitle={ collection.title }\n\t\t\t\t\t\t\ticon={ collection.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={ collectionItems }\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={ collection.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\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport function BlockTypesTab(\n\t{ rootClientId, onInsert, onHover, showMostUsedBlocks },\n\tref\n) {\n\tconst [ items, categories, collections, onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tif ( ! items.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\tconst itemsForCurrentRoot = [];\n\tconst itemsRemaining = [];\n\n\tfor ( const item of items ) {\n\t\t// Skip reusable blocks, they moved to the patterns tab.\n\t\tif ( item.category === 'reusable' ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( rootClientId && item.isAllowedInCurrentRoot ) {\n\t\t\titemsForCurrentRoot.push( item );\n\t\t} else {\n\t\t\titemsRemaining.push( item );\n\t\t}\n\t}\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t<div ref={ ref }>\n\t\t\t\t{ !! itemsForCurrentRoot.length && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\t\t\titems={ itemsForCurrentRoot }\n\t\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\t\tcollections={ collections }\n\t\t\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__insertable-blocks-at-selection\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\titems={ itemsRemaining }\n\t\t\t\t\tcategories={ categories }\n\t\t\t\t\tcollections={ collections }\n\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tclassName=\"block-editor-inserter__all-blocks\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterListbox>\n\t);\n}\n\nexport default forwardRef( BlockTypesTab );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","useMemo","useEffect","forwardRef","useAsyncList","BlockTypesList","InserterPanel","useBlockTypesState","InserterListbox","orderBy","InserterNoResults","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getBlockNamespace","item","name","split","MAX_SUGGESTED_ITEMS","EMPTY_ARRAY","BlockTypesTabPanel","items","collections","categories","onSelectItem","onHover","showMostUsedBlocks","className","suggestedItems","slice","uncategorizedItems","filter","category","itemsPerCollection","result","Object","keys","forEach","namespace","length","currentlyRenderedCategories","didRenderAllCategories","collectionEntries","entries","currentlyRenderedCollections","children","title","onSelect","label","map","categoryItems","slug","icon","collection","collectionItems","BlockTypesTab","rootClientId","onInsert","ref","itemsForCurrentRoot","itemsRemaining","isAllowedInCurrentRoot","push"],"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useEffect, forwardRef } 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';\nimport { orderBy } from '../../utils/sorting';\nimport InserterNoResults from './no-results';\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 BlockTypesTabPanel( {\n\titems,\n\tcollections,\n\tcategories,\n\tonSelectItem,\n\tonHover,\n\tshowMostUsedBlocks,\n\tclassName,\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 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<div className={ className }>\n\t\t\t{ showMostUsedBlocks &&\n\t\t\t\t// Only show the most used blocks if the total amount of block\n\t\t\t\t// is larger than 1 row, otherwise it is not so useful.\n\t\t\t\titems.length > 3 &&\n\t\t\t\t!! 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{ currentlyRenderedCategories.map( ( category ) => {\n\t\t\t\tconst categoryItems = items.filter(\n\t\t\t\t\t( item ) => item.category === category.slug\n\t\t\t\t);\n\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\ticon={ category.icon }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ categoryItems }\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={ category.title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ didRenderAllCategories && uncategorizedItems.length > 0 && (\n\t\t\t\t<InserterPanel\n\t\t\t\t\tclassName=\"block-editor-inserter__uncategorized-blocks-panel\"\n\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t>\n\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\titems={ uncategorizedItems }\n\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ __( 'Uncategorized' ) }\n\t\t\t\t\t/>\n\t\t\t\t</InserterPanel>\n\t\t\t) }\n\n\t\t\t{ currentlyRenderedCollections.map(\n\t\t\t\t( [ namespace, collection ] ) => {\n\t\t\t\t\tconst collectionItems = itemsPerCollection[ namespace ];\n\t\t\t\t\tif ( ! collectionItems || ! collectionItems.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\tkey={ namespace }\n\t\t\t\t\t\t\ttitle={ collection.title }\n\t\t\t\t\t\t\ticon={ collection.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={ collectionItems }\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={ collection.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\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport function BlockTypesTab(\n\t{ rootClientId, onInsert, onHover, showMostUsedBlocks },\n\tref\n) {\n\tconst [ items, categories, collections, onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tif ( ! items.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\tconst itemsForCurrentRoot = [];\n\tconst itemsRemaining = [];\n\n\tfor ( const item of items ) {\n\t\t// Skip reusable blocks, they moved to the patterns tab.\n\t\tif ( item.category === 'reusable' ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( item.isAllowedInCurrentRoot ) {\n\t\t\titemsForCurrentRoot.push( item );\n\t\t} else {\n\t\t\titemsRemaining.push( item );\n\t\t}\n\t}\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t<div ref={ ref }>\n\t\t\t\t{ !! itemsForCurrentRoot.length && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\t\t\titems={ itemsForCurrentRoot }\n\t\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\t\tcollections={ collections }\n\t\t\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__insertable-blocks-at-selection\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\titems={ itemsRemaining }\n\t\t\t\t\tcategories={ categories }\n\t\t\t\t\tcollections={ collections }\n\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tclassName=\"block-editor-inserter__all-blocks\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterListbox>\n\t);\n}\n\nexport default forwardRef( BlockTypesTab );\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","__","BlockTypesList","useClipboardBlock","useBlockTypeImpressions","createInserterSection","filterInserterItems","useBlockTypesState","jsx","_jsx","getBlockNamespace","item","name","split","BlockTypesTab","onSelect","rootClientId","listProps","rawBlockTypes","collections","clipboardBlock","filteredBlockTypes","blockTypes","items","trackBlockTypeSelected","handleSelect","args","collectionSections","result","Object","keys","forEach","namespace","data","filter","length","push","key","metadata","icon","title","sections","label"],"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport useClipboardBlock from './hooks/use-clipboard-block';\nimport useBlockTypeImpressions from './hooks/use-block-type-impressions';\nimport { createInserterSection, filterInserterItems } from './utils';\nimport useBlockTypesState from './hooks/use-block-types-state';\n\nconst getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];\n\nfunction BlockTypesTab( { onSelect, rootClientId, listProps } ) {\n\tconst [ rawBlockTypes, , collections ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonSelect,\n\t\ttrue\n\t);\n\tconst clipboardBlock = useClipboardBlock( rootClientId );\n\tconst filteredBlockTypes = filterInserterItems( rawBlockTypes );\n\tconst blockTypes = clipboardBlock\n\t\t? [ clipboardBlock, ...filteredBlockTypes ]\n\t\t: filteredBlockTypes;\n\tconst { items, trackBlockTypeSelected } =\n\t\tuseBlockTypeImpressions( blockTypes );\n\n\tconst handleSelect = ( ...args ) => {\n\t\ttrackBlockTypeSelected( ...args );\n\t\tonSelect( ...args );\n\t};\n\n\tconst collectionSections = useMemo( () => {\n\t\tconst result = [];\n\t\tObject.keys( collections ).forEach( ( namespace ) => {\n\t\t\tconst data = items.filter(\n\t\t\t\t( item ) => getBlockNamespace( item ) === namespace\n\t\t\t);\n\t\t\tif ( data.length > 0 ) {\n\t\t\t\tresult.push(\n\t\t\t\t\tcreateInserterSection( {\n\t\t\t\t\t\tkey: `collection-${ namespace }`,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\ticon: collections[ namespace ].icon,\n\t\t\t\t\t\t\ttitle: collections[ namespace ].title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\titems: data,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn result;\n\t}, [ items, collections ] );\n\n\tconst sections = [\n\t\tcreateInserterSection( { key: 'default', items } ),\n\t\t...collectionSections,\n\t];\n\n\treturn (\n\t\t<BlockTypesList\n\t\t\tname=\"Blocks\"\n\t\t\tsections={ sections }\n\t\t\tonSelect={ handleSelect }\n\t\t\tlistProps={ listProps }\n\t\t\tlabel={ __( 'Blocks menu' ) }\n\t\t/>\n\t);\n}\n\nexport default BlockTypesTab;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,cAAc,MAAM,qBAAqB;AAChD,OAAOC,iBAAiB,MAAM,6BAA6B;AAC3D,OAAOC,uBAAuB,MAAM,oCAAoC;AACxE,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,SAAS;AACpE,OAAOC,kBAAkB,MAAM,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/D,MAAMC,iBAAiB,GAAKC,IAAI,IAAMA,IAAI,CAACC,IAAI,CAACC,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;AAEjE,SAASC,aAAaA,CAAE;EAAEC,QAAQ;EAAEC,YAAY;EAAEC;AAAU,CAAC,EAAG;EAC/D,MAAM,CAAEC,aAAa,GAAIC,WAAW,CAAE,GAAGZ,kBAAkB,CAC1DS,YAAY,EACZD,QAAQ,EACR,IACD,CAAC;EACD,MAAMK,cAAc,GAAGjB,iBAAiB,CAAEa,YAAa,CAAC;EACxD,MAAMK,kBAAkB,GAAGf,mBAAmB,CAAEY,aAAc,CAAC;EAC/D,MAAMI,UAAU,GAAGF,cAAc,GAC9B,CAAEA,cAAc,EAAE,GAAGC,kBAAkB,CAAE,GACzCA,kBAAkB;EACrB,MAAM;IAAEE,KAAK;IAAEC;EAAuB,CAAC,GACtCpB,uBAAuB,CAAEkB,UAAW,CAAC;EAEtC,MAAMG,YAAY,GAAGA,CAAE,GAAGC,IAAI,KAAM;IACnCF,sBAAsB,CAAE,GAAGE,IAAK,CAAC;IACjCX,QAAQ,CAAE,GAAGW,IAAK,CAAC;EACpB,CAAC;EAED,MAAMC,kBAAkB,GAAG3B,OAAO,CAAE,MAAM;IACzC,MAAM4B,MAAM,GAAG,EAAE;IACjBC,MAAM,CAACC,IAAI,CAAEX,WAAY,CAAC,CAACY,OAAO,CAAIC,SAAS,IAAM;MACpD,MAAMC,IAAI,GAAGV,KAAK,CAACW,MAAM,CACtBvB,IAAI,IAAMD,iBAAiB,CAAEC,IAAK,CAAC,KAAKqB,SAC3C,CAAC;MACD,IAAKC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAG;QACtBP,MAAM,CAACQ,IAAI,CACV/B,qBAAqB,CAAE;UACtBgC,GAAG,EAAE,cAAeL,SAAS,EAAG;UAChCM,QAAQ,EAAE;YACTC,IAAI,EAAEpB,WAAW,CAAEa,SAAS,CAAE,CAACO,IAAI;YACnCC,KAAK,EAAErB,WAAW,CAAEa,SAAS,CAAE,CAACQ;UACjC,CAAC;UACDjB,KAAK,EAAEU;QACR,CAAE,CACH,CAAC;MACF;IACD,CAAE,CAAC;IAEH,OAAOL,MAAM;EACd,CAAC,EAAE,CAAEL,KAAK,EAAEJ,WAAW,CAAG,CAAC;EAE3B,MAAMsB,QAAQ,GAAG,CAChBpC,qBAAqB,CAAE;IAAEgC,GAAG,EAAE,SAAS;IAAEd;EAAM,CAAE,CAAC,EAClD,GAAGI,kBAAkB,CACrB;EAED,oBACClB,IAAA,CAACP,cAAc;IACdU,IAAI,EAAC,QAAQ;IACb6B,QAAQ,EAAGA,QAAU;IACrB1B,QAAQ,EAAGU,YAAc;IACzBR,SAAS,EAAGA,SAAW;IACvByB,KAAK,EAAGzC,EAAE,CAAE,aAAc;EAAG,CAC7B,CAAC;AAEJ;AAEA,eAAea,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","__","BlockTypesList","useClipboardBlock","useBlockTypeImpressions","createInserterSection","filterInserterItems","useBlockTypesState","jsx","_jsx","getBlockNamespace","item","name","split","BlockTypesTab","onSelect","rootClientId","listProps","rawBlockTypes","collections","clipboardBlock","filteredBlockTypes","blockTypes","items","trackBlockTypeSelected","handleSelect","args","collectionSections","result","Object","keys","forEach","namespace","data","filter","length","push","key","metadata","icon","title","sections","label"],"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport useClipboardBlock from './hooks/use-clipboard-block';\nimport useBlockTypeImpressions from './hooks/use-block-type-impressions';\nimport { createInserterSection, filterInserterItems } from './utils';\nimport useBlockTypesState from './hooks/use-block-types-state';\n\nconst getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];\n\nfunction BlockTypesTab( { onSelect, rootClientId, listProps } ) {\n\tconst [ rawBlockTypes, , collections ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonSelect,\n\t\ttrue\n\t);\n\tconst clipboardBlock = useClipboardBlock( rootClientId );\n\tconst filteredBlockTypes = filterInserterItems( rawBlockTypes );\n\tconst blockTypes = clipboardBlock\n\t\t? [ clipboardBlock, ...filteredBlockTypes ]\n\t\t: filteredBlockTypes;\n\tconst { items, trackBlockTypeSelected } =\n\t\tuseBlockTypeImpressions( blockTypes );\n\n\tconst handleSelect = ( ...args ) => {\n\t\ttrackBlockTypeSelected( ...args );\n\t\tonSelect( ...args );\n\t};\n\n\tconst collectionSections = useMemo( () => {\n\t\tconst result = [];\n\t\tObject.keys( collections ).forEach( ( namespace ) => {\n\t\t\tconst data = items.filter(\n\t\t\t\t( item ) => getBlockNamespace( item ) === namespace\n\t\t\t);\n\t\t\tif ( data.length > 0 ) {\n\t\t\t\tresult.push(\n\t\t\t\t\tcreateInserterSection( {\n\t\t\t\t\t\tkey: `collection-${ namespace }`,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\ticon: collections[ namespace ].icon,\n\t\t\t\t\t\t\ttitle: collections[ namespace ].title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\titems: data,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn result;\n\t}, [ items, collections ] );\n\n\tconst sections = [\n\t\tcreateInserterSection( { key: 'default', items } ),\n\t\t...collectionSections,\n\t];\n\n\treturn (\n\t\t<BlockTypesList\n\t\t\tname=\"Blocks\"\n\t\t\tsections={ sections }\n\t\t\tonSelect={ handleSelect }\n\t\t\tlistProps={ listProps }\n\t\t\tlabel={ __( 'Blocks menu' ) }\n\t\t/>\n\t);\n}\n\nexport default BlockTypesTab;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,cAAc,MAAM,qBAAqB;AAChD,OAAOC,iBAAiB,MAAM,6BAA6B;AAC3D,OAAOC,uBAAuB,MAAM,oCAAoC;AACxE,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,SAAS;AACpE,OAAOC,kBAAkB,MAAM,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/D,MAAMC,iBAAiB,GAAKC,IAAI,IAAMA,IAAI,CAACC,IAAI,CAACC,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;AAEjE,SAASC,aAAaA,CAAE;EAAEC,QAAQ;EAAEC,YAAY;EAAEC;AAAU,CAAC,EAAG;EAC/D,MAAM,CAAEC,aAAa,GAAIC,WAAW,CAAE,GAAGZ,kBAAkB,CAC1DS,YAAY,EACZD,QAAQ,EACR,IACD,CAAC;EACD,MAAMK,cAAc,GAAGjB,iBAAiB,CAAEa,YAAa,CAAC;EACxD,MAAMK,kBAAkB,GAAGf,mBAAmB,CAAEY,aAAc,CAAC;EAC/D,MAAMI,UAAU,GAAGF,cAAc,GAC9B,CAAEA,cAAc,EAAE,GAAGC,kBAAkB,CAAE,GACzCA,kBAAkB;EACrB,MAAM;IAAEE,KAAK;IAAEC;EAAuB,CAAC,GACtCpB,uBAAuB,CAAEkB,UAAW,CAAC;EAEtC,MAAMG,YAAY,GAAGA,CAAE,GAAGC,IAAI,KAAM;IACnCF,sBAAsB,CAAE,GAAGE,IAAK,CAAC;IACjCX,QAAQ,CAAE,GAAGW,IAAK,CAAC;EACpB,CAAC;EAED,MAAMC,kBAAkB,GAAG3B,OAAO,CAAE,MAAM;IACzC,MAAM4B,MAAM,GAAG,EAAE;IACjBC,MAAM,CAACC,IAAI,CAAEX,WAAY,CAAC,CAACY,OAAO,CAAIC,SAAS,IAAM;MACpD,MAAMC,IAAI,GAAGV,KAAK,CAACW,MAAM,CACtBvB,IAAI,IAAMD,iBAAiB,CAAEC,IAAK,CAAC,KAAKqB,SAC3C,CAAC;MACD,IAAKC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAG;QACtBP,MAAM,CAACQ,IAAI,CACV/B,qBAAqB,CAAE;UACtBgC,GAAG,EAAE,cAAeL,SAAS,EAAG;UAChCM,QAAQ,EAAE;YACTC,IAAI,EAAEpB,WAAW,CAAEa,SAAS,CAAE,CAACO,IAAI;YACnCC,KAAK,EAAErB,WAAW,CAAEa,SAAS,CAAE,CAACQ;UACjC,CAAC;UACDjB,KAAK,EAAEU;QACR,CAAE,CACH,CAAC;MACF;IACD,CAAE,CAAC;IAEH,OAAOL,MAAM;EACd,CAAC,EAAE,CAAEL,KAAK,EAAEJ,WAAW,CAAG,CAAC;EAE3B,MAAMsB,QAAQ,GAAG,CAChBpC,qBAAqB,CAAE;IAAEgC,GAAG,EAAE,SAAS;IAAEd;EAAM,CAAE,CAAC,EAClD,GAAGI,kBAAkB,CACrB;EAED,oBACClB,IAAA,CAACP,cAAc;IACdU,IAAI,EAAC,QAAQ;IACb6B,QAAQ,EAAGA,QAAU;IACrB1B,QAAQ,EAAGU,YAAc;IACzBR,SAAS,EAAGA,SAAW;IACvByB,KAAK,EAAGzC,EAAE,CAAE,aAAc;EAAG,CAC7B,CAAC;AAEJ;AAEA,eAAea,aAAa","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["usePrevious","useReducedMotion","privateApis","componentsPrivateApis","__unstableMotion","motion","useState","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","CategoryTabs","categories","selectedCategory","onSelectCategory","children","ANIMATION_DURATION","disableMotion","defaultTransition","type","duration","ease","previousSelectedCategory","selectedTabId","name","activeTabId","setActiveId","firstTabId","selectOnMove","orientation","onSelect","categoryId","find","category","onActiveTabIdChange","TabList","className","map","Tab","tabId","label","undefined","TabPanel","focusable","div","initial","animate","variants","open","transform","transitionEnd","zIndex","closed","transition"],"sources":["@wordpress/block-editor/src/components/inserter/category-tabs/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious, useReducedMotion } from '@wordpress/compose';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction CategoryTabs( {\n\tcategories,\n\tselectedCategory,\n\tonSelectCategory,\n\tchildren,\n} ) {\n\t// Copied from InterfaceSkeleton.\n\tconst ANIMATION_DURATION = 0.25;\n\tconst disableMotion = useReducedMotion();\n\tconst defaultTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : ANIMATION_DURATION,\n\t\tease: [ 0.6, 0, 0.4, 1 ],\n\t};\n\n\tconst previousSelectedCategory = usePrevious( selectedCategory );\n\n\tconst selectedTabId = selectedCategory ? selectedCategory.name : null;\n\tconst [ activeTabId, setActiveId ] = useState();\n\tconst firstTabId = categories?.[ 0 ]?.name;\n\n\t// If there is no active tab, make the first tab the active tab, so that\n\t// when focus is moved to the tablist, the first tab will be focused\n\t// despite not being selected\n\tif ( selectedTabId === null && ! activeTabId && firstTabId ) {\n\t\tsetActiveId( firstTabId );\n\t}\n\n\treturn (\n\t\t<Tabs\n\t\t\tselectOnMove={ false }\n\t\t\tselectedTabId={ selectedTabId }\n\t\t\torientation=\"vertical\"\n\t\t\tonSelect={ ( categoryId ) => {\n\t\t\t\t// Pass the full category object\n\t\t\t\tonSelectCategory(\n\t\t\t\t\tcategories.find(\n\t\t\t\t\t\t( category ) => category.name === categoryId\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} }\n\t\t\tactiveTabId={ activeTabId }\n\t\t\tonActiveTabIdChange={ setActiveId }\n\t\t>\n\t\t\t<Tabs.TabList className=\"block-editor-inserter__category-tablist\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\ttabId={ category.name }\n\t\t\t\t\t\taria-label={ category.label }\n\t\t\t\t\t\taria-current={\n\t\t\t\t\t\t\tcategory === selectedCategory ? 'true' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t) ) }\n\t\t\t</Tabs.TabList>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\ttabId={ category.name }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"block-editor-inserter__category-panel\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t! previousSelectedCategory ? 'closed' : 'open'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\topen: {\n\t\t\t\t\t\t\t\ttransform: 'translateX( 0 )',\n\t\t\t\t\t\t\t\ttransitionEnd: {\n\t\t\t\t\t\t\t\t\tzIndex: '1',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tclosed: {\n\t\t\t\t\t\t\t\ttransform: 'translateX( -100% )',\n\t\t\t\t\t\t\t\tzIndex: '-1',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</motion.div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t) ) }\n\t\t</Tabs>\n\t);\n}\n\nexport default CategoryTabs;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["usePrevious","useReducedMotion","privateApis","componentsPrivateApis","__unstableMotion","motion","useState","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","CategoryTabs","categories","selectedCategory","onSelectCategory","children","ANIMATION_DURATION","disableMotion","defaultTransition","type","duration","ease","previousSelectedCategory","selectedTabId","name","activeTabId","setActiveId","firstTabId","selectOnMove","orientation","onSelect","categoryId","find","category","onActiveTabIdChange","TabList","className","map","Tab","tabId","label","undefined","TabPanel","focusable","div","initial","animate","variants","open","transform","transitionEnd","zIndex","closed","transition"],"sources":["@wordpress/block-editor/src/components/inserter/category-tabs/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious, useReducedMotion } from '@wordpress/compose';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction CategoryTabs( {\n\tcategories,\n\tselectedCategory,\n\tonSelectCategory,\n\tchildren,\n} ) {\n\t// Copied from InterfaceSkeleton.\n\tconst ANIMATION_DURATION = 0.25;\n\tconst disableMotion = useReducedMotion();\n\tconst defaultTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : ANIMATION_DURATION,\n\t\tease: [ 0.6, 0, 0.4, 1 ],\n\t};\n\n\tconst previousSelectedCategory = usePrevious( selectedCategory );\n\n\tconst selectedTabId = selectedCategory ? selectedCategory.name : null;\n\tconst [ activeTabId, setActiveId ] = useState();\n\tconst firstTabId = categories?.[ 0 ]?.name;\n\n\t// If there is no active tab, make the first tab the active tab, so that\n\t// when focus is moved to the tablist, the first tab will be focused\n\t// despite not being selected\n\tif ( selectedTabId === null && ! activeTabId && firstTabId ) {\n\t\tsetActiveId( firstTabId );\n\t}\n\n\treturn (\n\t\t<Tabs\n\t\t\tselectOnMove={ false }\n\t\t\tselectedTabId={ selectedTabId }\n\t\t\torientation=\"vertical\"\n\t\t\tonSelect={ ( categoryId ) => {\n\t\t\t\t// Pass the full category object\n\t\t\t\tonSelectCategory(\n\t\t\t\t\tcategories.find(\n\t\t\t\t\t\t( category ) => category.name === categoryId\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} }\n\t\t\tactiveTabId={ activeTabId }\n\t\t\tonActiveTabIdChange={ setActiveId }\n\t\t>\n\t\t\t<Tabs.TabList className=\"block-editor-inserter__category-tablist\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\ttabId={ category.name }\n\t\t\t\t\t\taria-label={ category.label }\n\t\t\t\t\t\taria-current={\n\t\t\t\t\t\t\tcategory === selectedCategory ? 'true' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t) ) }\n\t\t\t</Tabs.TabList>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\ttabId={ category.name }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"block-editor-inserter__category-panel\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t! previousSelectedCategory ? 'closed' : 'open'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\topen: {\n\t\t\t\t\t\t\t\ttransform: 'translateX( 0 )',\n\t\t\t\t\t\t\t\ttransitionEnd: {\n\t\t\t\t\t\t\t\t\tzIndex: '1',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tclosed: {\n\t\t\t\t\t\t\t\ttransform: 'translateX( -100% )',\n\t\t\t\t\t\t\t\tzIndex: '-1',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</motion.div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t) ) }\n\t\t</Tabs>\n\t);\n}\n\nexport default CategoryTabs;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","setBlockTypeImpressions","store","blockEditorStore","useBlockTypeImpressions","blockTypes","blockTypeImpressions","select","getSettings","getBlockEditorSettings","impressions","updateSettings","items","map","blockType","isNew","name","trackBlockTypeSelected","updatedBlockTypeImpressions"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-type-impressions.native.js"],"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 } =\n\t\t\tselect( blockEditorStore );\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"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,uBAAuB,QAAQ,gCAAgC;;AAExE;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,gBAAgB;AAE1D,SAASC,uBAAuBA,CAAEC,UAAU,EAAG;EAC9C,MAAM;IAAEC;EAAqB,CAAC,GAAGP,SAAS,CAAIQ,MAAM,IAAM;IACzD,MAAM;MAAEC,WAAW,EAAEC;IAAuB,CAAC,GAC5CF,MAAM,CAAEJ,gBAAiB,CAAC;IAC3B,MAAM;MAAEO;IAAY,CAAC,GAAGD,sBAAsB,CAAC,CAAC;IAEhD,OAAO;MACNH,oBAAoB,EAAEI;IACvB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAe,CAAC,GAAGX,WAAW,CAAEG,gBAAiB,CAAC;EAE1D,MAAMS,KAAK,GAAGP,UAAU,CAACQ,GAAG,CAAIC,SAAS,KAAQ;IAChD,GAAGA,SAAS;IACZC,KAAK,EAAET,oBAAoB,CAAEQ,SAAS,CAACE,IAAI,CAAE,GAAG;EACjD,CAAC,CAAG,CAAC;EACL,MAAMC,sBAAsB,GAAGA,CAAE;IAAED;EAAK,CAAC,KAAM;IAC9C,IAAKV,oBAAoB,CAAEU,IAAI,CAAE,GAAG,CAAC,EAAG;MACvC,MAAME,2BAA2B,GAAG;QACnC,GAAGZ,oBAAoB;QACvB,CAAEU,IAAI,GAAI;MACX,CAAC;MACD;MACAL,cAAc,CAAE;QACfD,WAAW,EAAEQ;MACd,CAAE,CAAC;;MAEH;MACAjB,uBAAuB,CAAEiB,2BAA4B,CAAC;IACvD;EACD,CAAC;EAED,OAAO;IAAEN,KAAK;IAAEK;EAAuB,CAAC;AACzC;AAEA,eAAeb,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","setBlockTypeImpressions","store","blockEditorStore","useBlockTypeImpressions","blockTypes","blockTypeImpressions","select","getSettings","getBlockEditorSettings","impressions","updateSettings","items","map","blockType","isNew","name","trackBlockTypeSelected","updatedBlockTypeImpressions"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-type-impressions.native.js"],"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 } =\n\t\t\tselect( blockEditorStore );\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"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,uBAAuB,QAAQ,gCAAgC;;AAExE;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,gBAAgB;AAE1D,SAASC,uBAAuBA,CAAEC,UAAU,EAAG;EAC9C,MAAM;IAAEC;EAAqB,CAAC,GAAGP,SAAS,CAAIQ,MAAM,IAAM;IACzD,MAAM;MAAEC,WAAW,EAAEC;IAAuB,CAAC,GAC5CF,MAAM,CAAEJ,gBAAiB,CAAC;IAC3B,MAAM;MAAEO;IAAY,CAAC,GAAGD,sBAAsB,CAAC,CAAC;IAEhD,OAAO;MACNH,oBAAoB,EAAEI;IACvB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAe,CAAC,GAAGX,WAAW,CAAEG,gBAAiB,CAAC;EAE1D,MAAMS,KAAK,GAAGP,UAAU,CAACQ,GAAG,CAAIC,SAAS,KAAQ;IAChD,GAAGA,SAAS;IACZC,KAAK,EAAET,oBAAoB,CAAEQ,SAAS,CAACE,IAAI,CAAE,GAAG;EACjD,CAAC,CAAG,CAAC;EACL,MAAMC,sBAAsB,GAAGA,CAAE;IAAED;EAAK,CAAC,KAAM;IAC9C,IAAKV,oBAAoB,CAAEU,IAAI,CAAE,GAAG,CAAC,EAAG;MACvC,MAAME,2BAA2B,GAAG;QACnC,GAAGZ,oBAAoB;QACvB,CAAEU,IAAI,GAAI;MACX,CAAC;MACD;MACAL,cAAc,CAAE;QACfD,WAAW,EAAEQ;MACd,CAAE,CAAC;;MAEH;MACAjB,uBAAuB,CAAEiB,2BAA4B,CAAC;IACvD;EACD,CAAC;EAED,OAAO;IAAEN,KAAK;IAAEK;EAAuB,CAAC;AACzC;AAEA,eAAeb,uBAAuB","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","cloneBlock","createBlock","useDispatch","useSelect","__","sprintf","store","noticesStore","blockEditorStore","unlock","INSERTER_PATTERN_TYPES","isFiltered","usePatternsState","onInsert","rootClientId","selectedCategory","isQuick","options","patternCategories","patterns","userPatternCategories","select","getSettings","__experimentalGetAllowedPatterns","__experimentalUserPatternCategories","__experimentalBlockPatternCategories","getClosestAllowedInsertionPointForPattern","allCategories","categories","forEach","userCategory","find","existingCategory","name","push","createSuccessNotice","onClickPattern","pattern","blocks","destinationRootClientId","patternBlocks","type","user","syncStatus","ref","id","map","block","clonedBlock","attributes","metadata","includes","title"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-patterns-state.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { cloneBlock, createBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\nimport { INSERTER_PATTERN_TYPES } from '../block-patterns-tab/utils';\nimport { isFiltered } from '../../../store/utils';\n\n/**\n * Retrieves the block patterns inserter state.\n *\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @param {string=} rootClientId Insertion's root client ID.\n * @param {string} selectedCategory The selected pattern category.\n * @param {boolean} isQuick For the quick inserter render only allowed patterns.\n *\n * @return {Array} Returns the patterns state. (patterns, categories, onSelect handler)\n */\nconst usePatternsState = (\n\tonInsert,\n\trootClientId,\n\tselectedCategory,\n\tisQuick\n) => {\n\tconst options = useMemo(\n\t\t() => ( { [ isFiltered ]: !! isQuick } ),\n\t\t[ isQuick ]\n\t);\n\tconst { patternCategories, patterns, userPatternCategories } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __experimentalGetAllowedPatterns } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst {\n\t\t\t\t__experimentalUserPatternCategories,\n\t\t\t\t__experimentalBlockPatternCategories,\n\t\t\t} = getSettings();\n\t\t\treturn {\n\t\t\t\tpatterns: __experimentalGetAllowedPatterns(\n\t\t\t\t\trootClientId,\n\t\t\t\t\toptions\n\t\t\t\t),\n\t\t\t\tuserPatternCategories: __experimentalUserPatternCategories,\n\t\t\t\tpatternCategories: __experimentalBlockPatternCategories,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, options ]\n\t);\n\tconst { getClosestAllowedInsertionPointForPattern } = unlock(\n\t\tuseSelect( blockEditorStore )\n\t);\n\n\tconst allCategories = useMemo( () => {\n\t\tconst categories = [ ...patternCategories ];\n\t\tuserPatternCategories?.forEach( ( userCategory ) => {\n\t\t\tif (\n\t\t\t\t! categories.find(\n\t\t\t\t\t( existingCategory ) =>\n\t\t\t\t\t\texistingCategory.name === userCategory.name\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcategories.push( userCategory );\n\t\t\t}\n\t\t} );\n\t\treturn categories;\n\t}, [ patternCategories, userPatternCategories ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst onClickPattern = useCallback(\n\t\t( pattern, blocks ) => {\n\t\t\tconst destinationRootClientId = isQuick\n\t\t\t\t? rootClientId\n\t\t\t\t: getClosestAllowedInsertionPointForPattern(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\trootClientId\n\t\t\t\t );\n\t\t\tif ( destinationRootClientId === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst patternBlocks =\n\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\t\tpattern.syncStatus !== 'unsynced'\n\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t: blocks;\n\t\t\tonInsert(\n\t\t\t\t( patternBlocks ?? [] ).map( ( block ) => {\n\t\t\t\t\tconst clonedBlock = cloneBlock( block );\n\t\t\t\t\tif (\n\t\t\t\t\t\tclonedBlock.attributes.metadata?.categories?.includes(\n\t\t\t\t\t\t\tselectedCategory\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tclonedBlock.attributes.metadata.categories = [\n\t\t\t\t\t\t\tselectedCategory,\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn clonedBlock;\n\t\t\t\t} ),\n\t\t\t\tpattern.name,\n\t\t\t\tfalse,\n\t\t\t\tdestinationRootClientId\n\t\t\t);\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: block pattern title. */\n\t\t\t\t\t__( 'Block pattern \"%s\" inserted.' ),\n\t\t\t\t\tpattern.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tonInsert,\n\t\t\tselectedCategory,\n\t\t\trootClientId,\n\t\t\tgetClosestAllowedInsertionPointForPattern,\n\t\t\tisQuick,\n\t\t]\n\t);\n\n\treturn [ patterns, allCategories, onClickPattern ];\n};\n\nexport default usePatternsState;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","cloneBlock","createBlock","useDispatch","useSelect","__","sprintf","store","noticesStore","blockEditorStore","unlock","INSERTER_PATTERN_TYPES","isFiltered","usePatternsState","onInsert","rootClientId","selectedCategory","isQuick","options","patternCategories","patterns","userPatternCategories","select","getSettings","__experimentalGetAllowedPatterns","__experimentalUserPatternCategories","__experimentalBlockPatternCategories","getClosestAllowedInsertionPointForPattern","allCategories","categories","forEach","userCategory","find","existingCategory","name","push","createSuccessNotice","onClickPattern","pattern","blocks","destinationRootClientId","patternBlocks","type","user","syncStatus","ref","id","map","block","clonedBlock","attributes","metadata","includes","title"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-patterns-state.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { cloneBlock, createBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\nimport { INSERTER_PATTERN_TYPES } from '../block-patterns-tab/utils';\nimport { isFiltered } from '../../../store/utils';\n\n/**\n * Retrieves the block patterns inserter state.\n *\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @param {string=} rootClientId Insertion's root client ID.\n * @param {string} selectedCategory The selected pattern category.\n * @param {boolean} isQuick For the quick inserter render only allowed patterns.\n *\n * @return {Array} Returns the patterns state. (patterns, categories, onSelect handler)\n */\nconst usePatternsState = (\n\tonInsert,\n\trootClientId,\n\tselectedCategory,\n\tisQuick\n) => {\n\tconst options = useMemo(\n\t\t() => ( { [ isFiltered ]: !! isQuick } ),\n\t\t[ isQuick ]\n\t);\n\tconst { patternCategories, patterns, userPatternCategories } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __experimentalGetAllowedPatterns } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst {\n\t\t\t\t__experimentalUserPatternCategories,\n\t\t\t\t__experimentalBlockPatternCategories,\n\t\t\t} = getSettings();\n\t\t\treturn {\n\t\t\t\tpatterns: __experimentalGetAllowedPatterns(\n\t\t\t\t\trootClientId,\n\t\t\t\t\toptions\n\t\t\t\t),\n\t\t\t\tuserPatternCategories: __experimentalUserPatternCategories,\n\t\t\t\tpatternCategories: __experimentalBlockPatternCategories,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, options ]\n\t);\n\tconst { getClosestAllowedInsertionPointForPattern } = unlock(\n\t\tuseSelect( blockEditorStore )\n\t);\n\n\tconst allCategories = useMemo( () => {\n\t\tconst categories = [ ...patternCategories ];\n\t\tuserPatternCategories?.forEach( ( userCategory ) => {\n\t\t\tif (\n\t\t\t\t! categories.find(\n\t\t\t\t\t( existingCategory ) =>\n\t\t\t\t\t\texistingCategory.name === userCategory.name\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcategories.push( userCategory );\n\t\t\t}\n\t\t} );\n\t\treturn categories;\n\t}, [ patternCategories, userPatternCategories ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst onClickPattern = useCallback(\n\t\t( pattern, blocks ) => {\n\t\t\tconst destinationRootClientId = isQuick\n\t\t\t\t? rootClientId\n\t\t\t\t: getClosestAllowedInsertionPointForPattern(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\trootClientId\n\t\t\t\t );\n\t\t\tif ( destinationRootClientId === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst patternBlocks =\n\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\t\tpattern.syncStatus !== 'unsynced'\n\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t: blocks;\n\t\t\tonInsert(\n\t\t\t\t( patternBlocks ?? [] ).map( ( block ) => {\n\t\t\t\t\tconst clonedBlock = cloneBlock( block );\n\t\t\t\t\tif (\n\t\t\t\t\t\tclonedBlock.attributes.metadata?.categories?.includes(\n\t\t\t\t\t\t\tselectedCategory\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tclonedBlock.attributes.metadata.categories = [\n\t\t\t\t\t\t\tselectedCategory,\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn clonedBlock;\n\t\t\t\t} ),\n\t\t\t\tpattern.name,\n\t\t\t\tfalse,\n\t\t\t\tdestinationRootClientId\n\t\t\t);\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: block pattern title. */\n\t\t\t\t\t__( 'Block pattern \"%s\" inserted.' ),\n\t\t\t\t\tpattern.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tonInsert,\n\t\t\tselectedCategory,\n\t\t\trootClientId,\n\t\t\tgetClosestAllowedInsertionPointForPattern,\n\t\t\tisQuick,\n\t\t]\n\t);\n\n\treturn [ patterns, allCategories, onClickPattern ];\n};\n\nexport default usePatternsState;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","speak","__","_x","sprintf","Dropdown","Button","Component","withDispatch","withSelect","compose","ifCondition","createBlock","store","blocksStore","plus","InserterMenu","QuickInserter","blockEditorStore","jsx","_jsx","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","prioritizePatterns","as","Wrapper","label","labelProp","onClick","rest","handleClick","event","icon","tooltipPosition","className","Inserter","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","onSelectOrClose","selectBlockOnInsert","onSelect","blocks","firstBlock","Array","isArray","length","render","position","insertOnlyAllowedBlock","contentClassName","popoverProps","shift","expandOnMobile","headerTitle","select","shouldDirectInsert","getBlockRootClientId","hasInserterItems","getAllowedBlocks","getDirectInsertBlock","getSettings","getBlockVariations","undefined","allowedBlocks","settings","name","allowedBlockType","title","__experimentalPreferPatternsOnRoot","dispatch","ownProps","getAdjacentBlockAttributes","attributesToCopy","getBlock","getPreviousBlockClientId","result","adjacentAttributes","parentBlock","innerBlocks","lastInnerBlock","attributes","currentBlock","previousBlock","forEach","attribute","hasOwnProperty","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","newAttributes","message"],"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n\tprioritizePatterns,\n} ) => {\n\tconst {\n\t\tas: Wrapper = Button,\n\t\tlabel: labelProp,\n\t\tonClick,\n\t\t...rest\n\t} = toggleProps;\n\n\tlet label = labelProp;\n\tif ( ! label && hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else if ( ! label && prioritizePatterns ) {\n\t\tlabel = __( 'Add pattern' );\n\t} else if ( ! label ) {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\t// Handle both onClick functions from the toggle and the parent component.\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Wrapper\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tprioritizePatterns,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\tprioritizePatterns,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tprioritizePatterns,\n\t\t\tonSelectOrClose,\n\t\t\tselectBlockOnInsert,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ ( blocks ) => {\n\t\t\t\t\t\tconst firstBlock =\n\t\t\t\t\t\t\tArray.isArray( blocks ) && blocks?.length\n\t\t\t\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t\t\t\t: blocks;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tonSelectOrClose &&\n\t\t\t\t\t\t\ttypeof onSelectOrClose === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonSelectOrClose( firstBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ clsx( 'block-editor-inserter__popover', {\n\t\t\t\t\t'is-quick': isQuick,\n\t\t\t\t} ) }\n\t\t\t\tpopoverProps={ { position, shift: true } }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasInserterItems,\n\t\t\t\tgetAllowedBlocks,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\trootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( rootClientId );\n\n\t\t\tconst directInsertBlock =\n\t\t\t\tshouldDirectInsert && getDirectInsertBlock( rootClientId );\n\n\t\t\tconst settings = getSettings();\n\n\t\t\tconst hasSingleBlockType =\n\t\t\t\tallowedBlocks?.length === 1 &&\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t\t\t?.length === 0;\n\n\t\t\tlet allowedBlockType = false;\n\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\t\thasSingleBlockType,\n\t\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\t\tallowedBlockType,\n\t\t\t\tdirectInsertBlock,\n\t\t\t\trootClientId,\n\t\t\t\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t\tselectBlockOnInsert,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getAdjacentBlockAttributes( attributesToCopy ) {\n\t\t\t\t\tconst { getBlock, getPreviousBlockClientId } =\n\t\t\t\t\t\tselect( blockEditorStore );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! attributesToCopy ||\n\t\t\t\t\t\t( ! clientId && ! rootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = {};\n\t\t\t\t\tlet adjacentAttributes = {};\n\n\t\t\t\t\t// If there is no clientId, then attempt to get attributes\n\t\t\t\t\t// from the last block within innerBlocks of the root block.\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\tconst parentBlock = getBlock( rootClientId );\n\n\t\t\t\t\t\tif ( parentBlock?.innerBlocks?.length ) {\n\t\t\t\t\t\t\tconst lastInnerBlock =\n\t\t\t\t\t\t\t\tparentBlock.innerBlocks[\n\t\t\t\t\t\t\t\t\tparentBlock.innerBlocks.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdirectInsertBlock &&\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name === lastInnerBlock.name\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tadjacentAttributes = lastInnerBlock.attributes;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Otherwise, attempt to get attributes from the\n\t\t\t\t\t\t// previous block relative to the current clientId.\n\t\t\t\t\t\tconst currentBlock = getBlock( clientId );\n\t\t\t\t\t\tconst previousBlock = getBlock(\n\t\t\t\t\t\t\tgetPreviousBlockClientId( clientId )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( currentBlock?.name === previousBlock?.name ) {\n\t\t\t\t\t\t\tadjacentAttributes =\n\t\t\t\t\t\t\t\tpreviousBlock?.attributes || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy over only those attributes flagged to be copied.\n\t\t\t\t\tattributesToCopy.forEach( ( attribute ) => {\n\t\t\t\t\t\tif ( adjacentAttributes.hasOwnProperty( attribute ) ) {\n\t\t\t\t\t\t\tresult[ attribute ] =\n\t\t\t\t\t\t\t\tadjacentAttributes[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tlet blockToInsert;\n\n\t\t\t\t// Attempt to augment the directInsertBlock with attributes from an adjacent block.\n\t\t\t\t// This ensures styling from nearby blocks is preserved in the newly inserted block.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/37904\n\t\t\t\tif ( directInsertBlock ) {\n\t\t\t\t\tconst newAttributes = getAdjacentBlockAttributes(\n\t\t\t\t\t\tdirectInsertBlock.attributesToCopy\n\t\t\t\t\t);\n\n\t\t\t\t\tblockToInsert = createBlock( directInsertBlock.name, {\n\t\t\t\t\t\t...( directInsertBlock.attributes || {} ),\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tblockToInsert = createBlock( allowedBlockType.name );\n\t\t\t\t}\n\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblockToInsert,\n\t\t\t\t\tgetInsertionIndex(),\n\t\t\t\t\trootClientId,\n\t\t\t\t\tselectBlockOnInsert\n\t\t\t\t);\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose( {\n\t\t\t\t\t\tclientId: blockToInsert?.clientId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( Inserter );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","speak","__","_x","sprintf","Dropdown","Button","Component","withDispatch","withSelect","compose","ifCondition","createBlock","store","blocksStore","plus","InserterMenu","QuickInserter","blockEditorStore","jsx","_jsx","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","prioritizePatterns","as","Wrapper","label","labelProp","onClick","rest","handleClick","event","icon","tooltipPosition","className","Inserter","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","onSelectOrClose","selectBlockOnInsert","onSelect","blocks","firstBlock","Array","isArray","length","render","position","insertOnlyAllowedBlock","contentClassName","popoverProps","shift","expandOnMobile","headerTitle","select","shouldDirectInsert","getBlockRootClientId","hasInserterItems","getAllowedBlocks","getDirectInsertBlock","getSettings","getBlockVariations","undefined","allowedBlocks","settings","name","allowedBlockType","title","__experimentalPreferPatternsOnRoot","dispatch","ownProps","getAdjacentBlockAttributes","attributesToCopy","getBlock","getPreviousBlockClientId","result","adjacentAttributes","parentBlock","innerBlocks","lastInnerBlock","attributes","currentBlock","previousBlock","forEach","attribute","hasOwnProperty","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","newAttributes","message"],"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n\tprioritizePatterns,\n} ) => {\n\tconst {\n\t\tas: Wrapper = Button,\n\t\tlabel: labelProp,\n\t\tonClick,\n\t\t...rest\n\t} = toggleProps;\n\n\tlet label = labelProp;\n\tif ( ! label && hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else if ( ! label && prioritizePatterns ) {\n\t\tlabel = __( 'Add pattern' );\n\t} else if ( ! label ) {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\t// Handle both onClick functions from the toggle and the parent component.\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Wrapper\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tprioritizePatterns,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\tprioritizePatterns,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tprioritizePatterns,\n\t\t\tonSelectOrClose,\n\t\t\tselectBlockOnInsert,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ ( blocks ) => {\n\t\t\t\t\t\tconst firstBlock =\n\t\t\t\t\t\t\tArray.isArray( blocks ) && blocks?.length\n\t\t\t\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t\t\t\t: blocks;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tonSelectOrClose &&\n\t\t\t\t\t\t\ttypeof onSelectOrClose === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonSelectOrClose( firstBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ clsx( 'block-editor-inserter__popover', {\n\t\t\t\t\t'is-quick': isQuick,\n\t\t\t\t} ) }\n\t\t\t\tpopoverProps={ { position, shift: true } }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasInserterItems,\n\t\t\t\tgetAllowedBlocks,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\trootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( rootClientId );\n\n\t\t\tconst directInsertBlock =\n\t\t\t\tshouldDirectInsert && getDirectInsertBlock( rootClientId );\n\n\t\t\tconst settings = getSettings();\n\n\t\t\tconst hasSingleBlockType =\n\t\t\t\tallowedBlocks?.length === 1 &&\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t\t\t?.length === 0;\n\n\t\t\tlet allowedBlockType = false;\n\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\t\thasSingleBlockType,\n\t\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\t\tallowedBlockType,\n\t\t\t\tdirectInsertBlock,\n\t\t\t\trootClientId,\n\t\t\t\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t\tselectBlockOnInsert,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getAdjacentBlockAttributes( attributesToCopy ) {\n\t\t\t\t\tconst { getBlock, getPreviousBlockClientId } =\n\t\t\t\t\t\tselect( blockEditorStore );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! attributesToCopy ||\n\t\t\t\t\t\t( ! clientId && ! rootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = {};\n\t\t\t\t\tlet adjacentAttributes = {};\n\n\t\t\t\t\t// If there is no clientId, then attempt to get attributes\n\t\t\t\t\t// from the last block within innerBlocks of the root block.\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\tconst parentBlock = getBlock( rootClientId );\n\n\t\t\t\t\t\tif ( parentBlock?.innerBlocks?.length ) {\n\t\t\t\t\t\t\tconst lastInnerBlock =\n\t\t\t\t\t\t\t\tparentBlock.innerBlocks[\n\t\t\t\t\t\t\t\t\tparentBlock.innerBlocks.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdirectInsertBlock &&\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name === lastInnerBlock.name\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tadjacentAttributes = lastInnerBlock.attributes;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Otherwise, attempt to get attributes from the\n\t\t\t\t\t\t// previous block relative to the current clientId.\n\t\t\t\t\t\tconst currentBlock = getBlock( clientId );\n\t\t\t\t\t\tconst previousBlock = getBlock(\n\t\t\t\t\t\t\tgetPreviousBlockClientId( clientId )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( currentBlock?.name === previousBlock?.name ) {\n\t\t\t\t\t\t\tadjacentAttributes =\n\t\t\t\t\t\t\t\tpreviousBlock?.attributes || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy over only those attributes flagged to be copied.\n\t\t\t\t\tattributesToCopy.forEach( ( attribute ) => {\n\t\t\t\t\t\tif ( adjacentAttributes.hasOwnProperty( attribute ) ) {\n\t\t\t\t\t\t\tresult[ attribute ] =\n\t\t\t\t\t\t\t\tadjacentAttributes[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tlet blockToInsert;\n\n\t\t\t\t// Attempt to augment the directInsertBlock with attributes from an adjacent block.\n\t\t\t\t// This ensures styling from nearby blocks is preserved in the newly inserted block.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/37904\n\t\t\t\tif ( directInsertBlock ) {\n\t\t\t\t\tconst newAttributes = getAdjacentBlockAttributes(\n\t\t\t\t\t\tdirectInsertBlock.attributesToCopy\n\t\t\t\t\t);\n\n\t\t\t\t\tblockToInsert = createBlock( directInsertBlock.name, {\n\t\t\t\t\t\t...( directInsertBlock.attributes || {} ),\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tblockToInsert = createBlock( allowedBlockType.name );\n\t\t\t\t}\n\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblockToInsert,\n\t\t\t\t\tgetInsertionIndex(),\n\t\t\t\t\trootClientId,\n\t\t\t\t\tselectBlockOnInsert\n\t\t\t\t);\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose( {\n\t\t\t\t\t\tclientId: blockToInsert?.clientId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( Inserter );\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","Platform","__","_x","Dropdown","ToolbarButton","Picker","Component","withDispatch","withSelect","compose","withPreferredColorScheme","isUnmodifiedDefaultBlock","Icon","plus","plusCircle","plusCircleFilled","insertAfter","insertBefore","setBlockTypeImpressions","styles","InserterMenu","BlockInsertionPoint","store","blockEditorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","iconStyle","buttonStyle","onLongPress","title","icon","style","onClick","extraProps","hint","testID","hitSlop","top","bottom","left","right","isDisabled","customContainerStyles","fixedRatio","Inserter","announcementTimeout","constructor","arguments","bind","renderInserterToggle","renderContent","componentWillUnmount","clearTimeout","getInsertionOptions","addBeforeOption","value","label","replaceCurrentOption","addAfterOption","addToBeginningOption","addToEndOption","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","isScreenReaderEnabled","then","isEnabled","isIOS","OS","announcement","setTimeout","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","children","ref","instance","options","onChange","hideCancelButton","onClose","clientId","isAppender","state","onSelect","onDismiss","rootClientId","render","headerTitle","dispatch","select","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop"],"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplus,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\ticonStyle,\n\tbuttonStyle,\n\tonLongPress,\n} ) => {\n\treturn (\n\t\t<ToolbarButton\n\t\t\ttitle={ _x(\n\t\t\t\t'Add block',\n\t\t\t\t'Generic label for block inserter button'\n\t\t\t) }\n\t\t\ticon={ <Icon icon={ plus } style={ iconStyle } /> }\n\t\t\tonClick={ onToggle }\n\t\t\textraProps={ {\n\t\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t\t// usually required for components. See: https://github.com/WordPress/gutenberg/pull/18832#issuecomment-561411389.\n\t\t\t\ttestID: 'add-block-button',\n\t\t\t\tonLongPress,\n\t\t\t\thitSlop: { top: 10, bottom: 10, left: 10, right: 10 },\n\t\t\t} }\n\t\t\tisDisabled={ disabled }\n\t\t\tcustomContainerStyles={ buttonStyle }\n\t\t\tfixedRatio={ false }\n\t\t/>\n\t);\n};\n\nexport class Inserter extends Component {\n\tannouncementTimeout;\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.announcementTimeout );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store.\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store.\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tthis.announcementTimeout = setTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\n\t\tconst buttonStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button--dark' ]\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon--dark' ]\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock:\n\t\t\t\t\t\tthis.shouldReplaceBlock( insertionType ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\ticonStyle,\n\t\t\t\t\tbuttonStyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst { destinationRootClientId, shouldReplaceBlock, insertionIndex } =\n\t\t\tthis.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst { __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop } =\n\t\t\t\tgetBlockEditorSettings();\n\n\t\t\t// If post title is selected insert as first block.\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// And the last selected block is unmodified (empty), it will be replaced.\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// We insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AccessibilityInfo","Platform","__","_x","Dropdown","ToolbarButton","Picker","Component","withDispatch","withSelect","compose","withPreferredColorScheme","isUnmodifiedDefaultBlock","Icon","plus","plusCircle","plusCircleFilled","insertAfter","insertBefore","setBlockTypeImpressions","styles","InserterMenu","BlockInsertionPoint","store","blockEditorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","iconStyle","buttonStyle","onLongPress","title","icon","style","onClick","extraProps","hint","testID","hitSlop","top","bottom","left","right","isDisabled","customContainerStyles","fixedRatio","Inserter","announcementTimeout","constructor","arguments","bind","renderInserterToggle","renderContent","componentWillUnmount","clearTimeout","getInsertionOptions","addBeforeOption","value","label","replaceCurrentOption","addAfterOption","addToBeginningOption","addToEndOption","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","isScreenReaderEnabled","then","isEnabled","isIOS","OS","announcement","setTimeout","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","children","ref","instance","options","onChange","hideCancelButton","onClose","clientId","isAppender","state","onSelect","onDismiss","rootClientId","render","headerTitle","dispatch","select","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop"],"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplus,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\ticonStyle,\n\tbuttonStyle,\n\tonLongPress,\n} ) => {\n\treturn (\n\t\t<ToolbarButton\n\t\t\ttitle={ _x(\n\t\t\t\t'Add block',\n\t\t\t\t'Generic label for block inserter button'\n\t\t\t) }\n\t\t\ticon={ <Icon icon={ plus } style={ iconStyle } /> }\n\t\t\tonClick={ onToggle }\n\t\t\textraProps={ {\n\t\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t\t// usually required for components. See: https://github.com/WordPress/gutenberg/pull/18832#issuecomment-561411389.\n\t\t\t\ttestID: 'add-block-button',\n\t\t\t\tonLongPress,\n\t\t\t\thitSlop: { top: 10, bottom: 10, left: 10, right: 10 },\n\t\t\t} }\n\t\t\tisDisabled={ disabled }\n\t\t\tcustomContainerStyles={ buttonStyle }\n\t\t\tfixedRatio={ false }\n\t\t/>\n\t);\n};\n\nexport class Inserter extends Component {\n\tannouncementTimeout;\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.announcementTimeout );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store.\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store.\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tthis.announcementTimeout = setTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\n\t\tconst buttonStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button--dark' ]\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon--dark' ]\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock:\n\t\t\t\t\t\tthis.shouldReplaceBlock( insertionType ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\ticonStyle,\n\t\t\t\t\tbuttonStyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst { destinationRootClientId, shouldReplaceBlock, insertionIndex } =\n\t\t\tthis.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst { __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop } =\n\t\t\t\tgetBlockEditorSettings();\n\n\t\t\t// If post title is selected insert as first block.\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// And the last selected block is unmodified (empty), it will be replaced.\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// We insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */