@wordpress/block-editor 14.12.0 → 14.14.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 (978) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/autocompleters/block.js +0 -1
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +0 -1
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/alignment-control/ui.js +0 -1
  7. package/build/components/alignment-control/ui.js.map +1 -1
  8. package/build/components/autocomplete/index.js +0 -1
  9. package/build/components/autocomplete/index.js.map +1 -1
  10. package/build/components/background-image-control/index.js +2 -6
  11. package/build/components/background-image-control/index.js.map +1 -1
  12. package/build/components/block-actions/index.js +0 -1
  13. package/build/components/block-actions/index.js.map +1 -1
  14. package/build/components/block-alignment-control/ui.js +0 -1
  15. package/build/components/block-alignment-control/ui.js.map +1 -1
  16. package/build/components/block-alignment-control/ui.native.js +0 -1
  17. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  18. package/build/components/block-alignment-control/use-available-alignments.js +0 -1
  19. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  20. package/build/components/block-breadcrumb/index.js +0 -1
  21. package/build/components/block-breadcrumb/index.js.map +1 -1
  22. package/build/components/block-compare/index.js +0 -1
  23. package/build/components/block-compare/index.js.map +1 -1
  24. package/build/components/block-controls/fill.js +0 -1
  25. package/build/components/block-controls/fill.js.map +1 -1
  26. package/build/components/block-edit/edit.js +0 -1
  27. package/build/components/block-edit/edit.js.map +1 -1
  28. package/build/components/block-edit/edit.native.js +0 -1
  29. package/build/components/block-edit/edit.native.js.map +1 -1
  30. package/build/components/block-heading-level-dropdown/index.js +0 -1
  31. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  32. package/build/components/block-heading-level-dropdown/index.native.js +0 -1
  33. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  34. package/build/components/block-inspector/index.js +0 -1
  35. package/build/components/block-inspector/index.js.map +1 -1
  36. package/build/components/block-list/block-invalid-warning.js +0 -1
  37. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  38. package/build/components/block-list/block-list-context.native.js +0 -1
  39. package/build/components/block-list/block-list-context.native.js.map +1 -1
  40. package/build/components/block-list/block.js +0 -1
  41. package/build/components/block-list/block.js.map +1 -1
  42. package/build/components/block-list/block.native.js +0 -1
  43. package/build/components/block-list/block.native.js.map +1 -1
  44. package/build/components/block-list/index.js +9 -6
  45. package/build/components/block-list/index.js.map +1 -1
  46. package/build/components/block-list/index.native.js +0 -1
  47. package/build/components/block-list/index.native.js.map +1 -1
  48. package/build/components/block-list/use-block-props/use-focus-first-element.js +0 -1
  49. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  50. package/build/components/block-list/use-in-between-inserter.js +0 -1
  51. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  52. package/build/components/block-lock/modal.js +0 -1
  53. package/build/components/block-lock/modal.js.map +1 -1
  54. package/build/components/block-manager/category.js +0 -1
  55. package/build/components/block-manager/category.js.map +1 -1
  56. package/build/components/block-manager/checklist.js +0 -1
  57. package/build/components/block-manager/checklist.js.map +1 -1
  58. package/build/components/block-manager/index.js +0 -1
  59. package/build/components/block-manager/index.js.map +1 -1
  60. package/build/components/block-media-update-progress/index.native.js +0 -1
  61. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  62. package/build/components/block-mover/index.native.js +0 -1
  63. package/build/components/block-mover/index.native.js.map +1 -1
  64. package/build/components/block-mover/mover-description.native.js +0 -1
  65. package/build/components/block-mover/mover-description.native.js.map +1 -1
  66. package/build/components/block-pattern-setup/index.js +0 -1
  67. package/build/components/block-pattern-setup/index.js.map +1 -1
  68. package/build/components/block-pattern-setup/use-patterns-setup.js +0 -1
  69. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  70. package/build/components/block-patterns-list/index.js +0 -1
  71. package/build/components/block-patterns-list/index.js.map +1 -1
  72. package/build/components/block-popover/use-popover-scroll.js +13 -7
  73. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  74. package/build/components/block-quick-navigation/index.js +0 -1
  75. package/build/components/block-quick-navigation/index.js.map +1 -1
  76. package/build/components/block-rename/modal.js +0 -1
  77. package/build/components/block-rename/modal.js.map +1 -1
  78. package/build/components/block-settings-menu/block-settings-dropdown.js +26 -7
  79. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  80. package/build/components/block-styles/index.js +0 -1
  81. package/build/components/block-styles/index.js.map +1 -1
  82. package/build/components/block-styles/index.native.js +0 -1
  83. package/build/components/block-styles/index.native.js.map +1 -1
  84. package/build/components/block-styles/menu-items.js +0 -1
  85. package/build/components/block-styles/menu-items.js.map +1 -1
  86. package/build/components/block-styles/preview.native.js +0 -1
  87. package/build/components/block-styles/preview.native.js.map +1 -1
  88. package/build/components/block-switcher/block-transformations-menu.js +0 -1
  89. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  90. package/build/components/block-switcher/block-transformations-menu.native.js +0 -1
  91. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  92. package/build/components/block-switcher/block-variation-transformations.js +0 -1
  93. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  94. package/build/components/block-switcher/index.js +0 -1
  95. package/build/components/block-switcher/index.js.map +1 -1
  96. package/build/components/block-switcher/pattern-transformations-menu.js +0 -1
  97. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  98. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  99. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  100. package/build/components/block-switcher/utils.js +0 -1
  101. package/build/components/block-switcher/utils.js.map +1 -1
  102. package/build/components/block-toolbar/block-toolbar-menu.native.js +0 -1
  103. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  104. package/build/components/block-toolbar/change-design.js +0 -1
  105. package/build/components/block-toolbar/change-design.js.map +1 -1
  106. package/build/components/block-toolbar/index.js +0 -1
  107. package/build/components/block-toolbar/index.js.map +1 -1
  108. package/build/components/block-tools/block-toolbar-popover.js +3 -2
  109. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  110. package/build/components/block-tools/use-selected-block-tool-props.js +0 -1
  111. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  112. package/build/components/block-types-list/index.js +0 -1
  113. package/build/components/block-types-list/index.js.map +1 -1
  114. package/build/components/block-variation-picker/index.js +0 -1
  115. package/build/components/block-variation-picker/index.js.map +1 -1
  116. package/build/components/block-variation-picker/index.native.js +0 -1
  117. package/build/components/block-variation-picker/index.native.js.map +1 -1
  118. package/build/components/block-variation-transforms/index.js +0 -1
  119. package/build/components/block-variation-transforms/index.js.map +1 -1
  120. package/build/components/block-vertical-alignment-control/ui.js +0 -1
  121. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  122. package/build/components/border-radius-control/index.js +0 -1
  123. package/build/components/border-radius-control/index.js.map +1 -1
  124. package/build/components/border-radius-control/input-controls.js +0 -1
  125. package/build/components/border-radius-control/input-controls.js.map +1 -1
  126. package/build/components/border-radius-control/utils.js +0 -1
  127. package/build/components/border-radius-control/utils.js.map +1 -1
  128. package/build/components/colors/utils.js +0 -1
  129. package/build/components/colors/utils.js.map +1 -1
  130. package/build/components/colors/with-colors.js +0 -1
  131. package/build/components/colors/with-colors.js.map +1 -1
  132. package/build/components/colors-gradients/dropdown.js +0 -1
  133. package/build/components/colors-gradients/dropdown.js.map +1 -1
  134. package/build/components/colors-gradients/panel-color-gradient-settings.js +0 -1
  135. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  136. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +0 -1
  137. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  138. package/build/components/convert-to-group-buttons/toolbar.js +0 -1
  139. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  140. package/build/components/date-format-picker/index.js +0 -1
  141. package/build/components/date-format-picker/index.js.map +1 -1
  142. package/build/components/dimensions-tool/scale-tool.js +0 -1
  143. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  144. package/build/components/duotone/utils.js +0 -1
  145. package/build/components/duotone/utils.js.map +1 -1
  146. package/build/components/editor-styles/index.js +0 -1
  147. package/build/components/editor-styles/index.js.map +1 -1
  148. package/build/components/font-appearance-control/index.js +0 -1
  149. package/build/components/font-appearance-control/index.js.map +1 -1
  150. package/build/components/font-family/index.js +0 -1
  151. package/build/components/font-family/index.js.map +1 -1
  152. package/build/components/font-sizes/with-font-sizes.js +0 -1
  153. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  154. package/build/components/global-styles/border-panel.js +0 -1
  155. package/build/components/global-styles/border-panel.js.map +1 -1
  156. package/build/components/global-styles/color-panel.js +0 -1
  157. package/build/components/global-styles/color-panel.js.map +1 -1
  158. package/build/components/global-styles/color-panel.native.js +0 -1
  159. package/build/components/global-styles/color-panel.native.js.map +1 -1
  160. package/build/components/global-styles/dimensions-panel.js +0 -1
  161. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  162. package/build/components/global-styles/filters-panel.js +42 -25
  163. package/build/components/global-styles/filters-panel.js.map +1 -1
  164. package/build/components/global-styles/get-global-styles-changes.js +0 -1
  165. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  166. package/build/components/global-styles/shadow-panel-components.js +41 -17
  167. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  168. package/build/components/global-styles/typography-utils.js +0 -1
  169. package/build/components/global-styles/typography-utils.js.map +1 -1
  170. package/build/components/global-styles/use-global-styles-context.native.js +0 -1
  171. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  172. package/build/components/global-styles/use-global-styles-output.js +0 -1
  173. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  174. package/build/components/global-styles/utils.js +0 -1
  175. package/build/components/global-styles/utils.js.map +1 -1
  176. package/build/components/grid/grid-visualizer.js +0 -1
  177. package/build/components/grid/grid-visualizer.js.map +1 -1
  178. package/build/components/grid/use-grid-layout-sync.js +0 -1
  179. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  180. package/build/components/grid/utils.js +0 -1
  181. package/build/components/grid/utils.js.map +1 -1
  182. package/build/components/iframe/get-compatibility-styles.js +0 -1
  183. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  184. package/build/components/iframe/index.js +9 -7
  185. package/build/components/iframe/index.js.map +1 -1
  186. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -2
  187. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  188. package/build/components/inner-blocks/index.js +2 -2
  189. package/build/components/inner-blocks/index.js.map +1 -1
  190. package/build/components/inner-blocks/index.native.js +2 -2
  191. package/build/components/inner-blocks/index.native.js.map +1 -1
  192. package/build/components/inner-blocks/use-block-context.js +0 -1
  193. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  194. package/build/components/inserter/block-patterns-explorer/index.js +6 -3
  195. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  196. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -1
  197. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  198. package/build/components/inserter/block-patterns-explorer/pattern-list.js +6 -3
  199. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  200. package/build/components/inserter/block-patterns-tab/index.js +1 -1
  201. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  202. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -5
  203. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  204. package/build/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
  205. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  206. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -1
  207. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  208. package/build/components/inserter/block-types-tab.js +0 -1
  209. package/build/components/inserter/block-types-tab.js.map +1 -1
  210. package/build/components/inserter/block-types-tab.native.js +0 -1
  211. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  212. package/build/components/inserter/category-tabs/index.js +1 -2
  213. package/build/components/inserter/category-tabs/index.js.map +1 -1
  214. package/build/components/inserter/hooks/use-block-type-impressions.native.js +0 -1
  215. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  216. package/build/components/inserter/hooks/use-patterns-state.js +0 -1
  217. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  218. package/build/components/inserter/index.js +0 -1
  219. package/build/components/inserter/index.js.map +1 -1
  220. package/build/components/inserter/index.native.js +0 -1
  221. package/build/components/inserter/index.native.js.map +1 -1
  222. package/build/components/inserter/media-tab/hooks.js +0 -1
  223. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  224. package/build/components/inserter/media-tab/media-list.js +0 -1
  225. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  226. package/build/components/inserter/media-tab/media-tab.js +0 -1
  227. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  228. package/build/components/inserter/mobile-tab-navigation.js +0 -1
  229. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  230. package/build/components/inserter/no-results.js +3 -7
  231. package/build/components/inserter/no-results.js.map +1 -1
  232. package/build/components/inserter/quick-inserter.js +2 -1
  233. package/build/components/inserter/quick-inserter.js.map +1 -1
  234. package/build/components/inserter/search-items.js +0 -1
  235. package/build/components/inserter/search-items.js.map +1 -1
  236. package/build/components/inserter/search-results.js +1 -2
  237. package/build/components/inserter/search-results.js.map +1 -1
  238. package/build/components/inserter/tabs.native.js +0 -1
  239. package/build/components/inserter/tabs.native.js.map +1 -1
  240. package/build/components/inserter/utils.native.js +0 -1
  241. package/build/components/inserter/utils.native.js.map +1 -1
  242. package/build/components/inspector-controls/block-support-tools-panel.js +0 -1
  243. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  244. package/build/components/inspector-controls/fill.js +0 -1
  245. package/build/components/inspector-controls/fill.js.map +1 -1
  246. package/build/components/inspector-controls-tabs/index.js +0 -1
  247. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  248. package/build/components/inspector-popover-header/index.js +0 -1
  249. package/build/components/inspector-popover-header/index.js.map +1 -1
  250. package/build/components/justify-content-control/ui.js +0 -1
  251. package/build/components/justify-content-control/ui.js.map +1 -1
  252. package/build/components/keyboard-shortcuts/index.js +28 -1
  253. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  254. package/build/components/link-control/index.js +0 -1
  255. package/build/components/link-control/index.js.map +1 -1
  256. package/build/components/link-control/search-results.js +0 -1
  257. package/build/components/link-control/search-results.js.map +1 -1
  258. package/build/components/link-control/settings.js +0 -1
  259. package/build/components/link-control/settings.js.map +1 -1
  260. package/build/components/link-control/use-internal-value.js +0 -1
  261. package/build/components/link-control/use-internal-value.js.map +1 -1
  262. package/build/components/link-control/use-search-handler.js +0 -1
  263. package/build/components/link-control/use-search-handler.js.map +1 -1
  264. package/build/components/list-view/block-select-button.js +0 -1
  265. package/build/components/list-view/block-select-button.js.map +1 -1
  266. package/build/components/list-view/block.js +0 -1
  267. package/build/components/list-view/block.js.map +1 -1
  268. package/build/components/list-view/branch.js +0 -1
  269. package/build/components/list-view/branch.js.map +1 -1
  270. package/build/components/list-view/index.js +0 -1
  271. package/build/components/list-view/index.js.map +1 -1
  272. package/build/components/list-view/use-block-selection.js +0 -1
  273. package/build/components/list-view/use-block-selection.js.map +1 -1
  274. package/build/components/list-view/use-clipboard-handler.js +0 -1
  275. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  276. package/build/components/list-view/use-list-view-block-indexes.js +0 -1
  277. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  278. package/build/components/list-view/use-list-view-drop-zone.js +0 -1
  279. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  280. package/build/components/list-view/utils.js +0 -1
  281. package/build/components/list-view/utils.js.map +1 -1
  282. package/build/components/media-placeholder/index.js +2 -2
  283. package/build/components/media-placeholder/index.js.map +1 -1
  284. package/build/components/media-placeholder/index.native.js +0 -1
  285. package/build/components/media-placeholder/index.native.js.map +1 -1
  286. package/build/components/media-replace-flow/index.js +0 -1
  287. package/build/components/media-replace-flow/index.js.map +1 -1
  288. package/build/components/media-upload/index.native.js +0 -1
  289. package/build/components/media-upload/index.native.js.map +1 -1
  290. package/build/components/navigable-toolbar/index.js +0 -1
  291. package/build/components/navigable-toolbar/index.js.map +1 -1
  292. package/build/components/panel-color-settings/index.js +0 -1
  293. package/build/components/panel-color-settings/index.js.map +1 -1
  294. package/build/components/provider/use-block-sync.js +0 -1
  295. package/build/components/provider/use-block-sync.js.map +1 -1
  296. package/build/components/responsive-block-control/index.js +0 -1
  297. package/build/components/responsive-block-control/index.js.map +1 -1
  298. package/build/components/rich-text/embed-handler-picker.native.js +0 -1
  299. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  300. package/build/components/rich-text/event-listeners/before-input-rules.js +0 -1
  301. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  302. package/build/components/rich-text/event-listeners/delete.js +5 -3
  303. package/build/components/rich-text/event-listeners/delete.js.map +1 -1
  304. package/build/components/rich-text/event-listeners/index.js +0 -1
  305. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  306. package/build/components/rich-text/event-listeners/input-rules.js +0 -1
  307. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  308. package/build/components/rich-text/event-listeners/paste-handler.js +0 -1
  309. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  310. package/build/components/rich-text/file-paste-handler.native.js +0 -1
  311. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  312. package/build/components/rich-text/format-edit.js +0 -1
  313. package/build/components/rich-text/format-edit.js.map +1 -1
  314. package/build/components/rich-text/format-toolbar/index.js +0 -1
  315. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  316. package/build/components/rich-text/index.js +0 -1
  317. package/build/components/rich-text/index.js.map +1 -1
  318. package/build/components/rich-text/index.native.js +0 -1
  319. package/build/components/rich-text/index.native.js.map +1 -1
  320. package/build/components/rich-text/multiline.js +0 -1
  321. package/build/components/rich-text/multiline.js.map +1 -1
  322. package/build/components/rich-text/native/format-edit.js +0 -1
  323. package/build/components/rich-text/native/format-edit.js.map +1 -1
  324. package/build/components/rich-text/native/get-format-colors.native.js +0 -1
  325. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  326. package/build/components/rich-text/native/index.native.js +0 -1
  327. package/build/components/rich-text/native/index.native.js.map +1 -1
  328. package/build/components/rich-text/native/toolbar-button-with-options.native.js +0 -1
  329. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  330. package/build/components/rich-text/native/use-format-types.js +0 -1
  331. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  332. package/build/components/rich-text/use-format-types.js +0 -1
  333. package/build/components/rich-text/use-format-types.js.map +1 -1
  334. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -1
  335. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  336. package/build/components/spacing-sizes-control/input-controls/axial.js +0 -1
  337. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  338. package/build/components/spacing-sizes-control/input-controls/separated.js +0 -1
  339. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  340. package/build/components/spacing-sizes-control/input-controls/single.js +0 -1
  341. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  342. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  343. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  344. package/build/components/spacing-sizes-control/utils.js +0 -1
  345. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  346. package/build/components/tabbed-sidebar/index.js +0 -1
  347. package/build/components/tabbed-sidebar/index.js.map +1 -1
  348. package/build/components/text-alignment-control/index.js +0 -1
  349. package/build/components/text-alignment-control/index.js.map +1 -1
  350. package/build/components/text-decoration-control/index.js +0 -1
  351. package/build/components/text-decoration-control/index.js.map +1 -1
  352. package/build/components/text-transform-control/index.js +0 -1
  353. package/build/components/text-transform-control/index.js.map +1 -1
  354. package/build/components/tool-selector/index.js +1 -1
  355. package/build/components/tool-selector/index.js.map +1 -1
  356. package/build/components/unsupported-block-details/index.native.js +0 -1
  357. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  358. package/build/components/url-input/index.js +0 -1
  359. package/build/components/url-input/index.js.map +1 -1
  360. package/build/components/url-popover/image-url-input-ui.js +0 -1
  361. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  362. package/build/components/use-block-commands/index.js +0 -1
  363. package/build/components/use-block-commands/index.js.map +1 -1
  364. package/build/components/use-block-drop-zone/index.js +0 -1
  365. package/build/components/use-block-drop-zone/index.js.map +1 -1
  366. package/build/components/use-block-drop-zone/index.native.js +0 -1
  367. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  368. package/build/components/use-flash-editable-blocks/index.js +0 -1
  369. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  370. package/build/components/use-on-block-drop/index.js +0 -1
  371. package/build/components/use-on-block-drop/index.js.map +1 -1
  372. package/build/components/use-on-block-drop/index.native.js +0 -1
  373. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  374. package/build/components/use-paste-styles/index.js +0 -1
  375. package/build/components/use-paste-styles/index.js.map +1 -1
  376. package/build/components/warning/index.js +0 -1
  377. package/build/components/warning/index.js.map +1 -1
  378. package/build/components/writing-flow/use-arrow-nav.js +0 -1
  379. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  380. package/build/components/writing-flow/use-clipboard-handler.js +0 -1
  381. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  382. package/build/components/writing-flow/use-input.js +0 -1
  383. package/build/components/writing-flow/use-input.js.map +1 -1
  384. package/build/components/writing-flow/use-tab-nav.js +3 -1
  385. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  386. package/build/components/writing-flow/utils.js +0 -1
  387. package/build/components/writing-flow/utils.js.map +1 -1
  388. package/build/components/writing-mode-control/index.js +0 -1
  389. package/build/components/writing-mode-control/index.js.map +1 -1
  390. package/build/hooks/align.js +0 -1
  391. package/build/hooks/align.js.map +1 -1
  392. package/build/hooks/align.native.js +0 -1
  393. package/build/hooks/align.native.js.map +1 -1
  394. package/build/hooks/aria-label.js +3 -8
  395. package/build/hooks/aria-label.js.map +1 -1
  396. package/build/hooks/block-bindings.js +0 -1
  397. package/build/hooks/block-bindings.js.map +1 -1
  398. package/build/hooks/block-hooks.js +0 -1
  399. package/build/hooks/block-hooks.js.map +1 -1
  400. package/build/hooks/block-style-variation.js +0 -1
  401. package/build/hooks/block-style-variation.js.map +1 -1
  402. package/build/hooks/border.js +0 -1
  403. package/build/hooks/border.js.map +1 -1
  404. package/build/hooks/contrast-checker.js +0 -1
  405. package/build/hooks/contrast-checker.js.map +1 -1
  406. package/build/hooks/duotone.js +0 -1
  407. package/build/hooks/duotone.js.map +1 -1
  408. package/build/hooks/index.js +0 -1
  409. package/build/hooks/index.js.map +1 -1
  410. package/build/hooks/layout.js +1 -2
  411. package/build/hooks/layout.js.map +1 -1
  412. package/build/hooks/position.js +0 -1
  413. package/build/hooks/position.js.map +1 -1
  414. package/build/hooks/style.js +0 -1
  415. package/build/hooks/style.js.map +1 -1
  416. package/build/hooks/supports.js +0 -1
  417. package/build/hooks/supports.js.map +1 -1
  418. package/build/hooks/text-align.js +0 -1
  419. package/build/hooks/text-align.js.map +1 -1
  420. package/build/hooks/typography.js +0 -1
  421. package/build/hooks/typography.js.map +1 -1
  422. package/build/hooks/use-zoom-out.js +1 -12
  423. package/build/hooks/use-zoom-out.js.map +1 -1
  424. package/build/hooks/utils.js +0 -1
  425. package/build/hooks/utils.js.map +1 -1
  426. package/build/layouts/constrained.js +0 -1
  427. package/build/layouts/constrained.js.map +1 -1
  428. package/build/layouts/flex.js +0 -1
  429. package/build/layouts/flex.js.map +1 -1
  430. package/build/layouts/flow.js +0 -1
  431. package/build/layouts/flow.js.map +1 -1
  432. package/build/layouts/index.js +0 -1
  433. package/build/layouts/index.js.map +1 -1
  434. package/build/layouts/utils.js +0 -1
  435. package/build/layouts/utils.js.map +1 -1
  436. package/build/store/actions.js +0 -1
  437. package/build/store/actions.js.map +1 -1
  438. package/build/store/get-block-settings.js +0 -1
  439. package/build/store/get-block-settings.js.map +1 -1
  440. package/build/store/private-actions.js +0 -1
  441. package/build/store/private-actions.js.map +1 -1
  442. package/build/store/private-selectors.js +0 -1
  443. package/build/store/private-selectors.js.map +1 -1
  444. package/build/store/reducer.js +0 -1
  445. package/build/store/reducer.js.map +1 -1
  446. package/build/store/selectors.js +0 -1
  447. package/build/store/selectors.js.map +1 -1
  448. package/build/store/utils.js +0 -1
  449. package/build/store/utils.js.map +1 -1
  450. package/build/utils/block-bindings.js +0 -1
  451. package/build/utils/block-bindings.js.map +1 -1
  452. package/build/utils/get-editor-region.js +0 -1
  453. package/build/utils/get-editor-region.js.map +1 -1
  454. package/build/utils/get-font-styles-and-weights.js +0 -1
  455. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  456. package/build/utils/math.js +0 -1
  457. package/build/utils/math.js.map +1 -1
  458. package/build/utils/object.js +0 -1
  459. package/build/utils/object.js.map +1 -1
  460. package/build/utils/selection.js +0 -1
  461. package/build/utils/selection.js.map +1 -1
  462. package/build/utils/transform-styles/index.js +0 -1
  463. package/build/utils/transform-styles/index.js.map +1 -1
  464. package/build-module/autocompleters/block.js +0 -1
  465. package/build-module/autocompleters/block.js.map +1 -1
  466. package/build-module/autocompleters/link.js +0 -1
  467. package/build-module/autocompleters/link.js.map +1 -1
  468. package/build-module/components/alignment-control/ui.js +0 -1
  469. package/build-module/components/alignment-control/ui.js.map +1 -1
  470. package/build-module/components/autocomplete/index.js +0 -1
  471. package/build-module/components/autocomplete/index.js.map +1 -1
  472. package/build-module/components/background-image-control/index.js +2 -6
  473. package/build-module/components/background-image-control/index.js.map +1 -1
  474. package/build-module/components/block-actions/index.js +0 -1
  475. package/build-module/components/block-actions/index.js.map +1 -1
  476. package/build-module/components/block-alignment-control/ui.js +0 -1
  477. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  478. package/build-module/components/block-alignment-control/ui.native.js +0 -1
  479. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  480. package/build-module/components/block-alignment-control/use-available-alignments.js +0 -1
  481. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  482. package/build-module/components/block-breadcrumb/index.js +0 -1
  483. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  484. package/build-module/components/block-compare/index.js +0 -1
  485. package/build-module/components/block-compare/index.js.map +1 -1
  486. package/build-module/components/block-controls/fill.js +0 -1
  487. package/build-module/components/block-controls/fill.js.map +1 -1
  488. package/build-module/components/block-edit/edit.js +0 -1
  489. package/build-module/components/block-edit/edit.js.map +1 -1
  490. package/build-module/components/block-edit/edit.native.js +0 -1
  491. package/build-module/components/block-edit/edit.native.js.map +1 -1
  492. package/build-module/components/block-heading-level-dropdown/index.js +0 -1
  493. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  494. package/build-module/components/block-heading-level-dropdown/index.native.js +0 -1
  495. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  496. package/build-module/components/block-inspector/index.js +0 -1
  497. package/build-module/components/block-inspector/index.js.map +1 -1
  498. package/build-module/components/block-list/block-invalid-warning.js +0 -1
  499. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  500. package/build-module/components/block-list/block-list-context.native.js +0 -1
  501. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  502. package/build-module/components/block-list/block.js +0 -1
  503. package/build-module/components/block-list/block.js.map +1 -1
  504. package/build-module/components/block-list/block.native.js +0 -1
  505. package/build-module/components/block-list/block.native.js.map +1 -1
  506. package/build-module/components/block-list/index.js +9 -6
  507. package/build-module/components/block-list/index.js.map +1 -1
  508. package/build-module/components/block-list/index.native.js +0 -1
  509. package/build-module/components/block-list/index.native.js.map +1 -1
  510. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +0 -1
  511. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  512. package/build-module/components/block-list/use-in-between-inserter.js +0 -1
  513. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  514. package/build-module/components/block-lock/modal.js +0 -1
  515. package/build-module/components/block-lock/modal.js.map +1 -1
  516. package/build-module/components/block-manager/category.js +0 -1
  517. package/build-module/components/block-manager/category.js.map +1 -1
  518. package/build-module/components/block-manager/checklist.js +0 -1
  519. package/build-module/components/block-manager/checklist.js.map +1 -1
  520. package/build-module/components/block-manager/index.js +0 -1
  521. package/build-module/components/block-manager/index.js.map +1 -1
  522. package/build-module/components/block-media-update-progress/index.native.js +0 -1
  523. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  524. package/build-module/components/block-mover/index.native.js +0 -1
  525. package/build-module/components/block-mover/index.native.js.map +1 -1
  526. package/build-module/components/block-mover/mover-description.native.js +0 -1
  527. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  528. package/build-module/components/block-pattern-setup/index.js +0 -1
  529. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  530. package/build-module/components/block-pattern-setup/use-patterns-setup.js +0 -1
  531. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  532. package/build-module/components/block-patterns-list/index.js +0 -1
  533. package/build-module/components/block-patterns-list/index.js.map +1 -1
  534. package/build-module/components/block-popover/use-popover-scroll.js +12 -7
  535. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
  536. package/build-module/components/block-quick-navigation/index.js +0 -1
  537. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  538. package/build-module/components/block-rename/modal.js +0 -1
  539. package/build-module/components/block-rename/modal.js.map +1 -1
  540. package/build-module/components/block-settings-menu/block-settings-dropdown.js +26 -7
  541. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  542. package/build-module/components/block-styles/index.js +0 -1
  543. package/build-module/components/block-styles/index.js.map +1 -1
  544. package/build-module/components/block-styles/index.native.js +0 -1
  545. package/build-module/components/block-styles/index.native.js.map +1 -1
  546. package/build-module/components/block-styles/menu-items.js +0 -1
  547. package/build-module/components/block-styles/menu-items.js.map +1 -1
  548. package/build-module/components/block-styles/preview.native.js +0 -1
  549. package/build-module/components/block-styles/preview.native.js.map +1 -1
  550. package/build-module/components/block-switcher/block-transformations-menu.js +0 -1
  551. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  552. package/build-module/components/block-switcher/block-transformations-menu.native.js +0 -1
  553. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  554. package/build-module/components/block-switcher/block-variation-transformations.js +0 -1
  555. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  556. package/build-module/components/block-switcher/index.js +0 -1
  557. package/build-module/components/block-switcher/index.js.map +1 -1
  558. package/build-module/components/block-switcher/pattern-transformations-menu.js +0 -1
  559. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  560. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  561. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  562. package/build-module/components/block-switcher/utils.js +0 -1
  563. package/build-module/components/block-switcher/utils.js.map +1 -1
  564. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +0 -1
  565. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  566. package/build-module/components/block-toolbar/change-design.js +0 -1
  567. package/build-module/components/block-toolbar/change-design.js.map +1 -1
  568. package/build-module/components/block-toolbar/index.js +0 -1
  569. package/build-module/components/block-toolbar/index.js.map +1 -1
  570. package/build-module/components/block-tools/block-toolbar-popover.js +3 -2
  571. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  572. package/build-module/components/block-tools/use-selected-block-tool-props.js +0 -1
  573. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  574. package/build-module/components/block-types-list/index.js +0 -1
  575. package/build-module/components/block-types-list/index.js.map +1 -1
  576. package/build-module/components/block-variation-picker/index.js +0 -1
  577. package/build-module/components/block-variation-picker/index.js.map +1 -1
  578. package/build-module/components/block-variation-picker/index.native.js +0 -1
  579. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  580. package/build-module/components/block-variation-transforms/index.js +0 -1
  581. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  582. package/build-module/components/block-vertical-alignment-control/ui.js +0 -1
  583. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  584. package/build-module/components/border-radius-control/index.js +0 -1
  585. package/build-module/components/border-radius-control/index.js.map +1 -1
  586. package/build-module/components/border-radius-control/input-controls.js +0 -1
  587. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  588. package/build-module/components/border-radius-control/utils.js +0 -1
  589. package/build-module/components/border-radius-control/utils.js.map +1 -1
  590. package/build-module/components/colors/utils.js +0 -1
  591. package/build-module/components/colors/utils.js.map +1 -1
  592. package/build-module/components/colors/with-colors.js +0 -1
  593. package/build-module/components/colors/with-colors.js.map +1 -1
  594. package/build-module/components/colors-gradients/dropdown.js +0 -1
  595. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  596. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +0 -1
  597. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  598. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +0 -1
  599. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  600. package/build-module/components/convert-to-group-buttons/toolbar.js +0 -1
  601. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  602. package/build-module/components/date-format-picker/index.js +0 -1
  603. package/build-module/components/date-format-picker/index.js.map +1 -1
  604. package/build-module/components/dimensions-tool/scale-tool.js +0 -1
  605. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  606. package/build-module/components/duotone/utils.js +0 -1
  607. package/build-module/components/duotone/utils.js.map +1 -1
  608. package/build-module/components/editor-styles/index.js +0 -1
  609. package/build-module/components/editor-styles/index.js.map +1 -1
  610. package/build-module/components/font-appearance-control/index.js +0 -1
  611. package/build-module/components/font-appearance-control/index.js.map +1 -1
  612. package/build-module/components/font-family/index.js +0 -1
  613. package/build-module/components/font-family/index.js.map +1 -1
  614. package/build-module/components/font-sizes/with-font-sizes.js +0 -1
  615. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  616. package/build-module/components/global-styles/border-panel.js +0 -1
  617. package/build-module/components/global-styles/border-panel.js.map +1 -1
  618. package/build-module/components/global-styles/color-panel.js +0 -1
  619. package/build-module/components/global-styles/color-panel.js.map +1 -1
  620. package/build-module/components/global-styles/color-panel.native.js +0 -1
  621. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  622. package/build-module/components/global-styles/dimensions-panel.js +0 -1
  623. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  624. package/build-module/components/global-styles/filters-panel.js +45 -28
  625. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  626. package/build-module/components/global-styles/get-global-styles-changes.js +0 -1
  627. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  628. package/build-module/components/global-styles/shadow-panel-components.js +44 -20
  629. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  630. package/build-module/components/global-styles/typography-utils.js +0 -1
  631. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  632. package/build-module/components/global-styles/use-global-styles-context.native.js +0 -1
  633. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  634. package/build-module/components/global-styles/use-global-styles-output.js +0 -1
  635. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  636. package/build-module/components/global-styles/utils.js +0 -1
  637. package/build-module/components/global-styles/utils.js.map +1 -1
  638. package/build-module/components/grid/grid-visualizer.js +0 -1
  639. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  640. package/build-module/components/grid/use-grid-layout-sync.js +0 -1
  641. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  642. package/build-module/components/grid/utils.js +0 -1
  643. package/build-module/components/grid/utils.js.map +1 -1
  644. package/build-module/components/iframe/get-compatibility-styles.js +0 -1
  645. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  646. package/build-module/components/iframe/index.js +9 -7
  647. package/build-module/components/iframe/index.js.map +1 -1
  648. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -2
  649. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  650. package/build-module/components/inner-blocks/index.js +2 -2
  651. package/build-module/components/inner-blocks/index.js.map +1 -1
  652. package/build-module/components/inner-blocks/index.native.js +2 -2
  653. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  654. package/build-module/components/inner-blocks/use-block-context.js +0 -1
  655. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  656. package/build-module/components/inserter/block-patterns-explorer/index.js +6 -3
  657. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  658. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -1
  659. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  660. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +6 -3
  661. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  662. package/build-module/components/inserter/block-patterns-tab/index.js +1 -1
  663. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  664. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -5
  665. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  666. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
  667. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  668. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -1
  669. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  670. package/build-module/components/inserter/block-types-tab.js +0 -1
  671. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  672. package/build-module/components/inserter/block-types-tab.native.js +0 -1
  673. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  674. package/build-module/components/inserter/category-tabs/index.js +1 -2
  675. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  676. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +0 -1
  677. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  678. package/build-module/components/inserter/hooks/use-patterns-state.js +0 -1
  679. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  680. package/build-module/components/inserter/index.js +0 -1
  681. package/build-module/components/inserter/index.js.map +1 -1
  682. package/build-module/components/inserter/index.native.js +0 -1
  683. package/build-module/components/inserter/index.native.js.map +1 -1
  684. package/build-module/components/inserter/media-tab/hooks.js +0 -1
  685. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  686. package/build-module/components/inserter/media-tab/media-list.js +0 -1
  687. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  688. package/build-module/components/inserter/media-tab/media-tab.js +0 -1
  689. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  690. package/build-module/components/inserter/mobile-tab-navigation.js +0 -1
  691. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  692. package/build-module/components/inserter/no-results.js +4 -8
  693. package/build-module/components/inserter/no-results.js.map +1 -1
  694. package/build-module/components/inserter/quick-inserter.js +2 -1
  695. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  696. package/build-module/components/inserter/search-items.js +0 -1
  697. package/build-module/components/inserter/search-items.js.map +1 -1
  698. package/build-module/components/inserter/search-results.js +1 -2
  699. package/build-module/components/inserter/search-results.js.map +1 -1
  700. package/build-module/components/inserter/tabs.native.js +0 -1
  701. package/build-module/components/inserter/tabs.native.js.map +1 -1
  702. package/build-module/components/inserter/utils.native.js +0 -1
  703. package/build-module/components/inserter/utils.native.js.map +1 -1
  704. package/build-module/components/inspector-controls/block-support-tools-panel.js +0 -1
  705. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  706. package/build-module/components/inspector-controls/fill.js +0 -1
  707. package/build-module/components/inspector-controls/fill.js.map +1 -1
  708. package/build-module/components/inspector-controls-tabs/index.js +0 -1
  709. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  710. package/build-module/components/inspector-popover-header/index.js +0 -1
  711. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  712. package/build-module/components/justify-content-control/ui.js +0 -1
  713. package/build-module/components/justify-content-control/ui.js.map +1 -1
  714. package/build-module/components/keyboard-shortcuts/index.js +28 -1
  715. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  716. package/build-module/components/link-control/index.js +0 -1
  717. package/build-module/components/link-control/index.js.map +1 -1
  718. package/build-module/components/link-control/search-results.js +0 -1
  719. package/build-module/components/link-control/search-results.js.map +1 -1
  720. package/build-module/components/link-control/settings.js +0 -1
  721. package/build-module/components/link-control/settings.js.map +1 -1
  722. package/build-module/components/link-control/use-internal-value.js +0 -1
  723. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  724. package/build-module/components/link-control/use-search-handler.js +0 -1
  725. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  726. package/build-module/components/list-view/block-select-button.js +0 -1
  727. package/build-module/components/list-view/block-select-button.js.map +1 -1
  728. package/build-module/components/list-view/block.js +0 -1
  729. package/build-module/components/list-view/block.js.map +1 -1
  730. package/build-module/components/list-view/branch.js +0 -1
  731. package/build-module/components/list-view/branch.js.map +1 -1
  732. package/build-module/components/list-view/index.js +0 -1
  733. package/build-module/components/list-view/index.js.map +1 -1
  734. package/build-module/components/list-view/use-block-selection.js +0 -1
  735. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  736. package/build-module/components/list-view/use-clipboard-handler.js +0 -1
  737. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  738. package/build-module/components/list-view/use-list-view-block-indexes.js +0 -1
  739. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  740. package/build-module/components/list-view/use-list-view-drop-zone.js +0 -1
  741. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  742. package/build-module/components/list-view/utils.js +0 -1
  743. package/build-module/components/list-view/utils.js.map +1 -1
  744. package/build-module/components/media-placeholder/index.js +2 -2
  745. package/build-module/components/media-placeholder/index.js.map +1 -1
  746. package/build-module/components/media-placeholder/index.native.js +0 -1
  747. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  748. package/build-module/components/media-replace-flow/index.js +0 -1
  749. package/build-module/components/media-replace-flow/index.js.map +1 -1
  750. package/build-module/components/media-upload/index.native.js +0 -1
  751. package/build-module/components/media-upload/index.native.js.map +1 -1
  752. package/build-module/components/navigable-toolbar/index.js +0 -1
  753. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  754. package/build-module/components/panel-color-settings/index.js +0 -1
  755. package/build-module/components/panel-color-settings/index.js.map +1 -1
  756. package/build-module/components/provider/use-block-sync.js +0 -1
  757. package/build-module/components/provider/use-block-sync.js.map +1 -1
  758. package/build-module/components/responsive-block-control/index.js +0 -1
  759. package/build-module/components/responsive-block-control/index.js.map +1 -1
  760. package/build-module/components/rich-text/embed-handler-picker.native.js +0 -1
  761. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  762. package/build-module/components/rich-text/event-listeners/before-input-rules.js +0 -1
  763. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  764. package/build-module/components/rich-text/event-listeners/delete.js +5 -3
  765. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  766. package/build-module/components/rich-text/event-listeners/index.js +0 -1
  767. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  768. package/build-module/components/rich-text/event-listeners/input-rules.js +0 -1
  769. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  770. package/build-module/components/rich-text/event-listeners/paste-handler.js +0 -1
  771. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  772. package/build-module/components/rich-text/file-paste-handler.native.js +0 -1
  773. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  774. package/build-module/components/rich-text/format-edit.js +0 -1
  775. package/build-module/components/rich-text/format-edit.js.map +1 -1
  776. package/build-module/components/rich-text/format-toolbar/index.js +0 -1
  777. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  778. package/build-module/components/rich-text/index.js +0 -1
  779. package/build-module/components/rich-text/index.js.map +1 -1
  780. package/build-module/components/rich-text/index.native.js +0 -1
  781. package/build-module/components/rich-text/index.native.js.map +1 -1
  782. package/build-module/components/rich-text/multiline.js +0 -1
  783. package/build-module/components/rich-text/multiline.js.map +1 -1
  784. package/build-module/components/rich-text/native/format-edit.js +0 -1
  785. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  786. package/build-module/components/rich-text/native/get-format-colors.native.js +0 -1
  787. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  788. package/build-module/components/rich-text/native/index.native.js +0 -1
  789. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  790. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +0 -1
  791. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  792. package/build-module/components/rich-text/native/use-format-types.js +0 -1
  793. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  794. package/build-module/components/rich-text/use-format-types.js +0 -1
  795. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  796. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -1
  797. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  798. package/build-module/components/spacing-sizes-control/input-controls/axial.js +0 -1
  799. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  800. package/build-module/components/spacing-sizes-control/input-controls/separated.js +0 -1
  801. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  802. package/build-module/components/spacing-sizes-control/input-controls/single.js +0 -1
  803. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  804. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  805. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  806. package/build-module/components/spacing-sizes-control/utils.js +0 -1
  807. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  808. package/build-module/components/tabbed-sidebar/index.js +0 -1
  809. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  810. package/build-module/components/text-alignment-control/index.js +0 -1
  811. package/build-module/components/text-alignment-control/index.js.map +1 -1
  812. package/build-module/components/text-decoration-control/index.js +0 -1
  813. package/build-module/components/text-decoration-control/index.js.map +1 -1
  814. package/build-module/components/text-transform-control/index.js +0 -1
  815. package/build-module/components/text-transform-control/index.js.map +1 -1
  816. package/build-module/components/tool-selector/index.js +1 -1
  817. package/build-module/components/tool-selector/index.js.map +1 -1
  818. package/build-module/components/unsupported-block-details/index.native.js +0 -1
  819. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  820. package/build-module/components/url-input/index.js +0 -1
  821. package/build-module/components/url-input/index.js.map +1 -1
  822. package/build-module/components/url-popover/image-url-input-ui.js +0 -1
  823. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  824. package/build-module/components/use-block-commands/index.js +0 -1
  825. package/build-module/components/use-block-commands/index.js.map +1 -1
  826. package/build-module/components/use-block-drop-zone/index.js +0 -1
  827. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  828. package/build-module/components/use-block-drop-zone/index.native.js +0 -1
  829. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  830. package/build-module/components/use-flash-editable-blocks/index.js +0 -1
  831. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  832. package/build-module/components/use-on-block-drop/index.js +0 -1
  833. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  834. package/build-module/components/use-on-block-drop/index.native.js +0 -1
  835. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  836. package/build-module/components/use-paste-styles/index.js +0 -1
  837. package/build-module/components/use-paste-styles/index.js.map +1 -1
  838. package/build-module/components/warning/index.js +0 -1
  839. package/build-module/components/warning/index.js.map +1 -1
  840. package/build-module/components/writing-flow/use-arrow-nav.js +0 -1
  841. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  842. package/build-module/components/writing-flow/use-clipboard-handler.js +0 -1
  843. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  844. package/build-module/components/writing-flow/use-input.js +0 -1
  845. package/build-module/components/writing-flow/use-input.js.map +1 -1
  846. package/build-module/components/writing-flow/use-tab-nav.js +3 -1
  847. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  848. package/build-module/components/writing-flow/utils.js +0 -1
  849. package/build-module/components/writing-flow/utils.js.map +1 -1
  850. package/build-module/components/writing-mode-control/index.js +0 -1
  851. package/build-module/components/writing-mode-control/index.js.map +1 -1
  852. package/build-module/hooks/align.js +0 -1
  853. package/build-module/hooks/align.js.map +1 -1
  854. package/build-module/hooks/align.native.js +0 -1
  855. package/build-module/hooks/align.native.js.map +1 -1
  856. package/build-module/hooks/aria-label.js +3 -7
  857. package/build-module/hooks/aria-label.js.map +1 -1
  858. package/build-module/hooks/block-bindings.js +0 -1
  859. package/build-module/hooks/block-bindings.js.map +1 -1
  860. package/build-module/hooks/block-hooks.js +0 -1
  861. package/build-module/hooks/block-hooks.js.map +1 -1
  862. package/build-module/hooks/block-style-variation.js +0 -1
  863. package/build-module/hooks/block-style-variation.js.map +1 -1
  864. package/build-module/hooks/border.js +0 -1
  865. package/build-module/hooks/border.js.map +1 -1
  866. package/build-module/hooks/contrast-checker.js +0 -1
  867. package/build-module/hooks/contrast-checker.js.map +1 -1
  868. package/build-module/hooks/duotone.js +0 -1
  869. package/build-module/hooks/duotone.js.map +1 -1
  870. package/build-module/hooks/index.js +0 -1
  871. package/build-module/hooks/index.js.map +1 -1
  872. package/build-module/hooks/layout.js +1 -2
  873. package/build-module/hooks/layout.js.map +1 -1
  874. package/build-module/hooks/position.js +0 -1
  875. package/build-module/hooks/position.js.map +1 -1
  876. package/build-module/hooks/style.js +0 -1
  877. package/build-module/hooks/style.js.map +1 -1
  878. package/build-module/hooks/supports.js +0 -1
  879. package/build-module/hooks/supports.js.map +1 -1
  880. package/build-module/hooks/text-align.js +0 -1
  881. package/build-module/hooks/text-align.js.map +1 -1
  882. package/build-module/hooks/typography.js +0 -1
  883. package/build-module/hooks/typography.js.map +1 -1
  884. package/build-module/hooks/use-zoom-out.js +2 -12
  885. package/build-module/hooks/use-zoom-out.js.map +1 -1
  886. package/build-module/hooks/utils.js +0 -1
  887. package/build-module/hooks/utils.js.map +1 -1
  888. package/build-module/layouts/constrained.js +0 -1
  889. package/build-module/layouts/constrained.js.map +1 -1
  890. package/build-module/layouts/flex.js +0 -1
  891. package/build-module/layouts/flex.js.map +1 -1
  892. package/build-module/layouts/flow.js +0 -1
  893. package/build-module/layouts/flow.js.map +1 -1
  894. package/build-module/layouts/index.js +0 -1
  895. package/build-module/layouts/index.js.map +1 -1
  896. package/build-module/layouts/utils.js +0 -1
  897. package/build-module/layouts/utils.js.map +1 -1
  898. package/build-module/store/actions.js +0 -1
  899. package/build-module/store/actions.js.map +1 -1
  900. package/build-module/store/get-block-settings.js +0 -1
  901. package/build-module/store/get-block-settings.js.map +1 -1
  902. package/build-module/store/private-actions.js +0 -1
  903. package/build-module/store/private-actions.js.map +1 -1
  904. package/build-module/store/private-selectors.js +0 -1
  905. package/build-module/store/private-selectors.js.map +1 -1
  906. package/build-module/store/reducer.js +0 -1
  907. package/build-module/store/reducer.js.map +1 -1
  908. package/build-module/store/selectors.js +0 -1
  909. package/build-module/store/selectors.js.map +1 -1
  910. package/build-module/store/utils.js +0 -1
  911. package/build-module/store/utils.js.map +1 -1
  912. package/build-module/utils/block-bindings.js +0 -1
  913. package/build-module/utils/block-bindings.js.map +1 -1
  914. package/build-module/utils/get-editor-region.js +0 -1
  915. package/build-module/utils/get-editor-region.js.map +1 -1
  916. package/build-module/utils/get-font-styles-and-weights.js +0 -1
  917. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  918. package/build-module/utils/math.js +0 -1
  919. package/build-module/utils/math.js.map +1 -1
  920. package/build-module/utils/object.js +0 -1
  921. package/build-module/utils/object.js.map +1 -1
  922. package/build-module/utils/selection.js +0 -1
  923. package/build-module/utils/selection.js.map +1 -1
  924. package/build-module/utils/transform-styles/index.js +0 -1
  925. package/build-module/utils/transform-styles/index.js.map +1 -1
  926. package/build-style/content-rtl.css +22 -25
  927. package/build-style/content.css +22 -25
  928. package/build-style/style-rtl.css +136 -104
  929. package/build-style/style.css +136 -104
  930. package/package.json +34 -34
  931. package/src/components/background-image-control/index.js +1 -6
  932. package/src/components/block-canvas/style.scss +3 -2
  933. package/src/components/block-draggable/style.scss +3 -1
  934. package/src/components/block-list/content.scss +19 -12
  935. package/src/components/block-list/index.js +21 -7
  936. package/src/components/block-mover/style.scss +5 -4
  937. package/src/components/block-pattern-setup/style.scss +3 -1
  938. package/src/components/block-patterns-list/style.scss +3 -3
  939. package/src/components/block-popover/use-popover-scroll.js +13 -8
  940. package/src/components/block-settings-menu/block-settings-dropdown.js +26 -7
  941. package/src/components/block-switcher/style.scss +3 -1
  942. package/src/components/block-toolbar/style.scss +5 -3
  943. package/src/components/block-tools/block-toolbar-popover.js +4 -3
  944. package/src/components/block-tools/style.scss +6 -3
  945. package/src/components/button-block-appender/content.scss +2 -4
  946. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  947. package/src/components/colors-gradients/style.scss +3 -2
  948. package/src/components/global-styles/filters-panel.js +48 -21
  949. package/src/components/global-styles/shadow-panel-components.js +44 -13
  950. package/src/components/global-styles/style.scss +53 -1
  951. package/src/components/grid/style.scss +5 -4
  952. package/src/components/iframe/content.scss +5 -2
  953. package/src/components/iframe/index.js +16 -13
  954. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  955. package/src/components/inner-blocks/index.js +2 -2
  956. package/src/components/inner-blocks/index.native.js +2 -2
  957. package/src/components/inserter/block-patterns-explorer/index.js +6 -4
  958. package/src/components/inserter/block-patterns-explorer/pattern-list.js +5 -1
  959. package/src/components/inserter/block-patterns-tab/index.js +1 -3
  960. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
  961. package/src/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
  962. package/src/components/inserter/category-tabs/index.js +1 -3
  963. package/src/components/inserter/no-results.js +0 -5
  964. package/src/components/inserter/quick-inserter.js +4 -1
  965. package/src/components/inserter/search-results.js +3 -1
  966. package/src/components/inserter/style.scss +11 -8
  967. package/src/components/inserter-list-item/style.scss +9 -6
  968. package/src/components/keyboard-shortcuts/index.js +31 -1
  969. package/src/components/link-control/style.scss +11 -6
  970. package/src/components/list-view/style.scss +34 -17
  971. package/src/components/media-placeholder/index.js +1 -0
  972. package/src/components/rich-text/event-listeners/delete.js +3 -3
  973. package/src/components/tool-selector/index.js +1 -1
  974. package/src/components/url-input/style.scss +3 -2
  975. package/src/components/writing-flow/use-tab-nav.js +4 -0
  976. package/src/hooks/aria-label.js +3 -8
  977. package/src/hooks/layout.js +1 -1
  978. package/src/hooks/use-zoom-out.js +2 -10
@@ -1 +1 @@
1
- {"version":3,"names":["MenuItem","getBlockMenuDefaultClassName","cloneBlock","store","blocksStore","useSelect","useState","useMemo","blockEditorStore","BlockIcon","PreviewBlockPopover","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EMPTY_OBJECT","useBlockVariationTransforms","clientIds","blocks","activeBlockVariation","blockVariationTransformations","select","getBlockAttributes","canRemoveBlocks","getActiveBlockVariation","getBlockVariations","canRemove","length","firstBlock","name","clientId","transformations","filter","BlockVariationTransformations","onSelect","hoveredTransformItemName","setHoveredTransformItemName","children","find","attributes","map","item","BlockVariationTransformationItem","icon","title","className","onClick","event","preventDefault","onMouseLeave","onMouseEnter","showColors"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-variation-transformations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport {\n\tgetBlockMenuDefaultClassName,\n\tcloneBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport PreviewBlockPopover from './preview-block-popover';\n\nconst EMPTY_OBJECT = {};\n\nexport function useBlockVariationTransforms( { clientIds, blocks } ) {\n\tconst { activeBlockVariation, blockVariationTransformations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst canRemove = canRemoveBlocks( clientIds );\n\t\t\t// Only handle single selected blocks for now.\n\t\t\tif ( blocks.length !== 1 || ! canRemove ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst [ firstBlock ] = blocks;\n\t\t\treturn {\n\t\t\t\tblockVariationTransformations: getBlockVariations(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\t'transform'\n\t\t\t\t),\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\tgetBlockAttributes( firstBlock.clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks ]\n\t);\n\tconst transformations = useMemo( () => {\n\t\treturn blockVariationTransformations?.filter(\n\t\t\t( { name } ) => name !== activeBlockVariation?.name\n\t\t);\n\t}, [ blockVariationTransformations, activeBlockVariation ] );\n\treturn transformations;\n}\n\nconst BlockVariationTransformations = ( {\n\ttransformations,\n\tonSelect,\n\tblocks,\n} ) => {\n\tconst [ hoveredTransformItemName, setHoveredTransformItemName ] =\n\t\tuseState();\n\treturn (\n\t\t<>\n\t\t\t{ hoveredTransformItemName && (\n\t\t\t\t<PreviewBlockPopover\n\t\t\t\t\tblocks={ cloneBlock(\n\t\t\t\t\t\tblocks[ 0 ],\n\t\t\t\t\t\ttransformations.find(\n\t\t\t\t\t\t\t( { name } ) => name === hoveredTransformItemName\n\t\t\t\t\t\t).attributes\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ transformations?.map( ( item ) => (\n\t\t\t\t<BlockVariationTransformationItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</>\n\t);\n};\n\nfunction BlockVariationTransformationItem( {\n\titem,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\tconst { name, icon, title } = item;\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName={ getBlockMenuDefaultClassName( name ) }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonSelect( name );\n\t\t\t} }\n\t\t\tonMouseLeave={ () => setHoveredTransformItemName( null ) }\n\t\t\tonMouseEnter={ () => setHoveredTransformItemName( name ) }\n\t\t>\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t{ title }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockVariationTransformations;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SACCC,4BAA4B,EAC5BC,UAAU,EACVC,KAAK,IAAIC,WAAW,QACd,mBAAmB;AAC1B,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASJ,KAAK,IAAIK,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,mBAAmB,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE1D,MAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,OAAO,SAASC,2BAA2BA,CAAE;EAAEC,SAAS;EAAEC;AAAO,CAAC,EAAG;EACpE,MAAM;IAAEC,oBAAoB;IAAEC;EAA8B,CAAC,GAAGjB,SAAS,CACtEkB,MAAM,IAAM;IACb,MAAM;MAAEC,kBAAkB;MAAEC;IAAgB,CAAC,GAC5CF,MAAM,CAAEf,gBAAiB,CAAC;IAC3B,MAAM;MAAEkB,uBAAuB;MAAEC;IAAmB,CAAC,GACpDJ,MAAM,CAAEnB,WAAY,CAAC;IAEtB,MAAMwB,SAAS,GAAGH,eAAe,CAAEN,SAAU,CAAC;IAC9C;IACA,IAAKC,MAAM,CAACS,MAAM,KAAK,CAAC,IAAI,CAAED,SAAS,EAAG;MACzC,OAAOX,YAAY;IACpB;IACA,MAAM,CAAEa,UAAU,CAAE,GAAGV,MAAM;IAC7B,OAAO;MACNE,6BAA6B,EAAEK,kBAAkB,CAChDG,UAAU,CAACC,IAAI,EACf,WACD,CAAC;MACDV,oBAAoB,EAAEK,uBAAuB,CAC5CI,UAAU,CAACC,IAAI,EACfP,kBAAkB,CAAEM,UAAU,CAACE,QAAS,CACzC;IACD,CAAC;EACF,CAAC,EACD,CAAEb,SAAS,EAAEC,MAAM,CACpB,CAAC;EACD,MAAMa,eAAe,GAAG1B,OAAO,CAAE,MAAM;IACtC,OAAOe,6BAA6B,EAAEY,MAAM,CAC3C,CAAE;MAAEH;IAAK,CAAC,KAAMA,IAAI,KAAKV,oBAAoB,EAAEU,IAChD,CAAC;EACF,CAAC,EAAE,CAAET,6BAA6B,EAAED,oBAAoB,CAAG,CAAC;EAC5D,OAAOY,eAAe;AACvB;AAEA,MAAME,6BAA6B,GAAGA,CAAE;EACvCF,eAAe;EACfG,QAAQ;EACRhB;AACD,CAAC,KAAM;EACN,MAAM,CAAEiB,wBAAwB,EAAEC,2BAA2B,CAAE,GAC9DhC,QAAQ,CAAC,CAAC;EACX,oBACCU,KAAA,CAAAF,SAAA;IAAAyB,QAAA,GACGF,wBAAwB,iBACzBzB,IAAA,CAACF,mBAAmB;MACnBU,MAAM,EAAGlB,UAAU,CAClBkB,MAAM,CAAE,CAAC,CAAE,EACXa,eAAe,CAACO,IAAI,CACnB,CAAE;QAAET;MAAK,CAAC,KAAMA,IAAI,KAAKM,wBAC1B,CAAC,CAACI,UACH;IAAG,CACH,CACD,EACCR,eAAe,EAAES,GAAG,CAAIC,IAAI,iBAC7B/B,IAAA,CAACgC,gCAAgC;MAEhCD,IAAI,EAAGA,IAAM;MACbP,QAAQ,EAAGA,QAAU;MACrBE,2BAA2B,EAAGA;IAA6B,GAHrDK,IAAI,CAACZ,IAIX,CACA,CAAC;EAAA,CACF,CAAC;AAEL,CAAC;AAED,SAASa,gCAAgCA,CAAE;EAC1CD,IAAI;EACJP,QAAQ;EACRE;AACD,CAAC,EAAG;EACH,MAAM;IAAEP,IAAI;IAAEc,IAAI;IAAEC;EAAM,CAAC,GAAGH,IAAI;EAClC,oBACC3B,KAAA,CAAChB,QAAQ;IACR+C,SAAS,EAAG9C,4BAA4B,CAAE8B,IAAK,CAAG;IAClDiB,OAAO,EAAKC,KAAK,IAAM;MACtBA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBd,QAAQ,CAAEL,IAAK,CAAC;IACjB,CAAG;IACHoB,YAAY,EAAGA,CAAA,KAAMb,2BAA2B,CAAE,IAAK,CAAG;IAC1Dc,YAAY,EAAGA,CAAA,KAAMd,2BAA2B,CAAEP,IAAK,CAAG;IAAAQ,QAAA,gBAE1D3B,IAAA,CAACH,SAAS;MAACoC,IAAI,EAAGA,IAAM;MAACQ,UAAU;IAAA,CAAE,CAAC,EACpCP,KAAK;EAAA,CACE,CAAC;AAEb;AAEA,eAAeX,6BAA6B","ignoreList":[]}
1
+ {"version":3,"names":["MenuItem","getBlockMenuDefaultClassName","cloneBlock","store","blocksStore","useSelect","useState","useMemo","blockEditorStore","BlockIcon","PreviewBlockPopover","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EMPTY_OBJECT","useBlockVariationTransforms","clientIds","blocks","activeBlockVariation","blockVariationTransformations","select","getBlockAttributes","canRemoveBlocks","getActiveBlockVariation","getBlockVariations","canRemove","length","firstBlock","name","clientId","transformations","filter","BlockVariationTransformations","onSelect","hoveredTransformItemName","setHoveredTransformItemName","children","find","attributes","map","item","BlockVariationTransformationItem","icon","title","className","onClick","event","preventDefault","onMouseLeave","onMouseEnter","showColors"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-variation-transformations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport {\n\tgetBlockMenuDefaultClassName,\n\tcloneBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport PreviewBlockPopover from './preview-block-popover';\n\nconst EMPTY_OBJECT = {};\n\nexport function useBlockVariationTransforms( { clientIds, blocks } ) {\n\tconst { activeBlockVariation, blockVariationTransformations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst canRemove = canRemoveBlocks( clientIds );\n\t\t\t// Only handle single selected blocks for now.\n\t\t\tif ( blocks.length !== 1 || ! canRemove ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst [ firstBlock ] = blocks;\n\t\t\treturn {\n\t\t\t\tblockVariationTransformations: getBlockVariations(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\t'transform'\n\t\t\t\t),\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\tgetBlockAttributes( firstBlock.clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks ]\n\t);\n\tconst transformations = useMemo( () => {\n\t\treturn blockVariationTransformations?.filter(\n\t\t\t( { name } ) => name !== activeBlockVariation?.name\n\t\t);\n\t}, [ blockVariationTransformations, activeBlockVariation ] );\n\treturn transformations;\n}\n\nconst BlockVariationTransformations = ( {\n\ttransformations,\n\tonSelect,\n\tblocks,\n} ) => {\n\tconst [ hoveredTransformItemName, setHoveredTransformItemName ] =\n\t\tuseState();\n\treturn (\n\t\t<>\n\t\t\t{ hoveredTransformItemName && (\n\t\t\t\t<PreviewBlockPopover\n\t\t\t\t\tblocks={ cloneBlock(\n\t\t\t\t\t\tblocks[ 0 ],\n\t\t\t\t\t\ttransformations.find(\n\t\t\t\t\t\t\t( { name } ) => name === hoveredTransformItemName\n\t\t\t\t\t\t).attributes\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ transformations?.map( ( item ) => (\n\t\t\t\t<BlockVariationTransformationItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</>\n\t);\n};\n\nfunction BlockVariationTransformationItem( {\n\titem,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\tconst { name, icon, title } = item;\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName={ getBlockMenuDefaultClassName( name ) }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonSelect( name );\n\t\t\t} }\n\t\t\tonMouseLeave={ () => setHoveredTransformItemName( null ) }\n\t\t\tonMouseEnter={ () => setHoveredTransformItemName( name ) }\n\t\t>\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t{ title }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockVariationTransformations;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","_n","sprintf","_x","DropdownMenu","ToolbarButton","ToolbarGroup","ToolbarItem","__experimentalText","Text","MenuGroup","switchToBlockType","store","blocksStore","isReusableBlock","isTemplatePart","useSelect","useDispatch","copy","preferencesStore","blockEditorStore","BlockIcon","BlockTransformationsMenu","useBlockVariationTransforms","BlockStylesMenu","PatternTransformationsMenu","useBlockDisplayTitle","jsx","_jsx","jsxs","_jsxs","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","replaceBlocks","multiSelect","updateBlockAttributes","possibleBlockTransformations","patterns","blocks","isUsingBindings","select","getBlockAttributes","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","_blocks","every","clientId","metadata","bindings","blockVariationTransformations","selectForMultipleBlocks","insertedBlocks","length","onBlockTransform","name","newBlocks","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","className","children","connectedBlockDescription","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","BlockSwitcher","hasContentOnlyLocking","icon","invalidBlocks","isReusable","isDisabled","getTemplateLock","canRemoveBlocks","getBlockEditingMode","getBlockStyles","getBlockType","getActiveBlockVariation","some","block","firstBlockName","_isSingleBlockSelected","blockType","editingMode","_icon","_hasTemplateLock","match","isSelectionOfSameType","Set","map","size","id","blockTitle","maximumLength","showIconLabels","get","blockSwitcherLabel","blockIndicatorText","undefined","hideDropdown","disabled","title","showColors","text","blockSwitcherDescription","toggleProps","label","popoverProps","placement","description","menuProps","orientation"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks, isUsingBindings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlocksByClientId,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockTransformItems,\n\t\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\t\treturn {\n\t\t\t\t\tblocks: _blocks,\n\t\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tisUsingBindings: clientIds.every(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\t!! getBlockAttributes( clientId )?.metadata\n\t\t\t\t\t\t\t\t?.bindings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds ]\n\t\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block transformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst {\n\t\thasContentOnlyLocking,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t\tisDisabled,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\t\t\tconst editingMode = getBlockEditingMode( clientIds[ 0 ] );\n\n\t\t\tlet _icon;\n\t\t\tlet _hasTemplateLock;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t\t_hasTemplateLock =\n\t\t\t\t\tgetTemplateLock( clientIds[ 0 ] ) === 'contentOnly';\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t_hasTemplateLock = clientIds.some(\n\t\t\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t\t\t);\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\t\tisDisabled: editingMode !== 'default',\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tconst showIconLabels = useSelect(\n\t\t( select ) =>\n\t\t\tselect( preferencesStore ).get( 'core', 'showIconLabels' ),\n\t\t[]\n\t);\n\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst blockIndicatorText =\n\t\t( isReusable || isTemplate ) && ! showIconLabels && blockTitle\n\t\t\t? blockTitle\n\t\t\t: undefined;\n\n\tconst hideDropdown =\n\t\tisDisabled ||\n\t\t( ! hasBlockStyles && ! canRemove ) ||\n\t\thasContentOnlyLocking;\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_n","sprintf","_x","DropdownMenu","ToolbarButton","ToolbarGroup","ToolbarItem","__experimentalText","Text","MenuGroup","switchToBlockType","store","blocksStore","isReusableBlock","isTemplatePart","useSelect","useDispatch","copy","preferencesStore","blockEditorStore","BlockIcon","BlockTransformationsMenu","useBlockVariationTransforms","BlockStylesMenu","PatternTransformationsMenu","useBlockDisplayTitle","jsx","_jsx","jsxs","_jsxs","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","replaceBlocks","multiSelect","updateBlockAttributes","possibleBlockTransformations","patterns","blocks","isUsingBindings","select","getBlockAttributes","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","_blocks","every","clientId","metadata","bindings","blockVariationTransformations","selectForMultipleBlocks","insertedBlocks","length","onBlockTransform","name","newBlocks","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","className","children","connectedBlockDescription","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","BlockSwitcher","hasContentOnlyLocking","icon","invalidBlocks","isReusable","isDisabled","getTemplateLock","canRemoveBlocks","getBlockEditingMode","getBlockStyles","getBlockType","getActiveBlockVariation","some","block","firstBlockName","_isSingleBlockSelected","blockType","editingMode","_icon","_hasTemplateLock","match","isSelectionOfSameType","Set","map","size","id","blockTitle","maximumLength","showIconLabels","get","blockSwitcherLabel","blockIndicatorText","undefined","hideDropdown","disabled","title","showColors","text","blockSwitcherDescription","toggleProps","label","popoverProps","placement","description","menuProps","orientation"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks, isUsingBindings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlocksByClientId,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockTransformItems,\n\t\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\t\treturn {\n\t\t\t\t\tblocks: _blocks,\n\t\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tisUsingBindings: clientIds.every(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\t!! getBlockAttributes( clientId )?.metadata\n\t\t\t\t\t\t\t\t?.bindings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds ]\n\t\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block transformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst {\n\t\thasContentOnlyLocking,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t\tisDisabled,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\t\t\tconst editingMode = getBlockEditingMode( clientIds[ 0 ] );\n\n\t\t\tlet _icon;\n\t\t\tlet _hasTemplateLock;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t\t_hasTemplateLock =\n\t\t\t\t\tgetTemplateLock( clientIds[ 0 ] ) === 'contentOnly';\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t_hasTemplateLock = clientIds.some(\n\t\t\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t\t\t);\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\t\tisDisabled: editingMode !== 'default',\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tconst showIconLabels = useSelect(\n\t\t( select ) =>\n\t\t\tselect( preferencesStore ).get( 'core', 'showIconLabels' ),\n\t\t[]\n\t);\n\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst blockIndicatorText =\n\t\t( isReusable || isTemplate ) && ! showIconLabels && blockTitle\n\t\t\t? blockTitle\n\t\t\t: undefined;\n\n\tconst hideDropdown =\n\t\tisDisabled ||\n\t\t( ! hasBlockStyles && ! canRemove ) ||\n\t\thasContentOnlyLocking;\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","useState","useInstanceId","useViewportMatch","chevronRight","Composite","MenuGroup","MenuItem","Popover","VisuallyHidden","BlockPreview","useTransformedPatterns","jsx","_jsx","jsxs","_jsxs","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","length","className","children","PreviewPatternsPopover","onClick","event","preventDefault","icon","isMobile","placement","offset","BlockPatternsList","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","Item","render","title","description","undefined","transformedBlocks","viewportWidth","id"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tComposite,\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\n\tif ( ! patterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\treturn (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<Composite.Item\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</Composite.Item>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","useState","useInstanceId","useViewportMatch","chevronRight","Composite","MenuGroup","MenuItem","Popover","VisuallyHidden","BlockPreview","useTransformedPatterns","jsx","_jsx","jsxs","_jsxs","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","length","className","children","PreviewPatternsPopover","onClick","event","preventDefault","icon","isMobile","placement","offset","BlockPatternsList","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","Item","render","title","description","undefined","transformedBlocks","viewportWidth","id"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tComposite,\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\n\tif ( ! patterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\treturn (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<Composite.Item\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</Composite.Item>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","cloneBlock","getMatchingBlockByName","getRetainedBlockAttributes","transformMatchingBlock","match","selectedBlock","retainedBlockAttributes","name","attributes","getPatternTransformedBlocks","selectedBlocks","patternBlocks","_patternBlocks","map","block","consumedBlocks","Set","isMatch","patternBlock","add","clientId","useTransformedPatterns","patterns","reduce","accumulator","_pattern","transformedBlocks","blocks","push"],"sources":["@wordpress/block-editor/src/components/block-switcher/use-transformed-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getMatchingBlockByName, getRetainedBlockAttributes } from './utils';\n\n/**\n * Mutate the matched block's attributes by getting\n * which block type's attributes to retain and prioritize\n * them in the merging of the attributes.\n *\n * @param {WPBlock} match The matched block.\n * @param {WPBlock} selectedBlock The selected block.\n * @return {void}\n */\nexport const transformMatchingBlock = ( match, selectedBlock ) => {\n\t// Get the block attributes to retain through the transformation.\n\tconst retainedBlockAttributes = getRetainedBlockAttributes(\n\t\tselectedBlock.name,\n\t\tselectedBlock.attributes\n\t);\n\tmatch.attributes = {\n\t\t...match.attributes,\n\t\t...retainedBlockAttributes,\n\t};\n};\n\n/**\n * By providing the selected blocks and pattern's blocks\n * find the matching blocks, transform them and return them.\n * If not all selected blocks are matched, return nothing.\n *\n * @param {WPBlock[]} selectedBlocks The selected blocks.\n * @param {WPBlock[]} patternBlocks The pattern's blocks.\n * @return {WPBlock[]|void} The transformed pattern's blocks or undefined if not all selected blocks have been matched.\n */\nexport const getPatternTransformedBlocks = (\n\tselectedBlocks,\n\tpatternBlocks\n) => {\n\t// Clone Pattern's blocks to produce new clientIds and be able to mutate the matches.\n\tconst _patternBlocks = patternBlocks.map( ( block ) =>\n\t\tcloneBlock( block )\n\t);\n\t/**\n\t * Keep track of the consumed pattern blocks.\n\t * This is needed because we loop the selected blocks\n\t * and for example we may have selected two paragraphs and\n\t * the pattern's blocks could have more `paragraphs`.\n\t */\n\tconst consumedBlocks = new Set();\n\tfor ( const selectedBlock of selectedBlocks ) {\n\t\tlet isMatch = false;\n\t\tfor ( const patternBlock of _patternBlocks ) {\n\t\t\tconst match = getMatchingBlockByName(\n\t\t\t\tpatternBlock,\n\t\t\t\tselectedBlock.name,\n\t\t\t\tconsumedBlocks\n\t\t\t);\n\t\t\tif ( ! match ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tisMatch = true;\n\t\t\tconsumedBlocks.add( match.clientId );\n\t\t\t// We update (mutate) the matching pattern block.\n\t\t\ttransformMatchingBlock( match, selectedBlock );\n\t\t\t// No need to loop through other pattern's blocks.\n\t\t\tbreak;\n\t\t}\n\t\t// Bail early if a selected block has not been matched.\n\t\tif ( ! isMatch ) {\n\t\t\treturn;\n\t\t}\n\t}\n\treturn _patternBlocks;\n};\n\n/**\n * @typedef {WPBlockPattern & {transformedBlocks: WPBlock[]}} TransformedBlockPattern\n */\n\n/**\n * Custom hook that accepts patterns from state and the selected\n * blocks and tries to match these with the pattern's blocks.\n * If all selected blocks are matched with a Pattern's block,\n * we transform them by retaining block's attributes with `role:content`.\n * The transformed pattern's blocks are set to a new pattern\n * property `transformedBlocks`.\n *\n * @param {WPBlockPattern[]} patterns Patterns from state.\n * @param {WPBlock[]} selectedBlocks The currently selected blocks.\n * @return {TransformedBlockPattern[]} Returns the eligible matched patterns with all the selected blocks.\n */\nconst useTransformedPatterns = ( patterns, selectedBlocks ) => {\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns.reduce( ( accumulator, _pattern ) => {\n\t\t\t\tconst transformedBlocks = getPatternTransformedBlocks(\n\t\t\t\t\tselectedBlocks,\n\t\t\t\t\t_pattern.blocks\n\t\t\t\t);\n\t\t\t\tif ( transformedBlocks ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\t..._pattern,\n\t\t\t\t\t\ttransformedBlocks,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, [] ),\n\t\t[ patterns, selectedBlocks ]\n\t);\n};\n\nexport default useTransformedPatterns;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,UAAU,QAAQ,mBAAmB;;AAE9C;AACA;AACA;AACA,SAASC,sBAAsB,EAAEC,0BAA0B,QAAQ,SAAS;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,aAAa,KAAM;EACjE;EACA,MAAMC,uBAAuB,GAAGJ,0BAA0B,CACzDG,aAAa,CAACE,IAAI,EAClBF,aAAa,CAACG,UACf,CAAC;EACDJ,KAAK,CAACI,UAAU,GAAG;IAClB,GAAGJ,KAAK,CAACI,UAAU;IACnB,GAAGF;EACJ,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,2BAA2B,GAAGA,CAC1CC,cAAc,EACdC,aAAa,KACT;EACJ;EACA,MAAMC,cAAc,GAAGD,aAAa,CAACE,GAAG,CAAIC,KAAK,IAChDd,UAAU,CAAEc,KAAM,CACnB,CAAC;EACD;AACD;AACA;AACA;AACA;AACA;EACC,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC;EAChC,KAAM,MAAMX,aAAa,IAAIK,cAAc,EAAG;IAC7C,IAAIO,OAAO,GAAG,KAAK;IACnB,KAAM,MAAMC,YAAY,IAAIN,cAAc,EAAG;MAC5C,MAAMR,KAAK,GAAGH,sBAAsB,CACnCiB,YAAY,EACZb,aAAa,CAACE,IAAI,EAClBQ,cACD,CAAC;MACD,IAAK,CAAEX,KAAK,EAAG;QACd;MACD;MACAa,OAAO,GAAG,IAAI;MACdF,cAAc,CAACI,GAAG,CAAEf,KAAK,CAACgB,QAAS,CAAC;MACpC;MACAjB,sBAAsB,CAAEC,KAAK,EAAEC,aAAc,CAAC;MAC9C;MACA;IACD;IACA;IACA,IAAK,CAAEY,OAAO,EAAG;MAChB;IACD;EACD;EACA,OAAOL,cAAc;AACtB,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMS,sBAAsB,GAAGA,CAAEC,QAAQ,EAAEZ,cAAc,KAAM;EAC9D,OAAOX,OAAO,CACb,MACCuB,QAAQ,CAACC,MAAM,CAAE,CAAEC,WAAW,EAAEC,QAAQ,KAAM;IAC7C,MAAMC,iBAAiB,GAAGjB,2BAA2B,CACpDC,cAAc,EACde,QAAQ,CAACE,MACV,CAAC;IACD,IAAKD,iBAAiB,EAAG;MACxBF,WAAW,CAACI,IAAI,CAAE;QACjB,GAAGH,QAAQ;QACXC;MACD,CAAE,CAAC;IACJ;IACA,OAAOF,WAAW;EACnB,CAAC,EAAE,EAAG,CAAC,EACR,CAAEF,QAAQ,EAAEZ,cAAc,CAC3B,CAAC;AACF,CAAC;AAED,eAAeW,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","cloneBlock","getMatchingBlockByName","getRetainedBlockAttributes","transformMatchingBlock","match","selectedBlock","retainedBlockAttributes","name","attributes","getPatternTransformedBlocks","selectedBlocks","patternBlocks","_patternBlocks","map","block","consumedBlocks","Set","isMatch","patternBlock","add","clientId","useTransformedPatterns","patterns","reduce","accumulator","_pattern","transformedBlocks","blocks","push"],"sources":["@wordpress/block-editor/src/components/block-switcher/use-transformed-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getMatchingBlockByName, getRetainedBlockAttributes } from './utils';\n\n/**\n * Mutate the matched block's attributes by getting\n * which block type's attributes to retain and prioritize\n * them in the merging of the attributes.\n *\n * @param {WPBlock} match The matched block.\n * @param {WPBlock} selectedBlock The selected block.\n * @return {void}\n */\nexport const transformMatchingBlock = ( match, selectedBlock ) => {\n\t// Get the block attributes to retain through the transformation.\n\tconst retainedBlockAttributes = getRetainedBlockAttributes(\n\t\tselectedBlock.name,\n\t\tselectedBlock.attributes\n\t);\n\tmatch.attributes = {\n\t\t...match.attributes,\n\t\t...retainedBlockAttributes,\n\t};\n};\n\n/**\n * By providing the selected blocks and pattern's blocks\n * find the matching blocks, transform them and return them.\n * If not all selected blocks are matched, return nothing.\n *\n * @param {WPBlock[]} selectedBlocks The selected blocks.\n * @param {WPBlock[]} patternBlocks The pattern's blocks.\n * @return {WPBlock[]|void} The transformed pattern's blocks or undefined if not all selected blocks have been matched.\n */\nexport const getPatternTransformedBlocks = (\n\tselectedBlocks,\n\tpatternBlocks\n) => {\n\t// Clone Pattern's blocks to produce new clientIds and be able to mutate the matches.\n\tconst _patternBlocks = patternBlocks.map( ( block ) =>\n\t\tcloneBlock( block )\n\t);\n\t/**\n\t * Keep track of the consumed pattern blocks.\n\t * This is needed because we loop the selected blocks\n\t * and for example we may have selected two paragraphs and\n\t * the pattern's blocks could have more `paragraphs`.\n\t */\n\tconst consumedBlocks = new Set();\n\tfor ( const selectedBlock of selectedBlocks ) {\n\t\tlet isMatch = false;\n\t\tfor ( const patternBlock of _patternBlocks ) {\n\t\t\tconst match = getMatchingBlockByName(\n\t\t\t\tpatternBlock,\n\t\t\t\tselectedBlock.name,\n\t\t\t\tconsumedBlocks\n\t\t\t);\n\t\t\tif ( ! match ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tisMatch = true;\n\t\t\tconsumedBlocks.add( match.clientId );\n\t\t\t// We update (mutate) the matching pattern block.\n\t\t\ttransformMatchingBlock( match, selectedBlock );\n\t\t\t// No need to loop through other pattern's blocks.\n\t\t\tbreak;\n\t\t}\n\t\t// Bail early if a selected block has not been matched.\n\t\tif ( ! isMatch ) {\n\t\t\treturn;\n\t\t}\n\t}\n\treturn _patternBlocks;\n};\n\n/**\n * @typedef {WPBlockPattern & {transformedBlocks: WPBlock[]}} TransformedBlockPattern\n */\n\n/**\n * Custom hook that accepts patterns from state and the selected\n * blocks and tries to match these with the pattern's blocks.\n * If all selected blocks are matched with a Pattern's block,\n * we transform them by retaining block's attributes with `role:content`.\n * The transformed pattern's blocks are set to a new pattern\n * property `transformedBlocks`.\n *\n * @param {WPBlockPattern[]} patterns Patterns from state.\n * @param {WPBlock[]} selectedBlocks The currently selected blocks.\n * @return {TransformedBlockPattern[]} Returns the eligible matched patterns with all the selected blocks.\n */\nconst useTransformedPatterns = ( patterns, selectedBlocks ) => {\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns.reduce( ( accumulator, _pattern ) => {\n\t\t\t\tconst transformedBlocks = getPatternTransformedBlocks(\n\t\t\t\t\tselectedBlocks,\n\t\t\t\t\t_pattern.blocks\n\t\t\t\t);\n\t\t\t\tif ( transformedBlocks ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\t..._pattern,\n\t\t\t\t\t\ttransformedBlocks,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, [] ),\n\t\t[ patterns, selectedBlocks ]\n\t);\n};\n\nexport default useTransformedPatterns;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,UAAU,QAAQ,mBAAmB;;AAE9C;AACA;AACA;AACA,SAASC,sBAAsB,EAAEC,0BAA0B,QAAQ,SAAS;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,aAAa,KAAM;EACjE;EACA,MAAMC,uBAAuB,GAAGJ,0BAA0B,CACzDG,aAAa,CAACE,IAAI,EAClBF,aAAa,CAACG,UACf,CAAC;EACDJ,KAAK,CAACI,UAAU,GAAG;IAClB,GAAGJ,KAAK,CAACI,UAAU;IACnB,GAAGF;EACJ,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,2BAA2B,GAAGA,CAC1CC,cAAc,EACdC,aAAa,KACT;EACJ;EACA,MAAMC,cAAc,GAAGD,aAAa,CAACE,GAAG,CAAIC,KAAK,IAChDd,UAAU,CAAEc,KAAM,CACnB,CAAC;EACD;AACD;AACA;AACA;AACA;AACA;EACC,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC;EAChC,KAAM,MAAMX,aAAa,IAAIK,cAAc,EAAG;IAC7C,IAAIO,OAAO,GAAG,KAAK;IACnB,KAAM,MAAMC,YAAY,IAAIN,cAAc,EAAG;MAC5C,MAAMR,KAAK,GAAGH,sBAAsB,CACnCiB,YAAY,EACZb,aAAa,CAACE,IAAI,EAClBQ,cACD,CAAC;MACD,IAAK,CAAEX,KAAK,EAAG;QACd;MACD;MACAa,OAAO,GAAG,IAAI;MACdF,cAAc,CAACI,GAAG,CAAEf,KAAK,CAACgB,QAAS,CAAC;MACpC;MACAjB,sBAAsB,CAAEC,KAAK,EAAEC,aAAc,CAAC;MAC9C;MACA;IACD;IACA;IACA,IAAK,CAAEY,OAAO,EAAG;MAChB;IACD;EACD;EACA,OAAOL,cAAc;AACtB,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMS,sBAAsB,GAAGA,CAAEC,QAAQ,EAAEZ,cAAc,KAAM;EAC9D,OAAOX,OAAO,CACb,MACCuB,QAAQ,CAACC,MAAM,CAAE,CAAEC,WAAW,EAAEC,QAAQ,KAAM;IAC7C,MAAMC,iBAAiB,GAAGjB,2BAA2B,CACpDC,cAAc,EACde,QAAQ,CAACE,MACV,CAAC;IACD,IAAKD,iBAAiB,EAAG;MACxBF,WAAW,CAACI,IAAI,CAAE;QACjB,GAAGH,QAAQ;QACXC;MACD,CAAE,CAAC;IACJ;IACA,OAAOF,WAAW;EACnB,CAAC,EAAE,EAAG,CAAC,EACR,CAAEF,QAAQ,EAAEZ,cAAc,CAC3B,CAAC;AACF,CAAC;AAED,eAAeW,sBAAsB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockAttributesNamesByRole","getMatchingBlockByName","block","selectedBlockName","consumedBlocks","Set","clientId","name","innerBlocks","has","innerBlock","match","getRetainedBlockAttributes","attributes","contentAttributes","length","reduce","_accumulator","attribute"],"sources":["@wordpress/block-editor/src/components/block-switcher/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockAttributesNamesByRole } from '@wordpress/blocks';\n\n/**\n * Try to find a matching block by a block's name in a provided\n * block. We recurse through InnerBlocks and return the reference\n * of the matched block (it could be an InnerBlock).\n * If no match is found return nothing.\n *\n * @param {WPBlock} block The block to try to find a match.\n * @param {string} selectedBlockName The block's name to use for matching condition.\n * @param {Set} consumedBlocks A set holding the previously matched/consumed blocks.\n *\n * @return {WPBlock | undefined} The matched block if found or nothing(`undefined`).\n */\nexport const getMatchingBlockByName = (\n\tblock,\n\tselectedBlockName,\n\tconsumedBlocks = new Set()\n) => {\n\tconst { clientId, name, innerBlocks = [] } = block;\n\t// Check if block has been consumed already.\n\tif ( consumedBlocks.has( clientId ) ) {\n\t\treturn;\n\t}\n\tif ( name === selectedBlockName ) {\n\t\treturn block;\n\t}\n\t// Try to find a matching block from InnerBlocks recursively.\n\tfor ( const innerBlock of innerBlocks ) {\n\t\tconst match = getMatchingBlockByName(\n\t\t\tinnerBlock,\n\t\t\tselectedBlockName,\n\t\t\tconsumedBlocks\n\t\t);\n\t\tif ( match ) {\n\t\t\treturn match;\n\t\t}\n\t}\n};\n\n/**\n * Find and return the block attributes to retain through\n * the transformation, based on Block Type's `role:content`\n * attributes. If no `role:content` attributes exist,\n * return selected block's attributes.\n *\n * @param {string} name Block type's namespaced name.\n * @param {Object} attributes Selected block's attributes.\n * @return {Object} The block's attributes to retain.\n */\nexport const getRetainedBlockAttributes = ( name, attributes ) => {\n\tconst contentAttributes = getBlockAttributesNamesByRole( name, 'content' );\n\tif ( ! contentAttributes?.length ) {\n\t\treturn attributes;\n\t}\n\n\treturn contentAttributes.reduce( ( _accumulator, attribute ) => {\n\t\tif ( attributes[ attribute ] ) {\n\t\t\t_accumulator[ attribute ] = attributes[ attribute ];\n\t\t}\n\t\treturn _accumulator;\n\t}, {} );\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,6BAA6B,QAAQ,mBAAmB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CACrCC,KAAK,EACLC,iBAAiB,EACjBC,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC,KACtB;EACJ,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,WAAW,GAAG;EAAG,CAAC,GAAGN,KAAK;EAClD;EACA,IAAKE,cAAc,CAACK,GAAG,CAAEH,QAAS,CAAC,EAAG;IACrC;EACD;EACA,IAAKC,IAAI,KAAKJ,iBAAiB,EAAG;IACjC,OAAOD,KAAK;EACb;EACA;EACA,KAAM,MAAMQ,UAAU,IAAIF,WAAW,EAAG;IACvC,MAAMG,KAAK,GAAGV,sBAAsB,CACnCS,UAAU,EACVP,iBAAiB,EACjBC,cACD,CAAC;IACD,IAAKO,KAAK,EAAG;MACZ,OAAOA,KAAK;IACb;EACD;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CAAEL,IAAI,EAAEM,UAAU,KAAM;EACjE,MAAMC,iBAAiB,GAAGd,6BAA6B,CAAEO,IAAI,EAAE,SAAU,CAAC;EAC1E,IAAK,CAAEO,iBAAiB,EAAEC,MAAM,EAAG;IAClC,OAAOF,UAAU;EAClB;EAEA,OAAOC,iBAAiB,CAACE,MAAM,CAAE,CAAEC,YAAY,EAAEC,SAAS,KAAM;IAC/D,IAAKL,UAAU,CAAEK,SAAS,CAAE,EAAG;MAC9BD,YAAY,CAAEC,SAAS,CAAE,GAAGL,UAAU,CAAEK,SAAS,CAAE;IACpD;IACA,OAAOD,YAAY;EACpB,CAAC,EAAE,CAAC,CAAE,CAAC;AACR,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBlockAttributesNamesByRole","getMatchingBlockByName","block","selectedBlockName","consumedBlocks","Set","clientId","name","innerBlocks","has","innerBlock","match","getRetainedBlockAttributes","attributes","contentAttributes","length","reduce","_accumulator","attribute"],"sources":["@wordpress/block-editor/src/components/block-switcher/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockAttributesNamesByRole } from '@wordpress/blocks';\n\n/**\n * Try to find a matching block by a block's name in a provided\n * block. We recurse through InnerBlocks and return the reference\n * of the matched block (it could be an InnerBlock).\n * If no match is found return nothing.\n *\n * @param {WPBlock} block The block to try to find a match.\n * @param {string} selectedBlockName The block's name to use for matching condition.\n * @param {Set} consumedBlocks A set holding the previously matched/consumed blocks.\n *\n * @return {WPBlock | undefined} The matched block if found or nothing(`undefined`).\n */\nexport const getMatchingBlockByName = (\n\tblock,\n\tselectedBlockName,\n\tconsumedBlocks = new Set()\n) => {\n\tconst { clientId, name, innerBlocks = [] } = block;\n\t// Check if block has been consumed already.\n\tif ( consumedBlocks.has( clientId ) ) {\n\t\treturn;\n\t}\n\tif ( name === selectedBlockName ) {\n\t\treturn block;\n\t}\n\t// Try to find a matching block from InnerBlocks recursively.\n\tfor ( const innerBlock of innerBlocks ) {\n\t\tconst match = getMatchingBlockByName(\n\t\t\tinnerBlock,\n\t\t\tselectedBlockName,\n\t\t\tconsumedBlocks\n\t\t);\n\t\tif ( match ) {\n\t\t\treturn match;\n\t\t}\n\t}\n};\n\n/**\n * Find and return the block attributes to retain through\n * the transformation, based on Block Type's `role:content`\n * attributes. If no `role:content` attributes exist,\n * return selected block's attributes.\n *\n * @param {string} name Block type's namespaced name.\n * @param {Object} attributes Selected block's attributes.\n * @return {Object} The block's attributes to retain.\n */\nexport const getRetainedBlockAttributes = ( name, attributes ) => {\n\tconst contentAttributes = getBlockAttributesNamesByRole( name, 'content' );\n\tif ( ! contentAttributes?.length ) {\n\t\treturn attributes;\n\t}\n\n\treturn contentAttributes.reduce( ( _accumulator, attribute ) => {\n\t\tif ( attributes[ attribute ] ) {\n\t\t\t_accumulator[ attribute ] = attributes[ attribute ];\n\t\t}\n\t\treturn _accumulator;\n\t}, {} );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,6BAA6B,QAAQ,mBAAmB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CACrCC,KAAK,EACLC,iBAAiB,EACjBC,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC,KACtB;EACJ,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,WAAW,GAAG;EAAG,CAAC,GAAGN,KAAK;EAClD;EACA,IAAKE,cAAc,CAACK,GAAG,CAAEH,QAAS,CAAC,EAAG;IACrC;EACD;EACA,IAAKC,IAAI,KAAKJ,iBAAiB,EAAG;IACjC,OAAOD,KAAK;EACb;EACA;EACA,KAAM,MAAMQ,UAAU,IAAIF,WAAW,EAAG;IACvC,MAAMG,KAAK,GAAGV,sBAAsB,CACnCS,UAAU,EACVP,iBAAiB,EACjBC,cACD,CAAC;IACD,IAAKO,KAAK,EAAG;MACZ,OAAOA,KAAK;IACb;EACD;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CAAEL,IAAI,EAAEM,UAAU,KAAM;EACjE,MAAMC,iBAAiB,GAAGd,6BAA6B,CAAEO,IAAI,EAAE,SAAU,CAAC;EAC1E,IAAK,CAAEO,iBAAiB,EAAEC,MAAM,EAAG;IAClC,OAAOF,UAAU;EAClB;EAEA,OAAOC,iBAAiB,CAACE,MAAM,CAAE,CAAEC,YAAY,EAAEC,SAAS,KAAM;IAC/D,IAAKL,UAAU,CAAEK,SAAS,CAAE,EAAG;MAC9BD,YAAY,CAAEC,SAAS,CAAE,GAAGL,UAAU,CAAEK,SAAS,CAAE;IACpD;IACA,OAAOD,YAAY;EACpB,CAAC,EAAE,CAAC,CAAE,CAAC;AACR,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarGroup","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","useConvertToGroupButtons","useConvertToGroupButtonProps","jsx","_jsx","jsxs","_jsxs","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","children","icon","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","onClick","extraProps","hint","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","getEntityRecord","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"sources":["@wordpress/block-editor/src/components/block-toolbar/block-toolbar-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarGroup,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps(\n\t\t// `selectedBlockClientId` can be undefined in some cases where this\n\t\t// component gets re-rendered right after the block is removed.\n\t\tselectedBlockClientId ? [ selectedBlockClientId ] : []\n\t);\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel: __( 'Detach' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\t/* translators: %s: name of the synced block */\n\t\t\t\tconst successNotice = __( '%s detached' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarGroup","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","useConvertToGroupButtons","useConvertToGroupButtonProps","jsx","_jsx","jsxs","_jsxs","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","children","icon","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","onClick","extraProps","hint","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","getEntityRecord","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"sources":["@wordpress/block-editor/src/components/block-toolbar/block-toolbar-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarGroup,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps(\n\t\t// `selectedBlockClientId` can be undefined in some cases where this\n\t\t// component gets re-rendered right after the block is removed.\n\t\tselectedBlockClientId ? [ selectedBlockClientId ] : []\n\t);\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel: __( 'Detach' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\t/* translators: %s: name of the synced block */\n\t\t\t\tconst successNotice = __( '%s detached' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarButton","ToolbarGroup","Dropdown","__experimentalDropdownContentWrapper","DropdownContentWrapper","__","cloneBlock","useMemo","useSelect","useDispatch","store","blockEditorStore","BlockPatternsList","jsx","_jsx","EMPTY_ARRAY","MAX_PATTERNS_TO_SHOW","POPOVER_PROPS","placement","ChangeDesign","clientId","categories","currentPatternName","patterns","select","getBlockAttributes","getBlockRootClientId","__experimentalGetAllowedPatterns","attributes","_categories","metadata","rootBlock","_patterns","length","patternName","replaceBlocks","sameCategoryPatternsWithSingleWrapper","filter","pattern","isCorePattern","source","startsWith","blocks","name","some","category","includes","syncStatus","id","slice","onClickPattern","_pattern$blocks","newBlocks","map","block","popoverProps","renderToggle","onToggle","isOpen","children","onClick","renderContent","className","paddingSize","blockPatterns","showTitlesAsTooltip"],"sources":["@wordpress/block-editor/src/components/block-toolbar/change-design.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPatternsList from '../block-patterns-list';\n\nconst EMPTY_ARRAY = [];\nconst MAX_PATTERNS_TO_SHOW = 6;\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nexport default function ChangeDesign( { clientId } ) {\n\tconst { categories, currentPatternName, patterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetAllowedPatterns,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst _categories = attributes?.metadata?.categories || EMPTY_ARRAY;\n\t\t\tconst rootBlock = getBlockRootClientId( clientId );\n\n\t\t\t// Calling `__experimentalGetAllowedPatterns` is expensive.\n\t\t\t// Checking if the block can be changed prevents unnecessary selector calls.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/64736.\n\t\t\tconst _patterns =\n\t\t\t\t_categories.length > 0\n\t\t\t\t\t? __experimentalGetAllowedPatterns( rootBlock )\n\t\t\t\t\t: EMPTY_ARRAY;\n\t\t\treturn {\n\t\t\t\tcategories: _categories,\n\t\t\t\tcurrentPatternName: attributes?.metadata?.patternName,\n\t\t\t\tpatterns: _patterns,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst sameCategoryPatternsWithSingleWrapper = useMemo( () => {\n\t\tif ( categories.length === 0 || ! patterns || patterns.length === 0 ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn patterns\n\t\t\t.filter( ( pattern ) => {\n\t\t\t\tconst isCorePattern =\n\t\t\t\t\tpattern.source === 'core' ||\n\t\t\t\t\t( pattern.source?.startsWith( 'pattern-directory' ) &&\n\t\t\t\t\t\tpattern.source !== 'pattern-directory/theme' );\n\t\t\t\treturn (\n\t\t\t\t\t// Check if the pattern has only one top level block,\n\t\t\t\t\t// otherwise we may switch to a pattern that doesn't have replacement suggestions.\n\t\t\t\t\tpattern.blocks.length === 1 &&\n\t\t\t\t\t// We exclude the core patterns and pattern directory patterns that are not theme patterns.\n\t\t\t\t\t! isCorePattern &&\n\t\t\t\t\t// Exclude current pattern.\n\t\t\t\t\tcurrentPatternName !== pattern.name &&\n\t\t\t\t\tpattern.categories?.some( ( category ) => {\n\t\t\t\t\t\treturn categories.includes( category );\n\t\t\t\t\t} ) &&\n\t\t\t\t\t// Check if the pattern is not a synced pattern.\n\t\t\t\t\t( pattern.syncStatus === 'unsynced' || ! pattern.id )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.slice( 0, MAX_PATTERNS_TO_SHOW );\n\t}, [ categories, currentPatternName, patterns ] );\n\n\tif ( sameCategoryPatternsWithSingleWrapper.length < 2 ) {\n\t\treturn null;\n\t}\n\n\tconst onClickPattern = ( pattern ) => {\n\t\tconst newBlocks = ( pattern.blocks ?? [] ).map( ( block ) => {\n\t\t\treturn cloneBlock( block );\n\t\t} );\n\t\tnewBlocks[ 0 ].attributes.metadata = {\n\t\t\t...newBlocks[ 0 ].attributes.metadata,\n\t\t\tcategories,\n\t\t};\n\t\treplaceBlocks( clientId, newBlocks );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => onToggle( ! isOpen ) }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Change design' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tclassName=\"block-editor-block-toolbar-change-design-content-wrapper\"\n\t\t\t\t\tpaddingSize=\"none\"\n\t\t\t\t>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ sameCategoryPatternsWithSingleWrapper }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,aAAa,EACbC,YAAY,EACZC,QAAQ,EACRC,oCAAoC,IAAIC,sBAAsB,QACxD,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,iBAAiB,MAAM,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvD,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,oBAAoB,GAAG,CAAC;AAC9B,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;AAED,eAAe,SAASC,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACpD,MAAM;IAAEC,UAAU;IAAEC,kBAAkB;IAAEC;EAAS,CAAC,GAAGf,SAAS,CAC3DgB,MAAM,IAAM;IACb,MAAM;MACLC,kBAAkB;MAClBC,oBAAoB;MACpBC;IACD,CAAC,GAAGH,MAAM,CAAEb,gBAAiB,CAAC;IAC9B,MAAMiB,UAAU,GAAGH,kBAAkB,CAAEL,QAAS,CAAC;IACjD,MAAMS,WAAW,GAAGD,UAAU,EAAEE,QAAQ,EAAET,UAAU,IAAIN,WAAW;IACnE,MAAMgB,SAAS,GAAGL,oBAAoB,CAAEN,QAAS,CAAC;;IAElD;IACA;IACA;IACA,MAAMY,SAAS,GACdH,WAAW,CAACI,MAAM,GAAG,CAAC,GACnBN,gCAAgC,CAAEI,SAAU,CAAC,GAC7ChB,WAAW;IACf,OAAO;MACNM,UAAU,EAAEQ,WAAW;MACvBP,kBAAkB,EAAEM,UAAU,EAAEE,QAAQ,EAAEI,WAAW;MACrDX,QAAQ,EAAES;IACX,CAAC;EACF,CAAC,EACD,CAAEZ,QAAQ,CACX,CAAC;EACD,MAAM;IAAEe;EAAc,CAAC,GAAG1B,WAAW,CAAEE,gBAAiB,CAAC;EACzD,MAAMyB,qCAAqC,GAAG7B,OAAO,CAAE,MAAM;IAC5D,IAAKc,UAAU,CAACY,MAAM,KAAK,CAAC,IAAI,CAAEV,QAAQ,IAAIA,QAAQ,CAACU,MAAM,KAAK,CAAC,EAAG;MACrE,OAAOlB,WAAW;IACnB;IACA,OAAOQ,QAAQ,CACbc,MAAM,CAAIC,OAAO,IAAM;MACvB,MAAMC,aAAa,GAClBD,OAAO,CAACE,MAAM,KAAK,MAAM,IACvBF,OAAO,CAACE,MAAM,EAAEC,UAAU,CAAE,mBAAoB,CAAC,IAClDH,OAAO,CAACE,MAAM,KAAK,yBAA2B;MAChD;QACC;QACA;QACAF,OAAO,CAACI,MAAM,CAACT,MAAM,KAAK,CAAC;QAC3B;QACA,CAAEM,aAAa;QACf;QACAjB,kBAAkB,KAAKgB,OAAO,CAACK,IAAI,IACnCL,OAAO,CAACjB,UAAU,EAAEuB,IAAI,CAAIC,QAAQ,IAAM;UACzC,OAAOxB,UAAU,CAACyB,QAAQ,CAAED,QAAS,CAAC;QACvC,CAAE,CAAC;QACH;QACEP,OAAO,CAACS,UAAU,KAAK,UAAU,IAAI,CAAET,OAAO,CAACU,EAAE;MAAE;IAEvD,CAAE,CAAC,CACFC,KAAK,CAAE,CAAC,EAAEjC,oBAAqB,CAAC;EACnC,CAAC,EAAE,CAAEK,UAAU,EAAEC,kBAAkB,EAAEC,QAAQ,CAAG,CAAC;EAEjD,IAAKa,qCAAqC,CAACH,MAAM,GAAG,CAAC,EAAG;IACvD,OAAO,IAAI;EACZ;EAEA,MAAMiB,cAAc,GAAKZ,OAAO,IAAM;IAAA,IAAAa,eAAA;IACrC,MAAMC,SAAS,GAAG,EAAAD,eAAA,GAAEb,OAAO,CAACI,MAAM,cAAAS,eAAA,cAAAA,eAAA,GAAI,EAAE,EAAGE,GAAG,CAAIC,KAAK,IAAM;MAC5D,OAAOhD,UAAU,CAAEgD,KAAM,CAAC;IAC3B,CAAE,CAAC;IACHF,SAAS,CAAE,CAAC,CAAE,CAACxB,UAAU,CAACE,QAAQ,GAAG;MACpC,GAAGsB,SAAS,CAAE,CAAC,CAAE,CAACxB,UAAU,CAACE,QAAQ;MACrCT;IACD,CAAC;IACDc,aAAa,CAAEf,QAAQ,EAAEgC,SAAU,CAAC;EACrC,CAAC;EAED,oBACCtC,IAAA,CAACZ,QAAQ;IACRqD,YAAY,EAAGtC,aAAe;IAC9BuC,YAAY,EAAGA,CAAE;MAAEC,QAAQ;MAAEC;IAAO,CAAC,KAAM;MAC1C,oBACC5C,IAAA,CAACb,YAAY;QAAA0D,QAAA,eACZ7C,IAAA,CAACd,aAAa;UACb4D,OAAO,EAAGA,CAAA,KAAMH,QAAQ,CAAE,CAAEC,MAAO,CAAG;UACtC,iBAAgBA,MAAQ;UAAAC,QAAA,EAEtBtD,EAAE,CAAE,eAAgB;QAAC,CACT;MAAC,CACH,CAAC;IAEjB,CAAG;IACHwD,aAAa,EAAGA,CAAA,kBACf/C,IAAA,CAACV,sBAAsB;MACtB0D,SAAS,EAAC,0DAA0D;MACpEC,WAAW,EAAC,MAAM;MAAAJ,QAAA,eAElB7C,IAAA,CAACF,iBAAiB;QACjBoD,aAAa,EAAG5B,qCAAuC;QACvDc,cAAc,EAAGA,cAAgB;QACjCe,mBAAmB;MAAA,CACnB;IAAC,CACqB;EACtB,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["ToolbarButton","ToolbarGroup","Dropdown","__experimentalDropdownContentWrapper","DropdownContentWrapper","__","cloneBlock","useMemo","useSelect","useDispatch","store","blockEditorStore","BlockPatternsList","jsx","_jsx","EMPTY_ARRAY","MAX_PATTERNS_TO_SHOW","POPOVER_PROPS","placement","ChangeDesign","clientId","categories","currentPatternName","patterns","select","getBlockAttributes","getBlockRootClientId","__experimentalGetAllowedPatterns","attributes","_categories","metadata","rootBlock","_patterns","length","patternName","replaceBlocks","sameCategoryPatternsWithSingleWrapper","filter","pattern","isCorePattern","source","startsWith","blocks","name","some","category","includes","syncStatus","id","slice","onClickPattern","_pattern$blocks","newBlocks","map","block","popoverProps","renderToggle","onToggle","isOpen","children","onClick","renderContent","className","paddingSize","blockPatterns","showTitlesAsTooltip"],"sources":["@wordpress/block-editor/src/components/block-toolbar/change-design.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPatternsList from '../block-patterns-list';\n\nconst EMPTY_ARRAY = [];\nconst MAX_PATTERNS_TO_SHOW = 6;\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nexport default function ChangeDesign( { clientId } ) {\n\tconst { categories, currentPatternName, patterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetAllowedPatterns,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst _categories = attributes?.metadata?.categories || EMPTY_ARRAY;\n\t\t\tconst rootBlock = getBlockRootClientId( clientId );\n\n\t\t\t// Calling `__experimentalGetAllowedPatterns` is expensive.\n\t\t\t// Checking if the block can be changed prevents unnecessary selector calls.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/64736.\n\t\t\tconst _patterns =\n\t\t\t\t_categories.length > 0\n\t\t\t\t\t? __experimentalGetAllowedPatterns( rootBlock )\n\t\t\t\t\t: EMPTY_ARRAY;\n\t\t\treturn {\n\t\t\t\tcategories: _categories,\n\t\t\t\tcurrentPatternName: attributes?.metadata?.patternName,\n\t\t\t\tpatterns: _patterns,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst sameCategoryPatternsWithSingleWrapper = useMemo( () => {\n\t\tif ( categories.length === 0 || ! patterns || patterns.length === 0 ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn patterns\n\t\t\t.filter( ( pattern ) => {\n\t\t\t\tconst isCorePattern =\n\t\t\t\t\tpattern.source === 'core' ||\n\t\t\t\t\t( pattern.source?.startsWith( 'pattern-directory' ) &&\n\t\t\t\t\t\tpattern.source !== 'pattern-directory/theme' );\n\t\t\t\treturn (\n\t\t\t\t\t// Check if the pattern has only one top level block,\n\t\t\t\t\t// otherwise we may switch to a pattern that doesn't have replacement suggestions.\n\t\t\t\t\tpattern.blocks.length === 1 &&\n\t\t\t\t\t// We exclude the core patterns and pattern directory patterns that are not theme patterns.\n\t\t\t\t\t! isCorePattern &&\n\t\t\t\t\t// Exclude current pattern.\n\t\t\t\t\tcurrentPatternName !== pattern.name &&\n\t\t\t\t\tpattern.categories?.some( ( category ) => {\n\t\t\t\t\t\treturn categories.includes( category );\n\t\t\t\t\t} ) &&\n\t\t\t\t\t// Check if the pattern is not a synced pattern.\n\t\t\t\t\t( pattern.syncStatus === 'unsynced' || ! pattern.id )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.slice( 0, MAX_PATTERNS_TO_SHOW );\n\t}, [ categories, currentPatternName, patterns ] );\n\n\tif ( sameCategoryPatternsWithSingleWrapper.length < 2 ) {\n\t\treturn null;\n\t}\n\n\tconst onClickPattern = ( pattern ) => {\n\t\tconst newBlocks = ( pattern.blocks ?? [] ).map( ( block ) => {\n\t\t\treturn cloneBlock( block );\n\t\t} );\n\t\tnewBlocks[ 0 ].attributes.metadata = {\n\t\t\t...newBlocks[ 0 ].attributes.metadata,\n\t\t\tcategories,\n\t\t};\n\t\treplaceBlocks( clientId, newBlocks );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => onToggle( ! isOpen ) }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Change design' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tclassName=\"block-editor-block-toolbar-change-design-content-wrapper\"\n\t\t\t\t\tpaddingSize=\"none\"\n\t\t\t\t>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ sameCategoryPatternsWithSingleWrapper }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","useHasBlockToolbar","ChangeDesign","SwitchSectionStyle","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","showShuffleButton","showSlots","showGroupButtons","showLockButtons","showSwitchSectionStyleButton","hasFixedToolbar","isNavigationMode","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","getSettings","getParentSectionBlock","isZoomOut","_isNavigationMode","selectedBlockClientIds","selectedBlockClientId","parents","parentSection","parentClientId","length","parentBlockName","parentBlockType","editingMode","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","_isZoomOut","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","hasBlockToolbar","isMultiToolbar","isSynced","classes","innerClasses","focusEditorOnEscape","className","undefined","children","clientIds","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport ChangeDesign from './change-design';\nimport SwitchSectionStyle from './switch-section-style';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t\tshowShuffleButton,\n\t\tshowSlots,\n\t\tshowGroupButtons,\n\t\tshowLockButtons,\n\t\tshowSwitchSectionStyleButton,\n\t\thasFixedToolbar,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t\tgetSettings,\n\t\t\tgetParentSectionBlock,\n\t\t\tisZoomOut,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst parentSection = getParentSectionBlock( selectedBlockClientId );\n\t\tconst parentClientId = parentSection ?? parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( parentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\n\t\tconst _isZoomOut = isZoomOut();\n\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ parentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\t! _isZoomOut &&\n\t\t\t\tparentBlockType &&\n\t\t\t\teditingMode !== 'contentOnly' &&\n\t\t\t\tgetBlockEditingMode( parentClientId ) !== 'disabled' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\tshowShuffleButton: _isZoomOut,\n\t\t\tshowSlots: ! _isZoomOut,\n\t\t\tshowGroupButtons: ! _isZoomOut,\n\t\t\tshowLockButtons: ! _isZoomOut,\n\t\t\tshowSwitchSectionStyleButton: _isZoomOut,\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t\t'is-inverted-toolbar': isNavigationMode && ! hasFixedToolbar,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ showParentSelector && ! isMultiToolbar && isLargeViewport && (\n\t\t\t\t\t<BlockParentSelector />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! hasParentPattern && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\t\t\t\t\tisDefaultEditingMode &&\n\t\t\t\t\t\t\t\t\tshowLockButtons && (\n\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar &&\n\t\t\t\t\tshowGroupButtons && <BlockGroupToolbar /> }\n\t\t\t\t{ showShuffleButton && (\n\t\t\t\t\t<ChangeDesign clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ showSwitchSectionStyleButton && (\n\t\t\t\t\t<SwitchSectionStyle clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && showSlots && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","useHasBlockToolbar","ChangeDesign","SwitchSectionStyle","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","showShuffleButton","showSlots","showGroupButtons","showLockButtons","showSwitchSectionStyleButton","hasFixedToolbar","isNavigationMode","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","getSettings","getParentSectionBlock","isZoomOut","_isNavigationMode","selectedBlockClientIds","selectedBlockClientId","parents","parentSection","parentClientId","length","parentBlockName","parentBlockType","editingMode","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","_isZoomOut","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","hasBlockToolbar","isMultiToolbar","isSynced","classes","innerClasses","focusEditorOnEscape","className","undefined","children","clientIds","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport ChangeDesign from './change-design';\nimport SwitchSectionStyle from './switch-section-style';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t\tshowShuffleButton,\n\t\tshowSlots,\n\t\tshowGroupButtons,\n\t\tshowLockButtons,\n\t\tshowSwitchSectionStyleButton,\n\t\thasFixedToolbar,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t\tgetSettings,\n\t\t\tgetParentSectionBlock,\n\t\t\tisZoomOut,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst parentSection = getParentSectionBlock( selectedBlockClientId );\n\t\tconst parentClientId = parentSection ?? parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( parentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\n\t\tconst _isZoomOut = isZoomOut();\n\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ parentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\t! _isZoomOut &&\n\t\t\t\tparentBlockType &&\n\t\t\t\teditingMode !== 'contentOnly' &&\n\t\t\t\tgetBlockEditingMode( parentClientId ) !== 'disabled' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\tshowShuffleButton: _isZoomOut,\n\t\t\tshowSlots: ! _isZoomOut,\n\t\t\tshowGroupButtons: ! _isZoomOut,\n\t\t\tshowLockButtons: ! _isZoomOut,\n\t\t\tshowSwitchSectionStyleButton: _isZoomOut,\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t\t'is-inverted-toolbar': isNavigationMode && ! hasFixedToolbar,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ showParentSelector && ! isMultiToolbar && isLargeViewport && (\n\t\t\t\t\t<BlockParentSelector />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! hasParentPattern && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\t\t\t\t\tisDefaultEditingMode &&\n\t\t\t\t\t\t\t\t\tshowLockButtons && (\n\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar &&\n\t\t\t\t\tshowGroupButtons && <BlockGroupToolbar /> }\n\t\t\t\t{ showShuffleButton && (\n\t\t\t\t\t<ChangeDesign clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ showSwitchSectionStyleButton && (\n\t\t\t\t\t<SwitchSectionStyle clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && showSlots && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}