@wordpress/block-editor 8.2.0 → 8.2.1-next.a55ed9455a.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 (475) hide show
  1. package/README.md +6 -2
  2. package/build/autocompleters/link.js +78 -0
  3. package/build/autocompleters/link.js.map +1 -0
  4. package/build/components/autocomplete/index.js +3 -1
  5. package/build/components/autocomplete/index.js.map +1 -1
  6. package/build/components/block-actions/index.js +1 -1
  7. package/build/components/block-actions/index.js.map +1 -1
  8. package/build/components/block-breadcrumb/index.js +4 -2
  9. package/build/components/block-breadcrumb/index.js.map +1 -1
  10. package/build/components/block-compare/index.js +2 -2
  11. package/build/components/block-compare/index.js.map +1 -1
  12. package/build/components/block-controls/index.js +1 -1
  13. package/build/components/block-controls/index.js.map +1 -1
  14. package/build/components/block-draggable/index.js +1 -1
  15. package/build/components/block-draggable/index.js.map +1 -1
  16. package/build/components/block-edit/edit.js +1 -1
  17. package/build/components/block-edit/edit.js.map +1 -1
  18. package/build/components/block-list/block-html.js +1 -1
  19. package/build/components/block-list/block-html.js.map +1 -1
  20. package/build/components/block-list/block-invalid-warning.js +1 -1
  21. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  22. package/build/components/block-list/block-list-item.native.js +4 -4
  23. package/build/components/block-list/block-list-item.native.js.map +1 -1
  24. package/build/components/block-list/block-selection-button.native.js +4 -3
  25. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  26. package/build/components/block-list/block.js +1 -1
  27. package/build/components/block-list/block.js.map +1 -1
  28. package/build/components/block-list/block.native.js +5 -5
  29. package/build/components/block-list/block.native.js.map +1 -1
  30. package/build/components/block-list/index.native.js +5 -5
  31. package/build/components/block-list/index.native.js.map +1 -1
  32. package/build/components/block-list/use-block-props/use-block-class-names.js +1 -1
  33. package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  34. package/build/components/block-media-update-progress/index.native.js +4 -4
  35. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  36. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  37. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  38. package/build/components/block-mobile-toolbar/index.native.js +1 -1
  39. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  40. package/build/components/block-mover/mover-description.js +4 -4
  41. package/build/components/block-mover/mover-description.js.map +1 -1
  42. package/build/components/block-mover/mover-description.native.js +5 -5
  43. package/build/components/block-mover/mover-description.native.js.map +1 -1
  44. package/build/components/block-settings-menu/block-settings-dropdown.js +7 -12
  45. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  46. package/build/components/block-styles/preview.native.js +1 -1
  47. package/build/components/block-styles/preview.native.js.map +1 -1
  48. package/build/components/block-switcher/index.js +2 -1
  49. package/build/components/block-switcher/index.js.map +1 -1
  50. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  51. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  52. package/build/components/block-title/index.js +7 -62
  53. package/build/components/block-title/index.js.map +1 -1
  54. package/build/components/block-title/use-block-display-title.js +94 -0
  55. package/build/components/block-title/use-block-display-title.js.map +1 -0
  56. package/build/components/block-toolbar/utils.js +9 -1
  57. package/build/components/block-toolbar/utils.js.map +1 -1
  58. package/build/components/block-tools/block-popover.js +1 -1
  59. package/build/components/block-tools/block-popover.js.map +1 -1
  60. package/build/components/block-tools/block-selection-button.js +2 -1
  61. package/build/components/block-tools/block-selection-button.js.map +1 -1
  62. package/build/components/block-types-list/index.native.js +1 -1
  63. package/build/components/block-types-list/index.native.js.map +1 -1
  64. package/build/components/border-radius-control/index.js +2 -2
  65. package/build/components/border-radius-control/index.js.map +1 -1
  66. package/build/components/border-radius-control/utils.js +10 -6
  67. package/build/components/border-radius-control/utils.js.map +1 -1
  68. package/build/components/contrast-checker/index.js +3 -3
  69. package/build/components/contrast-checker/index.js.map +1 -1
  70. package/build/components/convert-to-group-buttons/index.js +1 -1
  71. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  72. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  73. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  74. package/build/components/copy-handler/index.js +3 -3
  75. package/build/components/copy-handler/index.js.map +1 -1
  76. package/build/components/font-sizes/with-font-sizes.js +3 -3
  77. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  78. package/build/components/index.native.js +29 -1
  79. package/build/components/index.native.js.map +1 -1
  80. package/build/components/inserter/block-patterns-tab.js +1 -1
  81. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  82. package/build/components/inserter/block-types-tab.js +1 -1
  83. package/build/components/inserter/block-types-tab.js.map +1 -1
  84. package/build/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  85. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  86. package/build/components/inserter/index.js +3 -3
  87. package/build/components/inserter/index.js.map +1 -1
  88. package/build/components/inserter/index.native.js +7 -7
  89. package/build/components/inserter/index.native.js.map +1 -1
  90. package/build/components/inserter/menu.js.map +1 -1
  91. package/build/components/inserter/menu.native.js +3 -3
  92. package/build/components/inserter/menu.native.js.map +1 -1
  93. package/build/components/inserter/quick-inserter.js +1 -1
  94. package/build/components/inserter/quick-inserter.js.map +1 -1
  95. package/build/components/inserter/search-items.js +1 -1
  96. package/build/components/inserter/search-items.js.map +1 -1
  97. package/build/components/inserter/search-results.js +1 -1
  98. package/build/components/inserter/search-results.js.map +1 -1
  99. package/build/components/keyboard-shortcuts/index.js +1 -1
  100. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  101. package/build/components/letter-spacing-control/index.js +3 -3
  102. package/build/components/letter-spacing-control/index.js.map +1 -1
  103. package/build/components/line-height-control/index.js +4 -4
  104. package/build/components/line-height-control/index.js.map +1 -1
  105. package/build/components/line-height-control/index.native.js +3 -1
  106. package/build/components/line-height-control/index.native.js.map +1 -1
  107. package/build/components/link-control/index.js +2 -2
  108. package/build/components/link-control/index.js.map +1 -1
  109. package/build/components/link-control/search-input.js +1 -1
  110. package/build/components/link-control/search-input.js.map +1 -1
  111. package/build/components/link-control/search-results.js +2 -2
  112. package/build/components/link-control/search-results.js.map +1 -1
  113. package/build/components/link-control/use-rich-url-data.js +1 -1
  114. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  115. package/build/components/link-control/use-search-handler.js +2 -2
  116. package/build/components/link-control/use-search-handler.js.map +1 -1
  117. package/build/components/list-view/block-select-button.js +2 -1
  118. package/build/components/list-view/block-select-button.js.map +1 -1
  119. package/build/components/list-view/block.js +1 -1
  120. package/build/components/list-view/block.js.map +1 -1
  121. package/build/components/media-placeholder/index.native.js +7 -5
  122. package/build/components/media-placeholder/index.native.js.map +1 -1
  123. package/build/components/media-replace-flow/index.js +20 -24
  124. package/build/components/media-replace-flow/index.js.map +1 -1
  125. package/build/components/media-upload/index.native.js +4 -3
  126. package/build/components/media-upload/index.native.js.map +1 -1
  127. package/build/components/media-upload-progress/index.native.js +1 -1
  128. package/build/components/media-upload-progress/index.native.js.map +1 -1
  129. package/build/components/navigable-toolbar/index.js +3 -3
  130. package/build/components/navigable-toolbar/index.js.map +1 -1
  131. package/build/components/plain-text/index.native.js +3 -3
  132. package/build/components/plain-text/index.native.js.map +1 -1
  133. package/build/components/rich-text/format-toolbar-container.js +2 -2
  134. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  135. package/build/components/rich-text/format-toolbar-container.native.js +1 -1
  136. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  137. package/build/components/rich-text/index.native.js +3 -3
  138. package/build/components/rich-text/index.native.js.map +1 -1
  139. package/build/components/rich-text/use-paste-handler.js +7 -11
  140. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  141. package/build/components/url-input/index.js +11 -11
  142. package/build/components/url-input/index.js.map +1 -1
  143. package/build/components/use-moving-animation/index.js +1 -1
  144. package/build/components/use-moving-animation/index.js.map +1 -1
  145. package/build/components/use-on-block-drop/index.js +2 -2
  146. package/build/components/use-on-block-drop/index.js.map +1 -1
  147. package/build/components/writing-flow/use-tab-nav.js +4 -3
  148. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  149. package/build/hooks/align.js +1 -1
  150. package/build/hooks/align.js.map +1 -1
  151. package/build/hooks/anchor.js +1 -1
  152. package/build/hooks/anchor.js.map +1 -1
  153. package/build/hooks/border.js +2 -14
  154. package/build/hooks/border.js.map +1 -1
  155. package/build/hooks/color.js +2 -2
  156. package/build/hooks/color.js.map +1 -1
  157. package/build/hooks/generated-class-name.js +3 -3
  158. package/build/hooks/generated-class-name.js.map +1 -1
  159. package/build/hooks/lock.js +1 -1
  160. package/build/hooks/lock.js.map +1 -1
  161. package/build/hooks/style.js +5 -2
  162. package/build/hooks/style.js.map +1 -1
  163. package/build/store/actions.js +4 -4
  164. package/build/store/actions.js.map +1 -1
  165. package/build/store/defaults.js +1 -1
  166. package/build/store/defaults.js.map +1 -1
  167. package/build/store/reducer.js +11 -11
  168. package/build/store/reducer.js.map +1 -1
  169. package/build/store/selectors.js +6 -6
  170. package/build/store/selectors.js.map +1 -1
  171. package/build/utils/parse-css-unit-to-px.js +3 -3
  172. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  173. package/build/utils/pasting.js +91 -0
  174. package/build/utils/pasting.js.map +1 -0
  175. package/build/utils/transform-styles/ast/parse.js +5 -5
  176. package/build/utils/transform-styles/ast/parse.js.map +1 -1
  177. package/build/utils/transform-styles/transforms/url-rewrite.js +2 -2
  178. package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  179. package/build-module/autocompleters/link.js +64 -0
  180. package/build-module/autocompleters/link.js.map +1 -0
  181. package/build-module/components/autocomplete/index.js +2 -1
  182. package/build-module/components/autocomplete/index.js.map +1 -1
  183. package/build-module/components/block-actions/index.js +1 -1
  184. package/build-module/components/block-actions/index.js.map +1 -1
  185. package/build-module/components/block-breadcrumb/index.js +4 -2
  186. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  187. package/build-module/components/block-compare/index.js +2 -2
  188. package/build-module/components/block-compare/index.js.map +1 -1
  189. package/build-module/components/block-controls/index.js +1 -1
  190. package/build-module/components/block-controls/index.js.map +1 -1
  191. package/build-module/components/block-draggable/index.js +1 -1
  192. package/build-module/components/block-draggable/index.js.map +1 -1
  193. package/build-module/components/block-edit/edit.js +1 -1
  194. package/build-module/components/block-edit/edit.js.map +1 -1
  195. package/build-module/components/block-list/block-html.js +1 -1
  196. package/build-module/components/block-list/block-html.js.map +1 -1
  197. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  198. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  199. package/build-module/components/block-list/block-list-item.native.js +4 -4
  200. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  201. package/build-module/components/block-list/block-selection-button.native.js +4 -3
  202. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  203. package/build-module/components/block-list/block.js +1 -1
  204. package/build-module/components/block-list/block.js.map +1 -1
  205. package/build-module/components/block-list/block.native.js +5 -5
  206. package/build-module/components/block-list/block.native.js.map +1 -1
  207. package/build-module/components/block-list/index.native.js +5 -5
  208. package/build-module/components/block-list/index.native.js.map +1 -1
  209. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -1
  210. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  211. package/build-module/components/block-media-update-progress/index.native.js +4 -4
  212. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  213. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  214. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  215. package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
  216. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  217. package/build-module/components/block-mover/mover-description.js +4 -4
  218. package/build-module/components/block-mover/mover-description.js.map +1 -1
  219. package/build-module/components/block-mover/mover-description.native.js +5 -5
  220. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  221. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -13
  222. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  223. package/build-module/components/block-styles/preview.native.js +1 -1
  224. package/build-module/components/block-styles/preview.native.js.map +1 -1
  225. package/build-module/components/block-switcher/index.js +2 -1
  226. package/build-module/components/block-switcher/index.js.map +1 -1
  227. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  228. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  229. package/build-module/components/block-title/index.js +7 -58
  230. package/build-module/components/block-title/index.js.map +1 -1
  231. package/build-module/components/block-title/use-block-display-title.js +80 -0
  232. package/build-module/components/block-title/use-block-display-title.js.map +1 -0
  233. package/build-module/components/block-toolbar/utils.js +9 -1
  234. package/build-module/components/block-toolbar/utils.js.map +1 -1
  235. package/build-module/components/block-tools/block-popover.js +1 -1
  236. package/build-module/components/block-tools/block-popover.js.map +1 -1
  237. package/build-module/components/block-tools/block-selection-button.js +2 -1
  238. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  239. package/build-module/components/block-types-list/index.native.js +1 -1
  240. package/build-module/components/block-types-list/index.native.js.map +1 -1
  241. package/build-module/components/border-radius-control/index.js +3 -3
  242. package/build-module/components/border-radius-control/index.js.map +1 -1
  243. package/build-module/components/border-radius-control/utils.js +11 -7
  244. package/build-module/components/border-radius-control/utils.js.map +1 -1
  245. package/build-module/components/contrast-checker/index.js +3 -3
  246. package/build-module/components/contrast-checker/index.js.map +1 -1
  247. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  248. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  249. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  250. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  251. package/build-module/components/copy-handler/index.js +2 -2
  252. package/build-module/components/copy-handler/index.js.map +1 -1
  253. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  254. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  255. package/build-module/components/index.native.js +4 -4
  256. package/build-module/components/index.native.js.map +1 -1
  257. package/build-module/components/inserter/block-patterns-tab.js +1 -1
  258. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  259. package/build-module/components/inserter/block-types-tab.js +1 -1
  260. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  261. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  262. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  263. package/build-module/components/inserter/index.js +3 -3
  264. package/build-module/components/inserter/index.js.map +1 -1
  265. package/build-module/components/inserter/index.native.js +7 -7
  266. package/build-module/components/inserter/index.native.js.map +1 -1
  267. package/build-module/components/inserter/menu.js.map +1 -1
  268. package/build-module/components/inserter/menu.native.js +3 -3
  269. package/build-module/components/inserter/menu.native.js.map +1 -1
  270. package/build-module/components/inserter/quick-inserter.js +1 -1
  271. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  272. package/build-module/components/inserter/search-items.js +1 -1
  273. package/build-module/components/inserter/search-items.js.map +1 -1
  274. package/build-module/components/inserter/search-results.js +1 -1
  275. package/build-module/components/inserter/search-results.js.map +1 -1
  276. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  277. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  278. package/build-module/components/letter-spacing-control/index.js +3 -3
  279. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  280. package/build-module/components/line-height-control/index.js +4 -4
  281. package/build-module/components/line-height-control/index.js.map +1 -1
  282. package/build-module/components/line-height-control/index.native.js +3 -1
  283. package/build-module/components/line-height-control/index.native.js.map +1 -1
  284. package/build-module/components/link-control/index.js +2 -2
  285. package/build-module/components/link-control/index.js.map +1 -1
  286. package/build-module/components/link-control/search-input.js +1 -1
  287. package/build-module/components/link-control/search-input.js.map +1 -1
  288. package/build-module/components/link-control/search-results.js +2 -2
  289. package/build-module/components/link-control/search-results.js.map +1 -1
  290. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  291. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  292. package/build-module/components/link-control/use-search-handler.js +2 -2
  293. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  294. package/build-module/components/list-view/block-select-button.js +2 -1
  295. package/build-module/components/list-view/block-select-button.js.map +1 -1
  296. package/build-module/components/list-view/block.js +1 -1
  297. package/build-module/components/list-view/block.js.map +1 -1
  298. package/build-module/components/media-placeholder/index.native.js +7 -5
  299. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  300. package/build-module/components/media-replace-flow/index.js +22 -27
  301. package/build-module/components/media-replace-flow/index.js.map +1 -1
  302. package/build-module/components/media-upload/index.native.js +4 -3
  303. package/build-module/components/media-upload/index.native.js.map +1 -1
  304. package/build-module/components/media-upload-progress/index.native.js +1 -1
  305. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  306. package/build-module/components/navigable-toolbar/index.js +3 -3
  307. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  308. package/build-module/components/plain-text/index.native.js +3 -3
  309. package/build-module/components/plain-text/index.native.js.map +1 -1
  310. package/build-module/components/rich-text/format-toolbar-container.js +2 -2
  311. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  312. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  313. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  314. package/build-module/components/rich-text/index.native.js +3 -3
  315. package/build-module/components/rich-text/index.native.js.map +1 -1
  316. package/build-module/components/rich-text/use-paste-handler.js +6 -11
  317. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  318. package/build-module/components/url-input/index.js +11 -11
  319. package/build-module/components/url-input/index.js.map +1 -1
  320. package/build-module/components/use-moving-animation/index.js +1 -1
  321. package/build-module/components/use-moving-animation/index.js.map +1 -1
  322. package/build-module/components/use-on-block-drop/index.js +2 -2
  323. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  324. package/build-module/components/writing-flow/use-tab-nav.js +4 -3
  325. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  326. package/build-module/hooks/align.js +1 -1
  327. package/build-module/hooks/align.js.map +1 -1
  328. package/build-module/hooks/anchor.js +1 -1
  329. package/build-module/hooks/anchor.js.map +1 -1
  330. package/build-module/hooks/border.js +2 -14
  331. package/build-module/hooks/border.js.map +1 -1
  332. package/build-module/hooks/color.js +2 -2
  333. package/build-module/hooks/color.js.map +1 -1
  334. package/build-module/hooks/generated-class-name.js +3 -3
  335. package/build-module/hooks/generated-class-name.js.map +1 -1
  336. package/build-module/hooks/lock.js +1 -1
  337. package/build-module/hooks/lock.js.map +1 -1
  338. package/build-module/hooks/style.js +5 -2
  339. package/build-module/hooks/style.js.map +1 -1
  340. package/build-module/store/actions.js +4 -4
  341. package/build-module/store/actions.js.map +1 -1
  342. package/build-module/store/defaults.js +1 -1
  343. package/build-module/store/defaults.js.map +1 -1
  344. package/build-module/store/reducer.js +11 -11
  345. package/build-module/store/reducer.js.map +1 -1
  346. package/build-module/store/selectors.js +6 -6
  347. package/build-module/store/selectors.js.map +1 -1
  348. package/build-module/utils/parse-css-unit-to-px.js +3 -3
  349. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  350. package/build-module/utils/pasting.js +80 -0
  351. package/build-module/utils/pasting.js.map +1 -0
  352. package/build-module/utils/transform-styles/ast/parse.js +5 -5
  353. package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
  354. package/build-module/utils/transform-styles/transforms/url-rewrite.js +2 -2
  355. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  356. package/build-style/style-rtl.css +7 -0
  357. package/build-style/style.css +7 -0
  358. package/package.json +27 -27
  359. package/src/autocompleters/link.js +62 -0
  360. package/src/autocompleters/style.scss +8 -0
  361. package/src/components/alignment-control/test/index.js +2 -2
  362. package/src/components/autocomplete/index.js +2 -0
  363. package/src/components/block-actions/index.js +1 -1
  364. package/src/components/block-alignment-control/test/index.js +1 -1
  365. package/src/components/block-breadcrumb/index.js +5 -2
  366. package/src/components/block-compare/index.js +2 -2
  367. package/src/components/block-controls/index.js +1 -1
  368. package/src/components/block-draggable/index.js +1 -1
  369. package/src/components/block-draggable/stories/index.js +1 -1
  370. package/src/components/block-edit/edit.js +1 -1
  371. package/src/components/block-list/block-html.js +1 -1
  372. package/src/components/block-list/block-invalid-warning.js +1 -1
  373. package/src/components/block-list/block-list-item.native.js +4 -4
  374. package/src/components/block-list/block-selection-button.native.js +3 -3
  375. package/src/components/block-list/block.js +1 -1
  376. package/src/components/block-list/block.native.js +5 -5
  377. package/src/components/block-list/index.native.js +5 -5
  378. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -1
  379. package/src/components/block-media-update-progress/index.native.js +4 -4
  380. package/src/components/block-media-update-progress/test/index.native.js +2 -2
  381. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  382. package/src/components/block-mobile-toolbar/index.native.js +2 -2
  383. package/src/components/block-mover/mover-description.js +4 -4
  384. package/src/components/block-mover/mover-description.native.js +5 -5
  385. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -8
  386. package/src/components/block-styles/preview.native.js +1 -1
  387. package/src/components/block-switcher/index.js +4 -1
  388. package/src/components/block-switcher/use-transformed-patterns.js +0 -1
  389. package/src/components/block-title/README.md +17 -1
  390. package/src/components/block-title/index.js +7 -62
  391. package/src/components/block-title/test/index.js +21 -3
  392. package/src/components/block-title/use-block-display-title.js +83 -0
  393. package/src/components/block-toolbar/utils.js +12 -2
  394. package/src/components/block-tools/block-popover.js +1 -1
  395. package/src/components/block-tools/block-selection-button.js +4 -1
  396. package/src/components/block-types-list/index.native.js +1 -1
  397. package/src/components/border-radius-control/index.js +5 -3
  398. package/src/components/border-radius-control/test/utils.js +10 -10
  399. package/src/components/border-radius-control/utils.js +10 -8
  400. package/src/components/contrast-checker/index.js +3 -3
  401. package/src/components/convert-to-group-buttons/index.js +1 -1
  402. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -6
  403. package/src/components/copy-handler/index.js +2 -2
  404. package/src/components/font-sizes/with-font-sizes.js +3 -3
  405. package/src/components/image-size-control/test/index.js +1 -1
  406. package/src/components/index.native.js +10 -4
  407. package/src/components/inserter/block-patterns-tab.js +1 -1
  408. package/src/components/inserter/block-types-tab.js +1 -1
  409. package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  410. package/src/components/inserter/index.js +3 -3
  411. package/src/components/inserter/index.native.js +7 -7
  412. package/src/components/inserter/menu.js +1 -1
  413. package/src/components/inserter/menu.native.js +3 -3
  414. package/src/components/inserter/quick-inserter.js +1 -1
  415. package/src/components/inserter/search-items.js +1 -1
  416. package/src/components/inserter/search-results.js +1 -1
  417. package/src/components/inserter/test/fixtures/index.native.js +1 -1
  418. package/src/components/inserter/test/reusable-blocks-tab.js +2 -2
  419. package/src/components/justify-content-control/README.md +1 -1
  420. package/src/components/keyboard-shortcuts/index.js +1 -1
  421. package/src/components/letter-spacing-control/index.js +1 -1
  422. package/src/components/line-height-control/index.js +4 -4
  423. package/src/components/line-height-control/index.native.js +2 -0
  424. package/src/components/link-control/index.js +2 -2
  425. package/src/components/link-control/search-input.js +1 -1
  426. package/src/components/link-control/search-results.js +2 -2
  427. package/src/components/link-control/test/index.js +142 -144
  428. package/src/components/link-control/use-rich-url-data.js +1 -1
  429. package/src/components/link-control/use-search-handler.js +2 -2
  430. package/src/components/list-view/block-select-button.js +1 -1
  431. package/src/components/list-view/block.js +1 -1
  432. package/src/components/media-placeholder/index.native.js +11 -9
  433. package/src/components/media-replace-flow/README.md +7 -0
  434. package/src/components/media-replace-flow/index.js +20 -26
  435. package/src/components/media-replace-flow/test/index.js +100 -0
  436. package/src/components/media-upload/index.native.js +3 -2
  437. package/src/components/media-upload-progress/index.native.js +1 -1
  438. package/src/components/navigable-toolbar/index.js +3 -3
  439. package/src/components/plain-text/index.native.js +3 -3
  440. package/src/components/responsive-block-control/test/index.js +6 -6
  441. package/src/components/rich-text/format-toolbar-container.js +2 -2
  442. package/src/components/rich-text/format-toolbar-container.native.js +1 -1
  443. package/src/components/rich-text/index.native.js +3 -3
  444. package/src/components/rich-text/use-paste-handler.js +7 -13
  445. package/src/components/url-input/index.js +11 -11
  446. package/src/components/use-block-drop-zone/test/index.js +1 -1
  447. package/src/components/use-moving-animation/index.js +1 -1
  448. package/src/components/use-on-block-drop/index.js +2 -2
  449. package/src/components/writing-flow/use-tab-nav.js +6 -3
  450. package/src/hooks/align.js +1 -1
  451. package/src/hooks/anchor.js +1 -1
  452. package/src/hooks/border.js +8 -19
  453. package/src/hooks/color.js +2 -2
  454. package/src/hooks/generated-class-name.js +3 -3
  455. package/src/hooks/lock.js +1 -1
  456. package/src/hooks/style.js +5 -2
  457. package/src/hooks/test/align.js +1 -1
  458. package/src/store/actions.js +4 -4
  459. package/src/store/defaults.js +1 -2
  460. package/src/store/reducer.js +11 -11
  461. package/src/store/selectors.js +6 -6
  462. package/src/store/test/actions.js +1 -1
  463. package/src/store/test/reducer.js +1 -1
  464. package/src/store/test/selectors.js +1 -1
  465. package/src/utils/parse-css-unit-to-px.js +3 -3
  466. package/src/utils/pasting.js +77 -0
  467. package/src/utils/test/parse-css-unit-to-px.js +5 -5
  468. package/src/utils/test/pasting.js +84 -0
  469. package/src/utils/transform-styles/ast/parse.js +5 -5
  470. package/src/utils/transform-styles/transforms/url-rewrite.js +2 -2
  471. package/build/utils/get-paste-event-data.js +0 -56
  472. package/build/utils/get-paste-event-data.js.map +0 -1
  473. package/build-module/utils/get-paste-event-data.js +0 -47
  474. package/build-module/utils/get-paste-event-data.js.map +0 -1
  475. package/src/utils/get-paste-event-data.js +0 -42
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/block-actions-menu.native.js"],"names":["Platform","findNodeHandle","partial","first","castArray","last","compact","every","getClipboard","setClipboard","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","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","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","title","raw","options","length","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","filter","Boolean","accessibilityHint","OS","getAnchor","undefined","hint","select","clientIds","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","normalizedClientIds","block","blockName","blockType","firstClientId","blockOrder","firstIndex","lastIndex","innerBlocks","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","selectedBlock","getEntityRecord","ref","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlocks","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","canReplaceBlock","insertedBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\nimport { partial, first, castArray, last, compact, every } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\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 } 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';\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';\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 {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\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 block' ),\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: __( 'Convert to regular blocks' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: name of the reusable block */\n\t\t\t\t\t\t__( '%s converted to regular blocks' ),\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 = compact( [\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\tisReusableBlockType && allOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t] );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\tdisabled={ true }\n\t\t\t/>\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<>\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\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={ true }\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</>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\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 normalizedClientIds = castArray( clientIds );\n\t\tconst block = getBlock( normalizedClientIds );\n\t\tconst blockName = getBlockName( normalizedClientIds );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst firstClientId = first( normalizedClientIds );\n\t\tconst rootClientId = getBlockRootClientId( firstClientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\tconst lastIndex = getBlockIndex( last( normalizedClientIds ) );\n\n\t\tconst innerBlocks = getBlocksByClientId( clientIds );\n\n\t\tconst canDuplicate = every( innerBlocks, ( 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 = first( getSelectedBlockClientIds() );\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? first( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( [ selectedBlock ], rootClientId )\n\t\t\t: [];\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: firstIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst: firstIndex === 0,\n\t\t\tisLast: lastIndex === blockOrder.length - 1,\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{ clientIds, 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\treplaceBlocks,\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 } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst {\n\t\t\t\t__experimentalConvertBlockToStatic: convertBlockToStatic,\n\t\t\t} = dispatch( 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( clientIds );\n\t\t\t\t},\n\t\t\t\tonMoveDown: partial( moveBlocksDown, clientIds, rootClientId ),\n\t\t\t\tonMoveUp: partial( moveBlocksUp, clientIds, rootClientId ),\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\treplaceBlocks( clientIds, 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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/block-actions-menu.native.js"],"names":["Platform","findNodeHandle","partial","first","castArray","last","compact","every","getClipboard","setClipboard","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","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","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","title","raw","options","length","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","filter","Boolean","accessibilityHint","OS","getAnchor","undefined","hint","select","clientIds","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","normalizedClientIds","block","blockName","blockType","firstClientId","blockOrder","firstIndex","lastIndex","innerBlocks","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","selectedBlock","getEntityRecord","ref","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlocks","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","canReplaceBlock","insertedBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\nimport { partial, first, castArray, last, compact, every } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\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 } 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';\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';\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 {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\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 block' ),\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: __( 'Convert to regular blocks' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: name of the reusable block */\n\t\t\t\t\t\t__( '%s converted to regular blocks' ),\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 = compact( [\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\tisReusableBlockType && allOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t] );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\tdisabled={ true }\n\t\t\t/>\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<>\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\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={ true }\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</>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\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 normalizedClientIds = castArray( clientIds );\n\t\tconst block = getBlock( normalizedClientIds );\n\t\tconst blockName = getBlockName( normalizedClientIds );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst firstClientId = first( normalizedClientIds );\n\t\tconst rootClientId = getBlockRootClientId( firstClientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\tconst lastIndex = getBlockIndex( last( normalizedClientIds ) );\n\n\t\tconst innerBlocks = getBlocksByClientId( clientIds );\n\n\t\tconst canDuplicate = every( innerBlocks, ( 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 = first( getSelectedBlockClientIds() );\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? first( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( [ selectedBlock ], rootClientId )\n\t\t\t: [];\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: firstIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst: firstIndex === 0,\n\t\t\tisLast: lastIndex === blockOrder.length - 1,\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{ clientIds, 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\treplaceBlocks,\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 } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst {\n\t\t\t\t__experimentalConvertBlockToStatic: convertBlockToStatic,\n\t\t\t} = dispatch( 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( clientIds );\n\t\t\t\t},\n\t\t\t\tonMoveDown: partial( moveBlocksDown, clientIds, rootClientId ),\n\t\t\t\tonMoveUp: partial( moveBlocksUp, clientIds, rootClientId ),\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\treplaceBlocks( clientIds, 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"]}
@@ -76,7 +76,7 @@ const BlockMobileToolbar = _ref => {
76
76
  }), createElement(BlockSettingsButton.Slot, null, function () {
77
77
  let fills = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [null];
78
78
  return (// The purpose of BlockSettingsButtonFill component is only to provide a way
79
- // to pass data upstream from the slot rendering
79
+ // to pass data upstream from the slot rendering.
80
80
  createElement(BlockSettingsButtonFill, {
81
81
  fillsLength: fills.length,
82
82
  onChangeFillsLength: setFillsLength
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/index.native.js"],"names":["View","withDispatch","withSelect","compose","useState","useEffect","styles","BlockMover","BlockActionsMenu","BlockSettingsButton","store","blockEditorStore","BREAKPOINTS","wrapSettings","wrapMover","BlockMobileToolbar","clientId","onDelete","isStackedHorizontally","blockWidth","anchorNodeRef","isFullWidth","fillsLength","setFillsLength","appenderWidth","setAppenderWidth","spacingValue","toolbar","marginLeft","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","wrapBlockSettings","wrapBlockMover","BlockSettingsButtonFill","fillProps","onChangeFillsLength","children","toolbarFullWidth","spacer","fills","length","select","getBlockIndex","order","dispatch","rootClientId","removeBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockMover from '../block-mover';\nimport BlockActionsMenu from './block-actions-menu';\nimport { BlockSettingsButton } from '../block-settings';\nimport { store as blockEditorStore } from '../../store';\n\n// Defined breakpoints are used to get a point when\n// `settings` and `mover` controls should be wrapped into `BlockActionsMenu`\n// and accessed through `BottomSheet`(Android)/`ActionSheet`(iOS).\nconst BREAKPOINTS = {\n\twrapSettings: 65,\n\twrapMover: 150,\n};\nconst BlockMobileToolbar = ( {\n\tclientId,\n\tonDelete,\n\tisStackedHorizontally,\n\tblockWidth,\n\tanchorNodeRef,\n\tisFullWidth,\n} ) => {\n\tconst [ fillsLength, setFillsLength ] = useState( null );\n\tconst [ appenderWidth, setAppenderWidth ] = useState( 0 );\n\tconst spacingValue = styles.toolbar.marginLeft * 2;\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( layoutWidth !== appenderWidth ) {\n\t\t\tsetAppenderWidth( nativeEvent.layout.width );\n\t\t}\n\t}\n\n\tconst wrapBlockSettings =\n\t\tblockWidth < BREAKPOINTS.wrapSettings ||\n\t\tappenderWidth - spacingValue < BREAKPOINTS.wrapSettings;\n\tconst wrapBlockMover =\n\t\tblockWidth <= BREAKPOINTS.wrapMover ||\n\t\tappenderWidth - spacingValue <= BREAKPOINTS.wrapMover;\n\n\tconst BlockSettingsButtonFill = ( fillProps ) => {\n\t\tuseEffect(\n\t\t\t() => fillProps.onChangeFillsLength( fillProps.fillsLength ),\n\t\t\t[ fillProps.fillsLength ]\n\t\t);\n\t\treturn fillProps.children ?? null;\n\t};\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [ styles.toolbar, isFullWidth && styles.toolbarFullWidth ] }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t{ ! wrapBlockMover && (\n\t\t\t\t<BlockMover\n\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<View style={ styles.spacer } />\n\n\t\t\t<BlockSettingsButton.Slot>\n\t\t\t\t{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls */ }\n\t\t\t\t{ ( fills = [ null ] ) => (\n\t\t\t\t\t// The purpose of BlockSettingsButtonFill component is only to provide a way\n\t\t\t\t\t// to pass data upstream from the slot rendering\n\t\t\t\t\t<BlockSettingsButtonFill\n\t\t\t\t\t\tfillsLength={ fills.length }\n\t\t\t\t\t\tonChangeFillsLength={ setFillsLength }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ wrapBlockSettings ? null : fills[ 0 ] }\n\t\t\t\t\t</BlockSettingsButtonFill>\n\t\t\t\t) }\n\t\t\t</BlockSettingsButton.Slot>\n\n\t\t\t<BlockActionsMenu\n\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\twrapBlockMover={ wrapBlockMover }\n\t\t\t\twrapBlockSettings={ wrapBlockSettings && fillsLength }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tonDelete={ onDelete }\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockIndex } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\torder: getBlockIndex( clientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId, rootClientId, onDelete } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tonDelete:\n\t\t\t\tonDelete || ( () => removeBlock( clientId, rootClientId ) ),\n\t\t};\n\t} )\n)( BlockMobileToolbar );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/index.native.js"],"names":["View","withDispatch","withSelect","compose","useState","useEffect","styles","BlockMover","BlockActionsMenu","BlockSettingsButton","store","blockEditorStore","BREAKPOINTS","wrapSettings","wrapMover","BlockMobileToolbar","clientId","onDelete","isStackedHorizontally","blockWidth","anchorNodeRef","isFullWidth","fillsLength","setFillsLength","appenderWidth","setAppenderWidth","spacingValue","toolbar","marginLeft","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","wrapBlockSettings","wrapBlockMover","BlockSettingsButtonFill","fillProps","onChangeFillsLength","children","toolbarFullWidth","spacer","fills","length","select","getBlockIndex","order","dispatch","rootClientId","removeBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockMover from '../block-mover';\nimport BlockActionsMenu from './block-actions-menu';\nimport { BlockSettingsButton } from '../block-settings';\nimport { store as blockEditorStore } from '../../store';\n\n// Defined breakpoints are used to get a point when\n// `settings` and `mover` controls should be wrapped into `BlockActionsMenu`\n// and accessed through `BottomSheet`(Android)/`ActionSheet`(iOS).\nconst BREAKPOINTS = {\n\twrapSettings: 65,\n\twrapMover: 150,\n};\nconst BlockMobileToolbar = ( {\n\tclientId,\n\tonDelete,\n\tisStackedHorizontally,\n\tblockWidth,\n\tanchorNodeRef,\n\tisFullWidth,\n} ) => {\n\tconst [ fillsLength, setFillsLength ] = useState( null );\n\tconst [ appenderWidth, setAppenderWidth ] = useState( 0 );\n\tconst spacingValue = styles.toolbar.marginLeft * 2;\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( layoutWidth !== appenderWidth ) {\n\t\t\tsetAppenderWidth( nativeEvent.layout.width );\n\t\t}\n\t}\n\n\tconst wrapBlockSettings =\n\t\tblockWidth < BREAKPOINTS.wrapSettings ||\n\t\tappenderWidth - spacingValue < BREAKPOINTS.wrapSettings;\n\tconst wrapBlockMover =\n\t\tblockWidth <= BREAKPOINTS.wrapMover ||\n\t\tappenderWidth - spacingValue <= BREAKPOINTS.wrapMover;\n\n\tconst BlockSettingsButtonFill = ( fillProps ) => {\n\t\tuseEffect(\n\t\t\t() => fillProps.onChangeFillsLength( fillProps.fillsLength ),\n\t\t\t[ fillProps.fillsLength ]\n\t\t);\n\t\treturn fillProps.children ?? null;\n\t};\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [ styles.toolbar, isFullWidth && styles.toolbarFullWidth ] }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t{ ! wrapBlockMover && (\n\t\t\t\t<BlockMover\n\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<View style={ styles.spacer } />\n\n\t\t\t<BlockSettingsButton.Slot>\n\t\t\t\t{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls. */ }\n\t\t\t\t{ ( fills = [ null ] ) => (\n\t\t\t\t\t// The purpose of BlockSettingsButtonFill component is only to provide a way\n\t\t\t\t\t// to pass data upstream from the slot rendering.\n\t\t\t\t\t<BlockSettingsButtonFill\n\t\t\t\t\t\tfillsLength={ fills.length }\n\t\t\t\t\t\tonChangeFillsLength={ setFillsLength }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ wrapBlockSettings ? null : fills[ 0 ] }\n\t\t\t\t\t</BlockSettingsButtonFill>\n\t\t\t\t) }\n\t\t\t</BlockSettingsButton.Slot>\n\n\t\t\t<BlockActionsMenu\n\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\twrapBlockMover={ wrapBlockMover }\n\t\t\t\twrapBlockSettings={ wrapBlockSettings && fillsLength }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tonDelete={ onDelete }\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockIndex } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\torder: getBlockIndex( clientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId, rootClientId, onDelete } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tonDelete:\n\t\t\t\tonDelete || ( () => removeBlock( clientId, rootClientId ) ),\n\t\t};\n\t} )\n)( BlockMobileToolbar );\n"]}
@@ -50,7 +50,7 @@ export function getBlockMoverDescription(selectedCount, type, firstIndex, isFirs
50
50
  }
51
51
 
52
52
  if (dir > 0 && !isLast) {
53
- // moving down
53
+ // Moving down.
54
54
  const movementDirection = getMovementDirection('down');
55
55
 
56
56
  if (movementDirection === 'down') {
@@ -70,7 +70,7 @@ export function getBlockMoverDescription(selectedCount, type, firstIndex, isFirs
70
70
  }
71
71
 
72
72
  if (dir > 0 && isLast) {
73
- // moving down, and is the last item
73
+ // Moving down, and is the last item.
74
74
  const movementDirection = getMovementDirection('down');
75
75
 
76
76
  if (movementDirection === 'down') {
@@ -90,7 +90,7 @@ export function getBlockMoverDescription(selectedCount, type, firstIndex, isFirs
90
90
  }
91
91
 
92
92
  if (dir < 0 && !isFirst) {
93
- // moving up
93
+ // Moving up.
94
94
  const movementDirection = getMovementDirection('up');
95
95
 
96
96
  if (movementDirection === 'up') {
@@ -110,7 +110,7 @@ export function getBlockMoverDescription(selectedCount, type, firstIndex, isFirs
110
110
  }
111
111
 
112
112
  if (dir < 0 && isFirst) {
113
- // moving up, and is the first item
113
+ // Moving up, and is the first item.
114
114
  const movementDirection = getMovementDirection('up');
115
115
 
116
116
  if (movementDirection === 'up') {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/mover-description.js"],"names":["__","_n","sprintf","isRTL","getBlockMoverDescription","selectedCount","type","firstIndex","isFirst","isLast","dir","orientation","position","getMovementDirection","moveDirection","getMultiBlockMoverDescription","movementDirection"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, isRTL } from '@wordpress/i18n';\n\n/**\n * Return a label for the block movement controls depending on block position.\n *\n * @param {number} selectedCount Number of blocks selected.\n * @param {string} type Block type - in the case of a single block, should\n * define its 'type'. I.e. 'Text', 'Heading', 'Image' etc.\n * @param {number} firstIndex The index (position - 1) of the first block selected.\n * @param {boolean} isFirst This is the first block.\n * @param {boolean} isLast This is the last block.\n * @param {number} dir Direction of movement (> 0 is considered to be going\n * down, < 0 is up).\n * @param {string} orientation The orientation of the block movers, vertical or\n * horizontal.\n *\n * @return {string} Label for the block movement controls.\n */\nexport function getBlockMoverDescription(\n\tselectedCount,\n\ttype,\n\tfirstIndex,\n\tisFirst,\n\tisLast,\n\tdir,\n\torientation\n) {\n\tconst position = firstIndex + 1;\n\n\tconst getMovementDirection = ( moveDirection ) => {\n\t\tif ( moveDirection === 'up' ) {\n\t\t\tif ( orientation === 'horizontal' ) {\n\t\t\t\treturn isRTL() ? 'right' : 'left';\n\t\t\t}\n\t\t\treturn 'up';\n\t\t} else if ( moveDirection === 'down' ) {\n\t\t\tif ( orientation === 'horizontal' ) {\n\t\t\t\treturn isRTL() ? 'left' : 'right';\n\t\t\t}\n\t\t\treturn 'down';\n\t\t}\n\t\treturn null;\n\t};\n\n\tif ( selectedCount > 1 ) {\n\t\treturn getMultiBlockMoverDescription(\n\t\t\tselectedCount,\n\t\t\tfirstIndex,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tdir\n\t\t);\n\t}\n\n\tif ( isFirst && isLast ) {\n\t\treturn sprintf(\n\t\t\t// translators: %s: Type of block (i.e. Text, Image etc)\n\t\t\t__( 'Block %s is the only block, and cannot be moved' ),\n\t\t\ttype\n\t\t);\n\t}\n\n\tif ( dir > 0 && ! isLast ) {\n\t\t// moving down\n\t\tconst movementDirection = getMovementDirection( 'down' );\n\n\t\tif ( movementDirection === 'down' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d down to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition + 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d left to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition + 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d right to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition + 1\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( dir > 0 && isLast ) {\n\t\t// moving down, and is the last item\n\t\tconst movementDirection = getMovementDirection( 'down' );\n\n\t\tif ( movementDirection === 'down' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the end of the content and can’t be moved down'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the end of the content and can’t be moved left'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the end of the content and can’t be moved right'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( dir < 0 && ! isFirst ) {\n\t\t// moving up\n\t\tconst movementDirection = getMovementDirection( 'up' );\n\n\t\tif ( movementDirection === 'up' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__( 'Move %1$s block from position %2$d up to position %3$d' ),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition - 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d left to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition - 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d right to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition - 1\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( dir < 0 && isFirst ) {\n\t\t// moving up, and is the first item\n\t\tconst movementDirection = getMovementDirection( 'up' );\n\n\t\tif ( movementDirection === 'up' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the beginning of the content and can’t be moved up'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the beginning of the content and can’t be moved left'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the beginning of the content and can’t be moved right'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\t}\n}\n\n/**\n * Return a label for the block movement controls depending on block position.\n *\n * @param {number} selectedCount Number of blocks selected.\n * @param {number} firstIndex The index (position - 1) of the first block selected.\n * @param {boolean} isFirst This is the first block.\n * @param {boolean} isLast This is the last block.\n * @param {number} dir Direction of movement (> 0 is considered to be going\n * down, < 0 is up).\n *\n * @return {string} Label for the block movement controls.\n */\nexport function getMultiBlockMoverDescription(\n\tselectedCount,\n\tfirstIndex,\n\tisFirst,\n\tisLast,\n\tdir\n) {\n\tconst position = firstIndex + 1;\n\n\tif ( dir < 0 && isFirst ) {\n\t\treturn __( 'Blocks cannot be moved up as they are already at the top' );\n\t}\n\n\tif ( dir > 0 && isLast ) {\n\t\treturn __(\n\t\t\t'Blocks cannot be moved down as they are already at the bottom'\n\t\t);\n\t}\n\n\tif ( dir < 0 && ! isFirst ) {\n\t\treturn sprintf(\n\t\t\t// translators: 1: Number of selected blocks, 2: Position of selected blocks\n\t\t\t_n(\n\t\t\t\t'Move %1$d block from position %2$d up by one place',\n\t\t\t\t'Move %1$d blocks from position %2$d up by one place',\n\t\t\t\tselectedCount\n\t\t\t),\n\t\t\tselectedCount,\n\t\t\tposition\n\t\t);\n\t}\n\n\tif ( dir > 0 && ! isLast ) {\n\t\treturn sprintf(\n\t\t\t// translators: 1: Number of selected blocks, 2: Position of selected blocks\n\t\t\t_n(\n\t\t\t\t'Move %1$d block from position %2$d down by one place',\n\t\t\t\t'Move %1$d blocks from position %2$d down by one place',\n\t\t\t\tselectedCount\n\t\t\t),\n\t\t\tselectedCount,\n\t\t\tposition\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/mover-description.js"],"names":["__","_n","sprintf","isRTL","getBlockMoverDescription","selectedCount","type","firstIndex","isFirst","isLast","dir","orientation","position","getMovementDirection","moveDirection","getMultiBlockMoverDescription","movementDirection"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, isRTL } from '@wordpress/i18n';\n\n/**\n * Return a label for the block movement controls depending on block position.\n *\n * @param {number} selectedCount Number of blocks selected.\n * @param {string} type Block type - in the case of a single block, should\n * define its 'type'. I.e. 'Text', 'Heading', 'Image' etc.\n * @param {number} firstIndex The index (position - 1) of the first block selected.\n * @param {boolean} isFirst This is the first block.\n * @param {boolean} isLast This is the last block.\n * @param {number} dir Direction of movement (> 0 is considered to be going\n * down, < 0 is up).\n * @param {string} orientation The orientation of the block movers, vertical or\n * horizontal.\n *\n * @return {string} Label for the block movement controls.\n */\nexport function getBlockMoverDescription(\n\tselectedCount,\n\ttype,\n\tfirstIndex,\n\tisFirst,\n\tisLast,\n\tdir,\n\torientation\n) {\n\tconst position = firstIndex + 1;\n\n\tconst getMovementDirection = ( moveDirection ) => {\n\t\tif ( moveDirection === 'up' ) {\n\t\t\tif ( orientation === 'horizontal' ) {\n\t\t\t\treturn isRTL() ? 'right' : 'left';\n\t\t\t}\n\t\t\treturn 'up';\n\t\t} else if ( moveDirection === 'down' ) {\n\t\t\tif ( orientation === 'horizontal' ) {\n\t\t\t\treturn isRTL() ? 'left' : 'right';\n\t\t\t}\n\t\t\treturn 'down';\n\t\t}\n\t\treturn null;\n\t};\n\n\tif ( selectedCount > 1 ) {\n\t\treturn getMultiBlockMoverDescription(\n\t\t\tselectedCount,\n\t\t\tfirstIndex,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tdir\n\t\t);\n\t}\n\n\tif ( isFirst && isLast ) {\n\t\treturn sprintf(\n\t\t\t// translators: %s: Type of block (i.e. Text, Image etc)\n\t\t\t__( 'Block %s is the only block, and cannot be moved' ),\n\t\t\ttype\n\t\t);\n\t}\n\n\tif ( dir > 0 && ! isLast ) {\n\t\t// Moving down.\n\t\tconst movementDirection = getMovementDirection( 'down' );\n\n\t\tif ( movementDirection === 'down' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d down to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition + 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d left to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition + 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d right to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition + 1\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( dir > 0 && isLast ) {\n\t\t// Moving down, and is the last item.\n\t\tconst movementDirection = getMovementDirection( 'down' );\n\n\t\tif ( movementDirection === 'down' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the end of the content and can’t be moved down'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the end of the content and can’t be moved left'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the end of the content and can’t be moved right'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( dir < 0 && ! isFirst ) {\n\t\t// Moving up.\n\t\tconst movementDirection = getMovementDirection( 'up' );\n\n\t\tif ( movementDirection === 'up' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__( 'Move %1$s block from position %2$d up to position %3$d' ),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition - 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d left to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition - 1\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t\t__(\n\t\t\t\t\t'Move %1$s block from position %2$d right to position %3$d'\n\t\t\t\t),\n\t\t\t\ttype,\n\t\t\t\tposition,\n\t\t\t\tposition - 1\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( dir < 0 && isFirst ) {\n\t\t// Moving up, and is the first item.\n\t\tconst movementDirection = getMovementDirection( 'up' );\n\n\t\tif ( movementDirection === 'up' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the beginning of the content and can’t be moved up'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'left' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the beginning of the content and can’t be moved left'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\tif ( movementDirection === 'right' ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: 1: Type of block (i.e. Text, Image etc)\n\t\t\t\t__(\n\t\t\t\t\t'Block %1$s is at the beginning of the content and can’t be moved right'\n\t\t\t\t),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\t}\n}\n\n/**\n * Return a label for the block movement controls depending on block position.\n *\n * @param {number} selectedCount Number of blocks selected.\n * @param {number} firstIndex The index (position - 1) of the first block selected.\n * @param {boolean} isFirst This is the first block.\n * @param {boolean} isLast This is the last block.\n * @param {number} dir Direction of movement (> 0 is considered to be going\n * down, < 0 is up).\n *\n * @return {string} Label for the block movement controls.\n */\nexport function getMultiBlockMoverDescription(\n\tselectedCount,\n\tfirstIndex,\n\tisFirst,\n\tisLast,\n\tdir\n) {\n\tconst position = firstIndex + 1;\n\n\tif ( dir < 0 && isFirst ) {\n\t\treturn __( 'Blocks cannot be moved up as they are already at the top' );\n\t}\n\n\tif ( dir > 0 && isLast ) {\n\t\treturn __(\n\t\t\t'Blocks cannot be moved down as they are already at the bottom'\n\t\t);\n\t}\n\n\tif ( dir < 0 && ! isFirst ) {\n\t\treturn sprintf(\n\t\t\t// translators: 1: Number of selected blocks, 2: Position of selected blocks\n\t\t\t_n(\n\t\t\t\t'Move %1$d block from position %2$d up by one place',\n\t\t\t\t'Move %1$d blocks from position %2$d up by one place',\n\t\t\t\tselectedCount\n\t\t\t),\n\t\t\tselectedCount,\n\t\t\tposition\n\t\t);\n\t}\n\n\tif ( dir > 0 && ! isLast ) {\n\t\treturn sprintf(\n\t\t\t// translators: 1: Number of selected blocks, 2: Position of selected blocks\n\t\t\t_n(\n\t\t\t\t'Move %1$d block from position %2$d down by one place',\n\t\t\t\t'Move %1$d blocks from position %2$d down by one place',\n\t\t\t\tselectedCount\n\t\t\t),\n\t\t\tselectedCount,\n\t\t\tposition\n\t\t);\n\t}\n}\n"]}
@@ -63,12 +63,12 @@ export function getMoversSetup(isStackedHorizontally, _ref) {
63
63
 
64
64
  function switchButtonPropIfRTL(isBackwardButton, forwardButtonProp, backwardButtonProp, isStackedHorizontally) {
65
65
  if (I18nManager.isRTL && isStackedHorizontally) {
66
- // for RTL and horizontal direction switch prop between forward and backward button
66
+ // For RTL and horizontal direction switch prop between forward and backward button.
67
67
  if (isBackwardButton) {
68
- return forwardButtonProp; // set forwardButtonProp for backward button
68
+ return forwardButtonProp; // Set forwardButtonProp for backward button.
69
69
  }
70
70
 
71
- return backwardButtonProp; // set backwardButtonProp for forward button
71
+ return backwardButtonProp; // Set backwardButtonProp for forward button.
72
72
  }
73
73
 
74
74
  return isBackwardButton ? backwardButtonProp : forwardButtonProp;
@@ -119,11 +119,11 @@ function getMoverButtonTitle(isStackedHorizontally, _ref2) {
119
119
  } = _ref2;
120
120
 
121
121
  const getIndexes = isBackwardButton => {
122
- const fromIndex = firstIndex + 1; // current position based on index
122
+ const fromIndex = firstIndex + 1; // Current position based on index
123
123
  // for backwardButton decrease index (move left/up) for forwardButton increase index (move right/down)
124
124
 
125
125
  const direction = isBackwardButton ? -1 : 1;
126
- const toIndex = fromIndex + direction; // position after move
126
+ const toIndex = fromIndex + direction; // Position after move.
127
127
 
128
128
  return [fromIndex, toIndex];
129
129
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/mover-description.native.js"],"names":["I18nManager","__","sprintf","arrowUp","arrowDown","arrowLeft","arrowRight","horizontalMover","backwardButtonIcon","forwardButtonIcon","backwardButtonHint","forwardButtonHint","firstBlockTitle","lastBlockTitle","backwardButtonTitle","forwardButtonTitle","verticalMover","KEYS","SETUP_GETTER","description","getMoverDescription","icon","getArrowIcon","title","getMoverButtonTitle","actionTitle","getMoverActionTitle","getMoversSetup","isStackedHorizontally","firstIndex","keys","reduce","setup","key","includes","Object","assign","getSetup","switchButtonPropIfRTL","isBackwardButton","forwardButtonProp","backwardButtonProp","isRTL","args","arguments","apply","applyRTLSetup","backward","forward","actionTitlePrev","actionTitleNext","getIndexes","fromIndex","direction","toIndex","buttonTitlePrev","buttonTitleNext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { I18nManager } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { arrowUp, arrowDown, arrowLeft, arrowRight } from '@wordpress/icons';\n\nconst horizontalMover = {\n\tbackwardButtonIcon: arrowLeft,\n\tforwardButtonIcon: arrowRight,\n\tbackwardButtonHint: __( 'Double tap to move the block to the left' ),\n\tforwardButtonHint: __( 'Double tap to move the block to the right' ),\n\tfirstBlockTitle: __( 'Move block left' ),\n\tlastBlockTitle: __( 'Move block right' ),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tbackwardButtonTitle: __(\n\t\t'Move block left from position %1$s to position %2$s'\n\t),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tforwardButtonTitle: __(\n\t\t'Move block right from position %1$s to position %2$s'\n\t),\n};\n\nconst verticalMover = {\n\tbackwardButtonIcon: arrowUp,\n\tforwardButtonIcon: arrowDown,\n\tbackwardButtonHint: __( 'Double tap to move the block up' ),\n\tforwardButtonHint: __( 'Double tap to move the block down' ),\n\tfirstBlockTitle: __( 'Move block up' ),\n\tlastBlockTitle: __( 'Move block down' ),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tbackwardButtonTitle: __( 'Move block up from row %1$s to row %2$s' ),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tforwardButtonTitle: __( 'Move block down from row %1$s to row %2$s' ),\n};\n\nconst KEYS = [ 'description', 'icon', 'title', 'actionTitle' ];\n\nconst SETUP_GETTER = {\n\tdescription: getMoverDescription,\n\ticon: getArrowIcon,\n\ttitle: getMoverButtonTitle,\n\tactionTitle: getMoverActionTitle,\n};\n\nexport function getMoversSetup(\n\tisStackedHorizontally,\n\t{ firstIndex, keys = KEYS }\n) {\n\treturn keys.reduce( ( setup, key ) => {\n\t\tif ( KEYS.includes( key ) ) {\n\t\t\tObject.assign( setup, {\n\t\t\t\t[ key ]: getSetup( key, isStackedHorizontally, {\n\t\t\t\t\tfirstIndex,\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\t\treturn setup;\n\t}, {} );\n}\n\nfunction switchButtonPropIfRTL(\n\tisBackwardButton,\n\tforwardButtonProp,\n\tbackwardButtonProp,\n\tisStackedHorizontally\n) {\n\tif ( I18nManager.isRTL && isStackedHorizontally ) {\n\t\t// for RTL and horizontal direction switch prop between forward and backward button\n\t\tif ( isBackwardButton ) {\n\t\t\treturn forwardButtonProp; // set forwardButtonProp for backward button\n\t\t}\n\t\treturn backwardButtonProp; // set backwardButtonProp for forward button\n\t}\n\n\treturn isBackwardButton ? backwardButtonProp : forwardButtonProp;\n}\n\nfunction getSetup() {\n\tconst [ key, ...args ] = arguments;\n\treturn SETUP_GETTER[ key ].apply( null, [ ...args ] );\n}\n\nfunction applyRTLSetup( isBackwardButton, args ) {\n\treturn switchButtonPropIfRTL.apply( null, [ isBackwardButton, ...args ] );\n}\n\nfunction getMoverDescription( isStackedHorizontally ) {\n\treturn isStackedHorizontally ? horizontalMover : verticalMover;\n}\n\nfunction getArrowIcon( isStackedHorizontally ) {\n\tconst { forwardButtonIcon, backwardButtonIcon } = getMoverDescription(\n\t\tisStackedHorizontally\n\t);\n\n\tconst args = [\n\t\tforwardButtonIcon,\n\t\tbackwardButtonIcon,\n\t\tisStackedHorizontally,\n\t];\n\n\treturn {\n\t\tbackward: applyRTLSetup( true, args ),\n\t\tforward: applyRTLSetup( false, args ),\n\t};\n}\n\nfunction getMoverActionTitle( isStackedHorizontally ) {\n\tconst { firstBlockTitle, lastBlockTitle } = getMoverDescription(\n\t\tisStackedHorizontally\n\t);\n\n\tconst args = [ lastBlockTitle, firstBlockTitle, isStackedHorizontally ];\n\n\tconst actionTitlePrev = applyRTLSetup( true, args );\n\tconst actionTitleNext = applyRTLSetup( false, args );\n\n\treturn {\n\t\tbackward: sprintf( actionTitlePrev, firstBlockTitle ),\n\t\tforward: sprintf( actionTitleNext, lastBlockTitle ),\n\t};\n}\n\nfunction getMoverButtonTitle( isStackedHorizontally, { firstIndex } ) {\n\tconst getIndexes = ( isBackwardButton ) => {\n\t\tconst fromIndex = firstIndex + 1; // current position based on index\n\t\t// for backwardButton decrease index (move left/up) for forwardButton increase index (move right/down)\n\t\tconst direction = isBackwardButton ? -1 : 1;\n\t\tconst toIndex = fromIndex + direction; // position after move\n\t\treturn [ fromIndex, toIndex ];\n\t};\n\n\tconst { backwardButtonTitle, forwardButtonTitle } = getMoverDescription(\n\t\tisStackedHorizontally\n\t);\n\n\tconst args = [\n\t\tforwardButtonTitle,\n\t\tbackwardButtonTitle,\n\t\tisStackedHorizontally,\n\t];\n\n\tconst buttonTitlePrev = applyRTLSetup( true, args );\n\tconst buttonTitleNext = applyRTLSetup( false, args );\n\n\treturn {\n\t\tbackward: sprintf( buttonTitlePrev, ...getIndexes( true ) ),\n\t\tforward: sprintf( buttonTitleNext, ...getIndexes( false ) ),\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/mover-description.native.js"],"names":["I18nManager","__","sprintf","arrowUp","arrowDown","arrowLeft","arrowRight","horizontalMover","backwardButtonIcon","forwardButtonIcon","backwardButtonHint","forwardButtonHint","firstBlockTitle","lastBlockTitle","backwardButtonTitle","forwardButtonTitle","verticalMover","KEYS","SETUP_GETTER","description","getMoverDescription","icon","getArrowIcon","title","getMoverButtonTitle","actionTitle","getMoverActionTitle","getMoversSetup","isStackedHorizontally","firstIndex","keys","reduce","setup","key","includes","Object","assign","getSetup","switchButtonPropIfRTL","isBackwardButton","forwardButtonProp","backwardButtonProp","isRTL","args","arguments","apply","applyRTLSetup","backward","forward","actionTitlePrev","actionTitleNext","getIndexes","fromIndex","direction","toIndex","buttonTitlePrev","buttonTitleNext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { I18nManager } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { arrowUp, arrowDown, arrowLeft, arrowRight } from '@wordpress/icons';\n\nconst horizontalMover = {\n\tbackwardButtonIcon: arrowLeft,\n\tforwardButtonIcon: arrowRight,\n\tbackwardButtonHint: __( 'Double tap to move the block to the left' ),\n\tforwardButtonHint: __( 'Double tap to move the block to the right' ),\n\tfirstBlockTitle: __( 'Move block left' ),\n\tlastBlockTitle: __( 'Move block right' ),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tbackwardButtonTitle: __(\n\t\t'Move block left from position %1$s to position %2$s'\n\t),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tforwardButtonTitle: __(\n\t\t'Move block right from position %1$s to position %2$s'\n\t),\n};\n\nconst verticalMover = {\n\tbackwardButtonIcon: arrowUp,\n\tforwardButtonIcon: arrowDown,\n\tbackwardButtonHint: __( 'Double tap to move the block up' ),\n\tforwardButtonHint: __( 'Double tap to move the block down' ),\n\tfirstBlockTitle: __( 'Move block up' ),\n\tlastBlockTitle: __( 'Move block down' ),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tbackwardButtonTitle: __( 'Move block up from row %1$s to row %2$s' ),\n\t/* translators: accessibility text. %1: current block position (number). %2: next block position (number) */\n\tforwardButtonTitle: __( 'Move block down from row %1$s to row %2$s' ),\n};\n\nconst KEYS = [ 'description', 'icon', 'title', 'actionTitle' ];\n\nconst SETUP_GETTER = {\n\tdescription: getMoverDescription,\n\ticon: getArrowIcon,\n\ttitle: getMoverButtonTitle,\n\tactionTitle: getMoverActionTitle,\n};\n\nexport function getMoversSetup(\n\tisStackedHorizontally,\n\t{ firstIndex, keys = KEYS }\n) {\n\treturn keys.reduce( ( setup, key ) => {\n\t\tif ( KEYS.includes( key ) ) {\n\t\t\tObject.assign( setup, {\n\t\t\t\t[ key ]: getSetup( key, isStackedHorizontally, {\n\t\t\t\t\tfirstIndex,\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\t\treturn setup;\n\t}, {} );\n}\n\nfunction switchButtonPropIfRTL(\n\tisBackwardButton,\n\tforwardButtonProp,\n\tbackwardButtonProp,\n\tisStackedHorizontally\n) {\n\tif ( I18nManager.isRTL && isStackedHorizontally ) {\n\t\t// For RTL and horizontal direction switch prop between forward and backward button.\n\t\tif ( isBackwardButton ) {\n\t\t\treturn forwardButtonProp; // Set forwardButtonProp for backward button.\n\t\t}\n\t\treturn backwardButtonProp; // Set backwardButtonProp for forward button.\n\t}\n\n\treturn isBackwardButton ? backwardButtonProp : forwardButtonProp;\n}\n\nfunction getSetup() {\n\tconst [ key, ...args ] = arguments;\n\treturn SETUP_GETTER[ key ].apply( null, [ ...args ] );\n}\n\nfunction applyRTLSetup( isBackwardButton, args ) {\n\treturn switchButtonPropIfRTL.apply( null, [ isBackwardButton, ...args ] );\n}\n\nfunction getMoverDescription( isStackedHorizontally ) {\n\treturn isStackedHorizontally ? horizontalMover : verticalMover;\n}\n\nfunction getArrowIcon( isStackedHorizontally ) {\n\tconst { forwardButtonIcon, backwardButtonIcon } = getMoverDescription(\n\t\tisStackedHorizontally\n\t);\n\n\tconst args = [\n\t\tforwardButtonIcon,\n\t\tbackwardButtonIcon,\n\t\tisStackedHorizontally,\n\t];\n\n\treturn {\n\t\tbackward: applyRTLSetup( true, args ),\n\t\tforward: applyRTLSetup( false, args ),\n\t};\n}\n\nfunction getMoverActionTitle( isStackedHorizontally ) {\n\tconst { firstBlockTitle, lastBlockTitle } = getMoverDescription(\n\t\tisStackedHorizontally\n\t);\n\n\tconst args = [ lastBlockTitle, firstBlockTitle, isStackedHorizontally ];\n\n\tconst actionTitlePrev = applyRTLSetup( true, args );\n\tconst actionTitleNext = applyRTLSetup( false, args );\n\n\treturn {\n\t\tbackward: sprintf( actionTitlePrev, firstBlockTitle ),\n\t\tforward: sprintf( actionTitleNext, lastBlockTitle ),\n\t};\n}\n\nfunction getMoverButtonTitle( isStackedHorizontally, { firstIndex } ) {\n\tconst getIndexes = ( isBackwardButton ) => {\n\t\tconst fromIndex = firstIndex + 1; // Current position based on index\n\t\t// for backwardButton decrease index (move left/up) for forwardButton increase index (move right/down)\n\t\tconst direction = isBackwardButton ? -1 : 1;\n\t\tconst toIndex = fromIndex + direction; // Position after move.\n\t\treturn [ fromIndex, toIndex ];\n\t};\n\n\tconst { backwardButtonTitle, forwardButtonTitle } = getMoverDescription(\n\t\tisStackedHorizontally\n\t);\n\n\tconst args = [\n\t\tforwardButtonTitle,\n\t\tbackwardButtonTitle,\n\t\tisStackedHorizontally,\n\t];\n\n\tconst buttonTitlePrev = applyRTLSetup( true, args );\n\tconst buttonTitleNext = applyRTLSetup( false, args );\n\n\treturn {\n\t\tbackward: sprintf( buttonTitlePrev, ...getIndexes( true ) ),\n\t\tforward: sprintf( buttonTitleNext, ...getIndexes( false ) ),\n\t};\n}\n"]}
@@ -14,7 +14,7 @@ import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
14
14
  import { useSelect } from '@wordpress/data';
15
15
  import { moreVertical } from '@wordpress/icons';
16
16
  import { Children, cloneElement, useCallback } from '@wordpress/element';
17
- import { serialize, store as blocksStore } from '@wordpress/blocks';
17
+ import { serialize } from '@wordpress/blocks';
18
18
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
19
19
  import { useCopyToClipboard } from '@wordpress/compose';
20
20
  /**
@@ -27,6 +27,7 @@ import BlockHTMLConvertButton from './block-html-convert-button';
27
27
  import __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';
28
28
  import BlockSettingsMenuControls from '../block-settings-menu-controls';
29
29
  import { store as blockEditorStore } from '../../store';
30
+ import useBlockDisplayTitle from '../block-title/use-block-display-title';
30
31
  const POPOVER_PROPS = {
31
32
  className: 'block-editor-block-settings-menu__popover',
32
33
  position: 'bottom right',
@@ -55,21 +56,13 @@ export function BlockSettingsDropdown(_ref2) {
55
56
  const count = blockClientIds.length;
56
57
  const firstBlockClientId = blockClientIds[0];
57
58
  const {
58
- onlyBlock,
59
- title
59
+ onlyBlock
60
60
  } = useSelect(select => {
61
- var _getBlockType;
62
-
63
61
  const {
64
- getBlockCount,
65
- getBlockName
62
+ getBlockCount
66
63
  } = select(blockEditorStore);
67
- const {
68
- getBlockType
69
- } = select(blocksStore);
70
64
  return {
71
- onlyBlock: 1 === getBlockCount(),
72
- title: (_getBlockType = getBlockType(getBlockName(firstBlockClientId))) === null || _getBlockType === void 0 ? void 0 : _getBlockType.title
65
+ onlyBlock: 1 === getBlockCount()
73
66
  };
74
67
  }, [firstBlockClientId]);
75
68
  const shortcuts = useSelect(select => {
@@ -90,9 +83,10 @@ export function BlockSettingsDropdown(_ref2) {
90
83
  __experimentalSelectBlock(ids[0]);
91
84
  }
92
85
  } : noop, [__experimentalSelectBlock]);
86
+ const blockTitle = useBlockDisplayTitle(firstBlockClientId, 25);
93
87
  const label = sprintf(
94
88
  /* translators: %s: block name */
95
- __('Remove %s'), title);
89
+ __('Remove %s'), blockTitle);
96
90
  const removeBlockLabel = count === 1 ? label : __('Remove blocks');
97
91
  return createElement(BlockActions, {
98
92
  clientIds: clientIds,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"names":["castArray","flow","noop","__","sprintf","DropdownMenu","MenuGroup","MenuItem","useSelect","moreVertical","Children","cloneElement","useCallback","serialize","store","blocksStore","keyboardShortcutsStore","useCopyToClipboard","BlockActions","BlockModeToggle","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","blockEditorStore","POPOVER_PROPS","className","position","isAlternate","CopyMenuItem","blocks","onCopy","ref","BlockSettingsDropdown","clientIds","__experimentalSelectBlock","children","props","blockClientIds","count","length","firstBlockClientId","onlyBlock","title","select","getBlockCount","getBlockName","getBlockType","shortcuts","getShortcutRepresentation","duplicate","remove","insertAfter","insertBefore","updateSelection","clientIdsPromise","ids","label","removeBlockLabel","canDuplicate","canInsertDefaultBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onMoveTo","onClose","map","child"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray, flow, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\n\nimport { Children, cloneElement, useCallback } from '@wordpress/element';\nimport { serialize, store as blocksStore } from '@wordpress/blocks';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockModeToggle from './block-mode-toggle';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport { store as blockEditorStore } from '../../store';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tposition: 'bottom right',\n\tisAlternate: true,\n};\n\nfunction CopyMenuItem( { blocks, onCopy } ) {\n\tconst ref = useCopyToClipboard( () => serialize( blocks ), onCopy );\n\treturn <MenuItem ref={ ref }>{ __( 'Copy' ) }</MenuItem>;\n}\n\nexport function BlockSettingsDropdown( {\n\tclientIds,\n\t__experimentalSelectBlock,\n\tchildren,\n\t...props\n} ) {\n\tconst blockClientIds = castArray( clientIds );\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\tconst { onlyBlock, title } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockName } = select( blockEditorStore );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn {\n\t\t\t\tonlyBlock: 1 === getBlockCount(),\n\t\t\t\ttitle: getBlockType( getBlockName( firstBlockClientId ) )\n\t\t\t\t\t?.title,\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst updateSelection = useCallback(\n\t\t__experimentalSelectBlock\n\t\t\t? async ( clientIdsPromise ) => {\n\t\t\t\t\tconst ids = await clientIdsPromise;\n\t\t\t\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t\t\t\t__experimentalSelectBlock( ids[ 0 ] );\n\t\t\t\t\t}\n\t\t\t }\n\t\t\t: noop,\n\t\t[ __experimentalSelectBlock ]\n\t);\n\n\tconst label = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__( 'Remove %s' ),\n\t\ttitle\n\t);\n\tconst removeBlockLabel = count === 1 ? label : __( 'Remove blocks' );\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertDefaultBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonMoveTo,\n\t\t\t\tblocks,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\tnoIcons\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelection\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertDefaultBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Insert before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Insert after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canMove && ! onlyBlock && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ flow( onClose, onMoveTo ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t\tonToggle={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelection\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ removeBlockLabel }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"names":["castArray","flow","noop","__","sprintf","DropdownMenu","MenuGroup","MenuItem","useSelect","moreVertical","Children","cloneElement","useCallback","serialize","store","keyboardShortcutsStore","useCopyToClipboard","BlockActions","BlockModeToggle","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","blockEditorStore","useBlockDisplayTitle","POPOVER_PROPS","className","position","isAlternate","CopyMenuItem","blocks","onCopy","ref","BlockSettingsDropdown","clientIds","__experimentalSelectBlock","children","props","blockClientIds","count","length","firstBlockClientId","onlyBlock","select","getBlockCount","shortcuts","getShortcutRepresentation","duplicate","remove","insertAfter","insertBefore","updateSelection","clientIdsPromise","ids","blockTitle","label","removeBlockLabel","canDuplicate","canInsertDefaultBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onMoveTo","onClose","map","child"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray, flow, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement, useCallback } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockModeToggle from './block-mode-toggle';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tposition: 'bottom right',\n\tisAlternate: true,\n};\n\nfunction CopyMenuItem( { blocks, onCopy } ) {\n\tconst ref = useCopyToClipboard( () => serialize( blocks ), onCopy );\n\treturn <MenuItem ref={ ref }>{ __( 'Copy' ) }</MenuItem>;\n}\n\nexport function BlockSettingsDropdown( {\n\tclientIds,\n\t__experimentalSelectBlock,\n\tchildren,\n\t...props\n} ) {\n\tconst blockClientIds = castArray( clientIds );\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\tconst { onlyBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tonlyBlock: 1 === getBlockCount(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst updateSelection = useCallback(\n\t\t__experimentalSelectBlock\n\t\t\t? async ( clientIdsPromise ) => {\n\t\t\t\t\tconst ids = await clientIdsPromise;\n\t\t\t\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t\t\t\t__experimentalSelectBlock( ids[ 0 ] );\n\t\t\t\t\t}\n\t\t\t }\n\t\t\t: noop,\n\t\t[ __experimentalSelectBlock ]\n\t);\n\n\tconst blockTitle = useBlockDisplayTitle( firstBlockClientId, 25 );\n\n\tconst label = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__( 'Remove %s' ),\n\t\tblockTitle\n\t);\n\tconst removeBlockLabel = count === 1 ? label : __( 'Remove blocks' );\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertDefaultBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonMoveTo,\n\t\t\t\tblocks,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\tnoIcons\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelection\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertDefaultBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Insert before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Insert after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canMove && ! onlyBlock && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ flow( onClose, onMoveTo ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t\tonToggle={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ flow(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelection\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ removeBlockLabel }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"]}
@@ -34,7 +34,7 @@ function StylePreview(_ref) {
34
34
  const opacity = useRef(new Animated.Value(1)).current;
35
35
 
36
36
  function onLayout() {
37
- const columnsNum = // To indicate scroll availabilty, there is a need to display additional half the column
37
+ const columnsNum = // To indicate scroll availabilty, there is a need to display additional half the column.
38
38
  Math.floor(BottomSheet.getWidth() / MAX_ITEM_WIDTH) + HALF_COLUMN;
39
39
  setItemWidth(BottomSheet.getWidth() / columnsNum);
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/preview.native.js"],"names":["View","TouchableWithoutFeedback","Text","Dimensions","Animated","Easing","Image","BottomSheet","useState","useEffect","useRef","usePreferredColorSchemeStyle","styles","MAX_ITEM_WIDTH","HALF_COLUMN","StylePreview","onPress","isActive","style","url","itemWidth","setItemWidth","label","name","opacity","Value","current","onLayout","columnsNum","Math","floor","getWidth","dimensionsChangeSubscription","addEventListener","remove","labelStyle","labelDark","animateOutline","setValue","timing","toValue","duration","useNativeDriver","easing","linear","start","innerOutlineStyle","innerOutline","innerOutlineDark","getOutline","outlineStyles","map","outlineStyle","index","container","width","imageWrapper","outline","image","uri","labelSelected"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tDimensions,\n\tAnimated,\n\tEasing,\n\tImage,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { BottomSheet } from '@wordpress/components';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst MAX_ITEM_WIDTH = 120;\nconst HALF_COLUMN = 0.5;\n\nfunction StylePreview( { onPress, isActive, style, url } ) {\n\tconst [ itemWidth, setItemWidth ] = useState( MAX_ITEM_WIDTH );\n\tconst { label, name } = style;\n\tconst opacity = useRef( new Animated.Value( 1 ) ).current;\n\n\tfunction onLayout() {\n\t\tconst columnsNum =\n\t\t\t// To indicate scroll availabilty, there is a need to display additional half the column\n\t\t\tMath.floor( BottomSheet.getWidth() / MAX_ITEM_WIDTH ) + HALF_COLUMN;\n\t\tsetItemWidth( BottomSheet.getWidth() / columnsNum );\n\t}\n\n\tuseEffect( () => {\n\t\tonLayout();\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonLayout\n\t\t);\n\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.label,\n\t\tstyles.labelDark\n\t);\n\n\tconst animateOutline = () => {\n\t\topacity.setValue( 0 );\n\t\tAnimated.timing( opacity, {\n\t\t\ttoValue: 1,\n\t\t\tduration: 100,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.linear,\n\t\t} ).start();\n\t};\n\n\tconst innerOutlineStyle = usePreferredColorSchemeStyle(\n\t\tstyles.innerOutline,\n\t\tstyles.innerOutlineDark\n\t);\n\n\tconst getOutline = ( outlineStyles ) =>\n\t\toutlineStyles.map( ( outlineStyle, index ) => {\n\t\t\treturn (\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ outlineStyle, { opacity }, styles[ name ] ] }\n\t\t\t\t\tkey={ index }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ () => {\n\t\t\t\tonPress();\n\t\t\t\tanimateOutline();\n\t\t\t} }\n\t\t>\n\t\t\t<View style={ [ styles.container, { width: itemWidth } ] }>\n\t\t\t\t<View style={ styles.imageWrapper }>\n\t\t\t\t\t{ isActive &&\n\t\t\t\t\t\tgetOutline( [ styles.outline, innerOutlineStyle ] ) }\n\t\t\t\t\t<Image\n\t\t\t\t\t\tstyle={ [ styles.image, styles[ name ] ] }\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ [ labelStyle, isActive && styles.labelSelected ] }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n\nexport default StylePreview;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/preview.native.js"],"names":["View","TouchableWithoutFeedback","Text","Dimensions","Animated","Easing","Image","BottomSheet","useState","useEffect","useRef","usePreferredColorSchemeStyle","styles","MAX_ITEM_WIDTH","HALF_COLUMN","StylePreview","onPress","isActive","style","url","itemWidth","setItemWidth","label","name","opacity","Value","current","onLayout","columnsNum","Math","floor","getWidth","dimensionsChangeSubscription","addEventListener","remove","labelStyle","labelDark","animateOutline","setValue","timing","toValue","duration","useNativeDriver","easing","linear","start","innerOutlineStyle","innerOutline","innerOutlineDark","getOutline","outlineStyles","map","outlineStyle","index","container","width","imageWrapper","outline","image","uri","labelSelected"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,IADD,EAECC,wBAFD,EAGCC,IAHD,EAICC,UAJD,EAKCC,QALD,EAMCC,MAND,EAOCC,KAPD,QAQO,cARP;AASA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,QAA4C,oBAA5C;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,MAAMC,cAAc,GAAG,GAAvB;AACA,MAAMC,WAAW,GAAG,GAApB;;AAEA,SAASC,YAAT,OAA2D;AAAA,MAApC;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,QAAX;AAAqBC,IAAAA,KAArB;AAA4BC,IAAAA;AAA5B,GAAoC;AAC1D,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8Bb,QAAQ,CAAEK,cAAF,CAA5C;AACA,QAAM;AAAES,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAkBL,KAAxB;AACA,QAAMM,OAAO,GAAGd,MAAM,CAAE,IAAIN,QAAQ,CAACqB,KAAb,CAAoB,CAApB,CAAF,CAAN,CAAkCC,OAAlD;;AAEA,WAASC,QAAT,GAAoB;AACnB,UAAMC,UAAU,GACf;AACAC,IAAAA,IAAI,CAACC,KAAL,CAAYvB,WAAW,CAACwB,QAAZ,KAAyBlB,cAArC,IAAwDC,WAFzD;AAGAO,IAAAA,YAAY,CAAEd,WAAW,CAACwB,QAAZ,KAAyBH,UAA3B,CAAZ;AACA;;AAEDnB,EAAAA,SAAS,CAAE,MAAM;AAChBkB,IAAAA,QAAQ;AACR,UAAMK,4BAA4B,GAAG7B,UAAU,CAAC8B,gBAAX,CACpC,QADoC,EAEpCN,QAFoC,CAArC;AAKA,WAAO,MAAM;AACZK,MAAAA,4BAA4B,CAACE,MAA7B;AACA,KAFD;AAGA,GAVQ,EAUN,EAVM,CAAT;AAYA,QAAMC,UAAU,GAAGxB,4BAA4B,CAC9CC,MAAM,CAACU,KADuC,EAE9CV,MAAM,CAACwB,SAFuC,CAA/C;;AAKA,QAAMC,cAAc,GAAG,MAAM;AAC5Bb,IAAAA,OAAO,CAACc,QAAR,CAAkB,CAAlB;AACAlC,IAAAA,QAAQ,CAACmC,MAAT,CAAiBf,OAAjB,EAA0B;AACzBgB,MAAAA,OAAO,EAAE,CADgB;AAEzBC,MAAAA,QAAQ,EAAE,GAFe;AAGzBC,MAAAA,eAAe,EAAE,IAHQ;AAIzBC,MAAAA,MAAM,EAAEtC,MAAM,CAACuC;AAJU,KAA1B,EAKIC,KALJ;AAMA,GARD;;AAUA,QAAMC,iBAAiB,GAAGnC,4BAA4B,CACrDC,MAAM,CAACmC,YAD8C,EAErDnC,MAAM,CAACoC,gBAF8C,CAAtD;;AAKA,QAAMC,UAAU,GAAKC,aAAF,IAClBA,aAAa,CAACC,GAAd,CAAmB,CAAEC,YAAF,EAAgBC,KAAhB,KAA2B;AAC7C,WACC,cAAC,QAAD,CAAU,IAAV;AACC,MAAA,KAAK,EAAG,CAAED,YAAF,EAAgB;AAAE5B,QAAAA;AAAF,OAAhB,EAA6BZ,MAAM,CAAEW,IAAF,CAAnC,CADT;AAEC,MAAA,GAAG,EAAG8B;AAFP,MADD;AAMA,GAPD,CADD;;AAUA,SACC,cAAC,wBAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfrC,MAAAA,OAAO;AACPqB,MAAAA,cAAc;AACd;AAJF,KAMC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAG,CAAEzB,MAAM,CAAC0C,SAAT,EAAoB;AAAEC,MAAAA,KAAK,EAAEnC;AAAT,KAApB;AAAd,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGR,MAAM,CAAC4C;AAArB,KACGvC,QAAQ,IACTgC,UAAU,CAAE,CAAErC,MAAM,CAAC6C,OAAT,EAAkBX,iBAAlB,CAAF,CAFZ,EAGC,cAAC,KAAD;AACC,IAAA,KAAK,EAAG,CAAElC,MAAM,CAAC8C,KAAT,EAAgB9C,MAAM,CAAEW,IAAF,CAAtB,CADT;AAEC,IAAA,MAAM,EAAG;AAAEoC,MAAAA,GAAG,EAAExC;AAAP;AAFV,IAHD,CADD,EASC,cAAC,IAAD;AACC,IAAA,KAAK,EAAG,CAAEgB,UAAF,EAAclB,QAAQ,IAAIL,MAAM,CAACgD,aAAjC;AADT,KAGGtC,KAHH,CATD,CAND,CADD;AAwBA;;AAED,eAAeP,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tDimensions,\n\tAnimated,\n\tEasing,\n\tImage,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { BottomSheet } from '@wordpress/components';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst MAX_ITEM_WIDTH = 120;\nconst HALF_COLUMN = 0.5;\n\nfunction StylePreview( { onPress, isActive, style, url } ) {\n\tconst [ itemWidth, setItemWidth ] = useState( MAX_ITEM_WIDTH );\n\tconst { label, name } = style;\n\tconst opacity = useRef( new Animated.Value( 1 ) ).current;\n\n\tfunction onLayout() {\n\t\tconst columnsNum =\n\t\t\t// To indicate scroll availabilty, there is a need to display additional half the column.\n\t\t\tMath.floor( BottomSheet.getWidth() / MAX_ITEM_WIDTH ) + HALF_COLUMN;\n\t\tsetItemWidth( BottomSheet.getWidth() / columnsNum );\n\t}\n\n\tuseEffect( () => {\n\t\tonLayout();\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonLayout\n\t\t);\n\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.label,\n\t\tstyles.labelDark\n\t);\n\n\tconst animateOutline = () => {\n\t\topacity.setValue( 0 );\n\t\tAnimated.timing( opacity, {\n\t\t\ttoValue: 1,\n\t\t\tduration: 100,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.linear,\n\t\t} ).start();\n\t};\n\n\tconst innerOutlineStyle = usePreferredColorSchemeStyle(\n\t\tstyles.innerOutline,\n\t\tstyles.innerOutlineDark\n\t);\n\n\tconst getOutline = ( outlineStyles ) =>\n\t\toutlineStyles.map( ( outlineStyle, index ) => {\n\t\t\treturn (\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ outlineStyle, { opacity }, styles[ name ] ] }\n\t\t\t\t\tkey={ index }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ () => {\n\t\t\t\tonPress();\n\t\t\t\tanimateOutline();\n\t\t\t} }\n\t\t>\n\t\t\t<View style={ [ styles.container, { width: itemWidth } ] }>\n\t\t\t\t<View style={ styles.imageWrapper }>\n\t\t\t\t\t{ isActive &&\n\t\t\t\t\t\tgetOutline( [ styles.outline, innerOutlineStyle ] ) }\n\t\t\t\t\t<Image\n\t\t\t\t\t\tstyle={ [ styles.image, styles[ name ] ] }\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ [ labelStyle, isActive && styles.labelSelected ] }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n\nexport default StylePreview;\n"]}
@@ -136,7 +136,8 @@ export const BlockSwitcherDropdownMenu = _ref => {
136
136
  }), (isReusable || isTemplate) && createElement("span", {
137
137
  className: "block-editor-block-switcher__toggle-text"
138
138
  }, createElement(BlockTitle, {
139
- clientId: clientIds
139
+ clientId: clientIds,
140
+ maximumLength: 35
140
141
  }))),
141
142
  toggleProps: {
142
143
  describedBy: blockSwitcherDescription,