@wordpress/block-editor 8.0.0 → 8.0.4

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 (1139) hide show
  1. package/build/components/alignment-control/ui.js +11 -9
  2. package/build/components/alignment-control/ui.js.map +1 -1
  3. package/build/components/autocomplete/index.js +5 -4
  4. package/build/components/autocomplete/index.js.map +1 -1
  5. package/build/components/block-actions/index.js +12 -8
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.js +21 -17
  8. package/build/components/block-alignment-control/ui.js.map +1 -1
  9. package/build/components/block-alignment-control/use-available-alignments.js +9 -4
  10. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  11. package/build/components/block-alignment-matrix-control/index.js +6 -4
  12. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  13. package/build/components/block-breadcrumb/index.js +4 -3
  14. package/build/components/block-breadcrumb/index.js.map +1 -1
  15. package/build/components/block-caption/index.native.js +34 -29
  16. package/build/components/block-caption/index.native.js.map +1 -1
  17. package/build/components/block-card/index.js +8 -6
  18. package/build/components/block-card/index.js.map +1 -1
  19. package/build/components/block-compare/block-view.js +9 -8
  20. package/build/components/block-compare/block-view.js.map +1 -1
  21. package/build/components/block-compare/index.js +9 -7
  22. package/build/components/block-compare/index.js.map +1 -1
  23. package/build/components/block-content-overlay/index.js +7 -6
  24. package/build/components/block-content-overlay/index.js.map +1 -1
  25. package/build/components/block-context/index.js +5 -4
  26. package/build/components/block-context/index.js.map +1 -1
  27. package/build/components/block-controls/fill.js +7 -6
  28. package/build/components/block-controls/fill.js.map +1 -1
  29. package/build/components/block-controls/slot.js +5 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +5 -4
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-draggable/draggable-chip.js +5 -4
  34. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  35. package/build/components/block-draggable/index.js +13 -11
  36. package/build/components/block-draggable/index.js.map +1 -1
  37. package/build/components/block-edit/context.js +1 -1
  38. package/build/components/block-full-height-alignment-control/index.js +7 -6
  39. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  40. package/build/components/block-icon/index.js +7 -5
  41. package/build/components/block-icon/index.js.map +1 -1
  42. package/build/components/block-icon/index.native.js +8 -6
  43. package/build/components/block-icon/index.native.js.map +1 -1
  44. package/build/components/block-inspector/index.js +20 -15
  45. package/build/components/block-inspector/index.js.map +1 -1
  46. package/build/components/block-list/block-html.js +4 -3
  47. package/build/components/block-list/block-html.js.map +1 -1
  48. package/build/components/block-list/block-invalid-warning.js +28 -20
  49. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  50. package/build/components/block-list/block-invalid-warning.native.js +5 -4
  51. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  52. package/build/components/block-list/block-list-item.native.js +6 -5
  53. package/build/components/block-list/block-list-item.native.js.map +1 -1
  54. package/build/components/block-list/block-selection-button.native.js +11 -9
  55. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  56. package/build/components/block-list/block.js +40 -33
  57. package/build/components/block-list/block.js.map +1 -1
  58. package/build/components/block-list/block.native.js +35 -29
  59. package/build/components/block-list/block.native.js.map +1 -1
  60. package/build/components/block-list/index.js +14 -12
  61. package/build/components/block-list/index.js.map +1 -1
  62. package/build/components/block-list/index.native.js +22 -17
  63. package/build/components/block-list/index.native.js.map +1 -1
  64. package/build/components/block-list/insertion-point.native.js +4 -3
  65. package/build/components/block-list/insertion-point.native.js.map +1 -1
  66. package/build/components/block-list/layout.js +8 -6
  67. package/build/components/block-list/layout.js.map +1 -1
  68. package/build/components/block-list/subdirectory-icon.js +13 -10
  69. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  70. package/build/components/block-list/use-block-props/index.js +5 -3
  71. package/build/components/block-list/use-block-props/index.js.map +1 -1
  72. package/build/components/block-list/use-block-props/index.native.js +2 -1
  73. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  74. package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
  75. package/build/components/block-list/use-block-props/use-multi-selection.js +9 -6
  76. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  77. package/build/components/block-list-appender/index.js +16 -13
  78. package/build/components/block-list-appender/index.js.map +1 -1
  79. package/build/components/block-list-appender/index.native.js +14 -11
  80. package/build/components/block-list-appender/index.native.js.map +1 -1
  81. package/build/components/block-media-update-progress/index.native.js +1 -1
  82. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  83. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  84. package/build/components/block-mobile-toolbar/index.js +4 -3
  85. package/build/components/block-mobile-toolbar/index.js.map +1 -1
  86. package/build/components/block-mobile-toolbar/index.native.js +33 -25
  87. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  88. package/build/components/block-mover/button.js +8 -7
  89. package/build/components/block-mover/button.js.map +1 -1
  90. package/build/components/block-mover/index.js +15 -13
  91. package/build/components/block-mover/index.js.map +1 -1
  92. package/build/components/block-mover/index.native.js +23 -20
  93. package/build/components/block-mover/index.native.js.map +1 -1
  94. package/build/components/block-mover/mover-description.native.js +10 -7
  95. package/build/components/block-mover/mover-description.native.js.map +1 -1
  96. package/build/components/block-navigation/dropdown.js +26 -21
  97. package/build/components/block-navigation/dropdown.js.map +1 -1
  98. package/build/components/block-pattern-setup/index.js +26 -22
  99. package/build/components/block-pattern-setup/index.js.map +1 -1
  100. package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
  101. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  102. package/build/components/block-patterns-list/index.js +44 -39
  103. package/build/components/block-patterns-list/index.js.map +1 -1
  104. package/build/components/block-preview/auto.js +5 -4
  105. package/build/components/block-preview/auto.js.map +1 -1
  106. package/build/components/block-preview/index.js +8 -7
  107. package/build/components/block-preview/index.js.map +1 -1
  108. package/build/components/block-preview/live.js +4 -3
  109. package/build/components/block-preview/live.js.map +1 -1
  110. package/build/components/block-selection-clearer/index.js +1 -1
  111. package/build/components/block-settings/button.native.js +10 -7
  112. package/build/components/block-settings/button.native.js.map +1 -1
  113. package/build/components/block-settings/container.native.js +7 -6
  114. package/build/components/block-settings/container.native.js.map +1 -1
  115. package/build/components/block-settings/index.native.js +4 -2
  116. package/build/components/block-settings/index.native.js.map +1 -1
  117. package/build/components/block-settings-menu/block-convert-button.js +7 -5
  118. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  119. package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
  120. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  121. package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
  122. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  123. package/build/components/block-settings-menu/block-settings-dropdown.js +74 -66
  124. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  125. package/build/components/block-settings-menu/index.js +5 -4
  126. package/build/components/block-settings-menu/index.js.map +1 -1
  127. package/build/components/block-settings-menu-controls/index.js +8 -6
  128. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  129. package/build/components/block-styles/index.js +20 -17
  130. package/build/components/block-styles/index.js.map +1 -1
  131. package/build/components/block-styles/index.native.js +6 -4
  132. package/build/components/block-styles/index.native.js.map +1 -1
  133. package/build/components/block-styles/preview.native.js +7 -6
  134. package/build/components/block-styles/preview.native.js.map +1 -1
  135. package/build/components/block-switcher/block-styles-menu.js +5 -4
  136. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  137. package/build/components/block-switcher/block-transformations-menu.js +7 -6
  138. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  139. package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
  140. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  141. package/build/components/block-switcher/index.js +42 -34
  142. package/build/components/block-switcher/index.js.map +1 -1
  143. package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
  144. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  145. package/build/components/block-switcher/preview-block-popover.js +4 -3
  146. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  147. package/build/components/block-switcher/use-transformed-patterns.js +1 -1
  148. package/build/components/block-switcher/utils.js +2 -1
  149. package/build/components/block-switcher/utils.js.map +1 -1
  150. package/build/components/block-title/index.js +4 -3
  151. package/build/components/block-title/index.js.map +1 -1
  152. package/build/components/block-toolbar/index.js +4 -3
  153. package/build/components/block-toolbar/index.js.map +1 -1
  154. package/build/components/block-toolbar/utils.js +13 -11
  155. package/build/components/block-toolbar/utils.js.map +1 -1
  156. package/build/components/block-tools/back-compat.js +8 -5
  157. package/build/components/block-tools/back-compat.js.map +1 -1
  158. package/build/components/block-tools/block-contextual-toolbar.js +6 -5
  159. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  160. package/build/components/block-tools/block-popover.js +15 -13
  161. package/build/components/block-tools/block-popover.js.map +1 -1
  162. package/build/components/block-tools/block-selection-button.js +6 -5
  163. package/build/components/block-tools/block-selection-button.js.map +1 -1
  164. package/build/components/block-tools/index.js +6 -5
  165. package/build/components/block-tools/index.js.map +1 -1
  166. package/build/components/block-tools/insertion-point.js +12 -10
  167. package/build/components/block-tools/insertion-point.js.map +1 -1
  168. package/build/components/block-types-list/index.js +9 -8
  169. package/build/components/block-types-list/index.js.map +1 -1
  170. package/build/components/block-types-list/index.native.js +19 -15
  171. package/build/components/block-types-list/index.native.js.map +1 -1
  172. package/build/components/block-variation-picker/index.js +9 -8
  173. package/build/components/block-variation-picker/index.js.map +1 -1
  174. package/build/components/block-variation-picker/index.native.js +9 -7
  175. package/build/components/block-variation-picker/index.native.js.map +1 -1
  176. package/build/components/block-variation-transforms/index.js +22 -15
  177. package/build/components/block-variation-transforms/index.js.map +1 -1
  178. package/build/components/block-vertical-alignment-control/ui.js +9 -7
  179. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  180. package/build/components/border-radius-control/all-input-control.js +6 -5
  181. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  182. package/build/components/border-radius-control/index.js +5 -4
  183. package/build/components/border-radius-control/index.js.map +1 -1
  184. package/build/components/border-radius-control/input-controls.js +16 -11
  185. package/build/components/border-radius-control/input-controls.js.map +1 -1
  186. package/build/components/border-radius-control/linked-button.js +5 -4
  187. package/build/components/border-radius-control/linked-button.js.map +1 -1
  188. package/build/components/border-radius-control/utils.js +10 -5
  189. package/build/components/border-radius-control/utils.js.map +1 -1
  190. package/build/components/border-style-control/index.js +5 -4
  191. package/build/components/border-style-control/index.js.map +1 -1
  192. package/build/components/button-block-appender/index.js +15 -13
  193. package/build/components/button-block-appender/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.native.js +28 -24
  195. package/build/components/button-block-appender/index.native.js.map +1 -1
  196. package/build/components/caption/index.native.js +44 -41
  197. package/build/components/caption/index.native.js.map +1 -1
  198. package/build/components/color-palette/control.js +6 -5
  199. package/build/components/color-palette/control.js.map +1 -1
  200. package/build/components/color-style-selector/index.js +43 -34
  201. package/build/components/color-style-selector/index.js.map +1 -1
  202. package/build/components/colors/color-panel.js +21 -18
  203. package/build/components/colors/color-panel.js.map +1 -1
  204. package/build/components/colors/index.js +10 -8
  205. package/build/components/colors/index.js.map +1 -1
  206. package/build/components/colors/utils.js +7 -4
  207. package/build/components/colors/utils.js.map +1 -1
  208. package/build/components/colors/with-colors.js +17 -6
  209. package/build/components/colors/with-colors.js.map +1 -1
  210. package/build/components/colors-gradients/control.js +16 -15
  211. package/build/components/colors-gradients/control.js.map +1 -1
  212. package/build/components/colors-gradients/panel-color-gradient-settings.js +56 -49
  213. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  214. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  215. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  216. package/build/components/contrast-checker/index.js +18 -15
  217. package/build/components/contrast-checker/index.js.map +1 -1
  218. package/build/components/convert-to-group-buttons/index.js +9 -8
  219. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  220. package/build/components/copy-handler/index.js +6 -5
  221. package/build/components/copy-handler/index.js.map +1 -1
  222. package/build/components/default-block-appender/index.js +10 -8
  223. package/build/components/default-block-appender/index.js.map +1 -1
  224. package/build/components/default-block-appender/index.native.js +10 -8
  225. package/build/components/default-block-appender/index.native.js.map +1 -1
  226. package/build/components/default-style-picker/index.js +14 -10
  227. package/build/components/default-style-picker/index.js.map +1 -1
  228. package/build/components/duotone-control/index.js +15 -12
  229. package/build/components/duotone-control/index.js.map +1 -1
  230. package/build/components/editable-text/index.js +6 -5
  231. package/build/components/editable-text/index.js.map +1 -1
  232. package/build/components/editor-styles/index.js +4 -3
  233. package/build/components/editor-styles/index.js.map +1 -1
  234. package/build/components/floating-toolbar/index.native.js +8 -7
  235. package/build/components/floating-toolbar/index.native.js.map +1 -1
  236. package/build/components/font-appearance-control/index.js +26 -19
  237. package/build/components/font-appearance-control/index.js.map +1 -1
  238. package/build/components/font-family/index.js +12 -10
  239. package/build/components/font-family/index.js.map +1 -1
  240. package/build/components/font-sizes/index.js +6 -6
  241. package/build/components/font-sizes/index.native.js +6 -6
  242. package/build/components/font-sizes/utils.js +2 -2
  243. package/build/components/font-sizes/with-font-sizes.js +11 -5
  244. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  245. package/build/components/gradients/use-gradient.js +7 -6
  246. package/build/components/gradients/use-gradient.js.map +1 -1
  247. package/build/components/iframe/index.js +28 -22
  248. package/build/components/iframe/index.js.map +1 -1
  249. package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
  250. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  251. package/build/components/image-editor/constants.js +1 -1
  252. package/build/components/image-editor/context.js +11 -10
  253. package/build/components/image-editor/context.js.map +1 -1
  254. package/build/components/image-editor/cropper.js +9 -8
  255. package/build/components/image-editor/cropper.js.map +1 -1
  256. package/build/components/image-editor/index.js +10 -9
  257. package/build/components/image-editor/index.js.map +1 -1
  258. package/build/components/image-editor/use-save-image.js +12 -11
  259. package/build/components/image-editor/use-save-image.js.map +1 -1
  260. package/build/components/image-editor/use-transform-image.js +6 -5
  261. package/build/components/image-editor/use-transform-image.js.map +1 -1
  262. package/build/components/image-editor/zoom-dropdown.js +13 -10
  263. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  264. package/build/components/image-size-control/index.js +12 -11
  265. package/build/components/image-size-control/index.js.map +1 -1
  266. package/build/components/index.js +210 -208
  267. package/build/components/index.js.map +1 -1
  268. package/build/components/index.native.js +112 -110
  269. package/build/components/index.native.js.map +1 -1
  270. package/build/components/inner-blocks/button-block-appender.js +8 -7
  271. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  272. package/build/components/inner-blocks/default-block-appender.js +9 -7
  273. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  274. package/build/components/inner-blocks/index.js +4 -2
  275. package/build/components/inner-blocks/index.js.map +1 -1
  276. package/build/components/inner-blocks/index.native.js +4 -2
  277. package/build/components/inner-blocks/index.native.js.map +1 -1
  278. package/build/components/inserter/block-patterns-explorer/explorer.js +10 -8
  279. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/patterns-list.js +12 -9
  281. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  282. package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -20
  283. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  284. package/build/components/inserter/block-patterns-tab.js +26 -20
  285. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  286. package/build/components/inserter/block-types-tab.js +9 -7
  287. package/build/components/inserter/block-types-tab.js.map +1 -1
  288. package/build/components/inserter/block-types-tab.native.js +9 -8
  289. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  290. package/build/components/inserter/hooks/use-block-type-impressions.native.js +5 -3
  291. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  292. package/build/components/inserter/hooks/use-block-types-state.js +6 -5
  293. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  294. package/build/components/inserter/hooks/use-insertion-point.js +11 -9
  295. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  296. package/build/components/inserter/index.js +36 -28
  297. package/build/components/inserter/index.js.map +1 -1
  298. package/build/components/inserter/index.native.js +46 -37
  299. package/build/components/inserter/index.native.js.map +1 -1
  300. package/build/components/inserter/library.js +12 -11
  301. package/build/components/inserter/library.js.map +1 -1
  302. package/build/components/inserter/menu.js +12 -11
  303. package/build/components/inserter/menu.js.map +1 -1
  304. package/build/components/inserter/menu.native.js +31 -27
  305. package/build/components/inserter/menu.native.js.map +1 -1
  306. package/build/components/inserter/panel.js +6 -5
  307. package/build/components/inserter/panel.js.map +1 -1
  308. package/build/components/inserter/pattern-panel.js +7 -6
  309. package/build/components/inserter/pattern-panel.js.map +1 -1
  310. package/build/components/inserter/preview-panel.js +4 -3
  311. package/build/components/inserter/preview-panel.js.map +1 -1
  312. package/build/components/inserter/quick-inserter.js +7 -6
  313. package/build/components/inserter/quick-inserter.js.map +1 -1
  314. package/build/components/inserter/reusable-blocks-tab.js +18 -13
  315. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  316. package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
  317. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  318. package/build/components/inserter/search-items.js +23 -7
  319. package/build/components/inserter/search-items.js.map +1 -1
  320. package/build/components/inserter/search-results.js +15 -14
  321. package/build/components/inserter/search-results.js.map +1 -1
  322. package/build/components/inserter/search-results.native.js +11 -10
  323. package/build/components/inserter/search-results.native.js.map +1 -1
  324. package/build/components/inserter/tabs.js +7 -6
  325. package/build/components/inserter/tabs.js.map +1 -1
  326. package/build/components/inserter/tabs.native.js +55 -37
  327. package/build/components/inserter/tabs.native.js.map +1 -1
  328. package/build/components/inserter/utils.native.js +10 -8
  329. package/build/components/inserter/utils.native.js.map +1 -1
  330. package/build/components/inserter-draggable-blocks/index.js +12 -10
  331. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  332. package/build/components/inserter-list-item/index.js +79 -73
  333. package/build/components/inserter-list-item/index.js.map +1 -1
  334. package/build/components/inserter-listbox/index.js +8 -7
  335. package/build/components/inserter-listbox/index.js.map +1 -1
  336. package/build/components/inserter-listbox/item.js +7 -6
  337. package/build/components/inserter-listbox/item.js.map +1 -1
  338. package/build/components/inspector-controls/block-support-slot-container.js +5 -4
  339. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  340. package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
  341. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  342. package/build/components/inspector-controls/fill.js +5 -4
  343. package/build/components/inspector-controls/fill.js.map +1 -1
  344. package/build/components/inspector-controls/fill.native.js +6 -5
  345. package/build/components/inspector-controls/fill.native.js.map +1 -1
  346. package/build/components/inspector-controls/slot.js +7 -6
  347. package/build/components/inspector-controls/slot.js.map +1 -1
  348. package/build/components/inspector-controls/slot.native.js +5 -4
  349. package/build/components/inspector-controls/slot.native.js.map +1 -1
  350. package/build/components/justify-content-control/ui.js +10 -8
  351. package/build/components/justify-content-control/ui.js.map +1 -1
  352. package/build/components/letter-spacing-control/index.js +6 -5
  353. package/build/components/letter-spacing-control/index.js.map +1 -1
  354. package/build/components/line-height-control/index.js +5 -4
  355. package/build/components/line-height-control/index.js.map +1 -1
  356. package/build/components/line-height-control/index.native.js +5 -4
  357. package/build/components/line-height-control/index.native.js.map +1 -1
  358. package/build/components/line-height-control/utils.js +1 -1
  359. package/build/components/link-control/index.js +25 -23
  360. package/build/components/link-control/index.js.map +1 -1
  361. package/build/components/link-control/link-preview.js +8 -7
  362. package/build/components/link-control/link-preview.js.map +1 -1
  363. package/build/components/link-control/search-create-button.js +9 -7
  364. package/build/components/link-control/search-create-button.js.map +1 -1
  365. package/build/components/link-control/search-input.js +21 -20
  366. package/build/components/link-control/search-input.js.map +1 -1
  367. package/build/components/link-control/search-item.js +10 -9
  368. package/build/components/link-control/search-item.js.map +1 -1
  369. package/build/components/link-control/search-results.js +15 -14
  370. package/build/components/link-control/search-results.js.map +1 -1
  371. package/build/components/link-control/settings-drawer.js +7 -5
  372. package/build/components/link-control/settings-drawer.js.map +1 -1
  373. package/build/components/link-control/use-search-handler.js +5 -4
  374. package/build/components/link-control/use-search-handler.js.map +1 -1
  375. package/build/components/link-control/viewer-slot.js +1 -1
  376. package/build/components/list-view/appender.js +27 -23
  377. package/build/components/list-view/appender.js.map +1 -1
  378. package/build/components/list-view/block-contents.js +32 -28
  379. package/build/components/list-view/block-contents.js.map +1 -1
  380. package/build/components/list-view/block-select-button.js +18 -17
  381. package/build/components/list-view/block-select-button.js.map +1 -1
  382. package/build/components/list-view/block.js +79 -66
  383. package/build/components/list-view/block.js.map +1 -1
  384. package/build/components/list-view/drop-indicator.js +5 -4
  385. package/build/components/list-view/drop-indicator.js.map +1 -1
  386. package/build/components/list-view/expander.js +4 -3
  387. package/build/components/list-view/expander.js.map +1 -1
  388. package/build/components/list-view/index.js +11 -10
  389. package/build/components/list-view/index.js.map +1 -1
  390. package/build/components/list-view/leaf.js +11 -10
  391. package/build/components/list-view/leaf.js.map +1 -1
  392. package/build/components/list-view/list-item.js +8 -7
  393. package/build/components/list-view/list-item.js.map +1 -1
  394. package/build/components/media-placeholder/index.js +86 -68
  395. package/build/components/media-placeholder/index.js.map +1 -1
  396. package/build/components/media-placeholder/index.native.js +5 -4
  397. package/build/components/media-placeholder/index.native.js.map +1 -1
  398. package/build/components/media-replace-flow/index.js +85 -72
  399. package/build/components/media-replace-flow/index.js.map +1 -1
  400. package/build/components/media-upload/check.js +5 -4
  401. package/build/components/media-upload/check.js.map +1 -1
  402. package/build/components/media-upload/index.native.js +1 -1
  403. package/build/components/media-upload-progress/index.native.js +1 -1
  404. package/build/components/multi-selection-inspector/index.js +4 -3
  405. package/build/components/multi-selection-inspector/index.js.map +1 -1
  406. package/build/components/navigable-toolbar/index.js +8 -7
  407. package/build/components/navigable-toolbar/index.js.map +1 -1
  408. package/build/components/observe-typing/index.js +5 -4
  409. package/build/components/observe-typing/index.js.map +1 -1
  410. package/build/components/panel-color-settings/index.js +16 -12
  411. package/build/components/panel-color-settings/index.js.map +1 -1
  412. package/build/components/plain-text/index.js +6 -4
  413. package/build/components/plain-text/index.js.map +1 -1
  414. package/build/components/preview-options/index.js +8 -7
  415. package/build/components/preview-options/index.js.map +1 -1
  416. package/build/components/provider/block-refs-provider.js +5 -4
  417. package/build/components/provider/block-refs-provider.js.map +1 -1
  418. package/build/components/provider/use-block-sync.js +8 -7
  419. package/build/components/provider/use-block-sync.js.map +1 -1
  420. package/build/components/provider/with-registry-provider.js +7 -5
  421. package/build/components/provider/with-registry-provider.js.map +1 -1
  422. package/build/components/responsive-block-control/label.js +6 -5
  423. package/build/components/responsive-block-control/label.js.map +1 -1
  424. package/build/components/rich-text/embed-handler-picker.native.js +7 -5
  425. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  426. package/build/components/rich-text/file-paste-handler.js +6 -3
  427. package/build/components/rich-text/file-paste-handler.js.map +1 -1
  428. package/build/components/rich-text/format-edit.js +8 -7
  429. package/build/components/rich-text/format-edit.js.map +1 -1
  430. package/build/components/rich-text/format-toolbar/index.js +18 -9
  431. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  432. package/build/components/rich-text/format-toolbar-container.js +6 -4
  433. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  434. package/build/components/rich-text/index.js +45 -41
  435. package/build/components/rich-text/index.js.map +1 -1
  436. package/build/components/rich-text/index.native.js +145 -122
  437. package/build/components/rich-text/index.native.js.map +1 -1
  438. package/build/components/rich-text/input-event.js +5 -4
  439. package/build/components/rich-text/input-event.js.map +1 -1
  440. package/build/components/rich-text/shortcut.js +6 -5
  441. package/build/components/rich-text/shortcut.js.map +1 -1
  442. package/build/components/rich-text/split-value.js +10 -8
  443. package/build/components/rich-text/split-value.js.map +1 -1
  444. package/build/components/rich-text/toolbar-button.js +7 -6
  445. package/build/components/rich-text/toolbar-button.js.map +1 -1
  446. package/build/components/rich-text/use-caret-in-format.js +4 -3
  447. package/build/components/rich-text/use-caret-in-format.js.map +1 -1
  448. package/build/components/rich-text/use-enter.js +6 -3
  449. package/build/components/rich-text/use-enter.js.map +1 -1
  450. package/build/components/rich-text/use-format-types.js +13 -10
  451. package/build/components/rich-text/use-format-types.js.map +1 -1
  452. package/build/components/rich-text/use-input-rules.js +15 -9
  453. package/build/components/rich-text/use-input-rules.js.map +1 -1
  454. package/build/components/rich-text/use-mark-persistent.js +5 -4
  455. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  456. package/build/components/rich-text/use-paste-handler.js +28 -4
  457. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  458. package/build/components/rich-text/utils.js +9 -7
  459. package/build/components/rich-text/utils.js.map +1 -1
  460. package/build/components/skip-to-selected-block/index.js +4 -3
  461. package/build/components/skip-to-selected-block/index.js.map +1 -1
  462. package/build/components/text-decoration-control/index.js +5 -4
  463. package/build/components/text-decoration-control/index.js.map +1 -1
  464. package/build/components/text-transform-control/index.js +5 -4
  465. package/build/components/text-transform-control/index.js.map +1 -1
  466. package/build/components/tool-selector/index.js +16 -13
  467. package/build/components/tool-selector/index.js.map +1 -1
  468. package/build/components/typewriter/index.js +10 -7
  469. package/build/components/typewriter/index.js.map +1 -1
  470. package/build/components/ungroup-button/index.native.js +12 -9
  471. package/build/components/ungroup-button/index.native.js.map +1 -1
  472. package/build/components/unit-control/index.js +5 -4
  473. package/build/components/unit-control/index.js.map +1 -1
  474. package/build/components/url-input/index.js +12 -9
  475. package/build/components/url-input/index.js.map +1 -1
  476. package/build/components/url-input/index.native.js +8 -6
  477. package/build/components/url-input/index.native.js.map +1 -1
  478. package/build/components/url-popover/image-url-input-ui.js +12 -11
  479. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  480. package/build/components/url-popover/index.js +9 -8
  481. package/build/components/url-popover/index.js.map +1 -1
  482. package/build/components/url-popover/link-editor.js +8 -7
  483. package/build/components/url-popover/link-editor.js.map +1 -1
  484. package/build/components/url-popover/link-viewer-url.js +6 -5
  485. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  486. package/build/components/url-popover/link-viewer.js +9 -8
  487. package/build/components/url-popover/link-viewer.js.map +1 -1
  488. package/build/components/use-block-drop-zone/index.js +9 -8
  489. package/build/components/use-block-drop-zone/index.js.map +1 -1
  490. package/build/components/use-moving-animation/index.js +17 -13
  491. package/build/components/use-moving-animation/index.js.map +1 -1
  492. package/build/components/use-no-recursive-renders/index.js +10 -6
  493. package/build/components/use-no-recursive-renders/index.js.map +1 -1
  494. package/build/components/use-on-block-drop/index.js +2 -2
  495. package/build/components/use-setting/index.js +1 -1
  496. package/build/components/use-setting/index.js.map +1 -1
  497. package/build/components/warning/index.js +7 -6
  498. package/build/components/warning/index.js.map +1 -1
  499. package/build/components/warning/index.native.js +10 -9
  500. package/build/components/warning/index.native.js.map +1 -1
  501. package/build/components/writing-flow/index.js +6 -5
  502. package/build/components/writing-flow/index.js.map +1 -1
  503. package/build/components/writing-flow/use-arrow-nav.js +2 -2
  504. package/build/hooks/align.js +12 -7
  505. package/build/hooks/align.js.map +1 -1
  506. package/build/hooks/border.js +4 -2
  507. package/build/hooks/border.js.map +1 -1
  508. package/build/hooks/color-panel.js +7 -6
  509. package/build/hooks/color-panel.js.map +1 -1
  510. package/build/hooks/color.js +4 -3
  511. package/build/hooks/color.js.map +1 -1
  512. package/build/hooks/dimensions.js +4 -2
  513. package/build/hooks/dimensions.js.map +1 -1
  514. package/build/hooks/duotone.js +13 -10
  515. package/build/hooks/duotone.js.map +1 -1
  516. package/build/hooks/font-appearance.js +17 -14
  517. package/build/hooks/font-appearance.js.map +1 -1
  518. package/build/hooks/font-family.js +29 -20
  519. package/build/hooks/font-family.js.map +1 -1
  520. package/build/hooks/font-size.js +10 -8
  521. package/build/hooks/font-size.js.map +1 -1
  522. package/build/hooks/gap.js +10 -8
  523. package/build/hooks/gap.js.map +1 -1
  524. package/build/hooks/index.js +14 -14
  525. package/build/hooks/index.native.js +10 -10
  526. package/build/hooks/layout.js +16 -13
  527. package/build/hooks/layout.js.map +1 -1
  528. package/build/hooks/letter-spacing.js +11 -9
  529. package/build/hooks/letter-spacing.js.map +1 -1
  530. package/build/hooks/line-height.js +11 -9
  531. package/build/hooks/line-height.js.map +1 -1
  532. package/build/hooks/margin.js +10 -8
  533. package/build/hooks/margin.js.map +1 -1
  534. package/build/hooks/padding.js +10 -8
  535. package/build/hooks/padding.js.map +1 -1
  536. package/build/hooks/style.js +9 -5
  537. package/build/hooks/style.js.map +1 -1
  538. package/build/hooks/text-decoration.js +11 -9
  539. package/build/hooks/text-decoration.js.map +1 -1
  540. package/build/hooks/text-transform.js +11 -9
  541. package/build/hooks/text-transform.js.map +1 -1
  542. package/build/hooks/typography.js +3 -2
  543. package/build/hooks/typography.js.map +1 -1
  544. package/build/hooks/typography.native.js +3 -2
  545. package/build/hooks/typography.native.js.map +1 -1
  546. package/build/hooks/use-border-props.js +5 -4
  547. package/build/hooks/use-border-props.js.map +1 -1
  548. package/build/index.js +18 -18
  549. package/build/layouts/flex.js +67 -39
  550. package/build/layouts/flex.js.map +1 -1
  551. package/build/layouts/flow.js +10 -8
  552. package/build/layouts/flow.js.map +1 -1
  553. package/build/layouts/index.js +2 -1
  554. package/build/layouts/index.js.map +1 -1
  555. package/build/layouts/utils.js +2 -1
  556. package/build/layouts/utils.js.map +1 -1
  557. package/build/store/actions.js +311 -232
  558. package/build/store/actions.js.map +1 -1
  559. package/build/store/array.js +2 -1
  560. package/build/store/array.js.map +1 -1
  561. package/build/store/index.js +5 -3
  562. package/build/store/index.js.map +1 -1
  563. package/build/store/reducer.js +124 -49
  564. package/build/store/reducer.js.map +1 -1
  565. package/build/store/selectors.js +219 -141
  566. package/build/store/selectors.js.map +1 -1
  567. package/build/utils/block-variation-transforms.js +4 -3
  568. package/build/utils/block-variation-transforms.js.map +1 -1
  569. package/build/utils/dom.js +1 -1
  570. package/build/utils/get-paste-event-data.js +10 -6
  571. package/build/utils/get-paste-event-data.js.map +1 -1
  572. package/build/utils/index.js +4 -4
  573. package/build/utils/math.js +2 -1
  574. package/build/utils/math.js.map +1 -1
  575. package/build/utils/parse-css-unit-to-px.js +6 -3
  576. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  577. package/build/utils/transform-styles/index.js +8 -6
  578. package/build/utils/transform-styles/index.js.map +1 -1
  579. package/build/utils/transform-styles/transforms/wrap.js +31 -28
  580. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  581. package/build-module/components/alignment-control/ui.js +11 -9
  582. package/build-module/components/alignment-control/ui.js.map +1 -1
  583. package/build-module/components/autocomplete/index.js +4 -3
  584. package/build-module/components/autocomplete/index.js.map +1 -1
  585. package/build-module/components/block-actions/index.js +12 -8
  586. package/build-module/components/block-actions/index.js.map +1 -1
  587. package/build-module/components/block-alignment-control/ui.js +21 -17
  588. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  589. package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
  590. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  591. package/build-module/components/block-alignment-matrix-control/index.js +6 -4
  592. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  593. package/build-module/components/block-breadcrumb/index.js +4 -3
  594. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  595. package/build-module/components/block-caption/index.native.js +34 -29
  596. package/build-module/components/block-caption/index.native.js.map +1 -1
  597. package/build-module/components/block-card/index.js +8 -6
  598. package/build-module/components/block-card/index.js.map +1 -1
  599. package/build-module/components/block-compare/block-view.js +9 -8
  600. package/build-module/components/block-compare/block-view.js.map +1 -1
  601. package/build-module/components/block-compare/index.js +9 -7
  602. package/build-module/components/block-compare/index.js.map +1 -1
  603. package/build-module/components/block-content-overlay/index.js +7 -6
  604. package/build-module/components/block-content-overlay/index.js.map +1 -1
  605. package/build-module/components/block-context/index.js +5 -4
  606. package/build-module/components/block-context/index.js.map +1 -1
  607. package/build-module/components/block-controls/fill.js +7 -6
  608. package/build-module/components/block-controls/fill.js.map +1 -1
  609. package/build-module/components/block-controls/slot.js +5 -4
  610. package/build-module/components/block-controls/slot.js.map +1 -1
  611. package/build-module/components/block-controls/slot.native.js +5 -4
  612. package/build-module/components/block-controls/slot.native.js.map +1 -1
  613. package/build-module/components/block-draggable/draggable-chip.js +5 -4
  614. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  615. package/build-module/components/block-draggable/index.js +13 -11
  616. package/build-module/components/block-draggable/index.js.map +1 -1
  617. package/build-module/components/block-full-height-alignment-control/index.js +7 -6
  618. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  619. package/build-module/components/block-icon/index.js +7 -5
  620. package/build-module/components/block-icon/index.js.map +1 -1
  621. package/build-module/components/block-icon/index.native.js +8 -6
  622. package/build-module/components/block-icon/index.native.js.map +1 -1
  623. package/build-module/components/block-inspector/index.js +16 -13
  624. package/build-module/components/block-inspector/index.js.map +1 -1
  625. package/build-module/components/block-list/block-html.js +4 -3
  626. package/build-module/components/block-list/block-html.js.map +1 -1
  627. package/build-module/components/block-list/block-invalid-warning.js +27 -19
  628. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  629. package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
  630. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  631. package/build-module/components/block-list/block-list-item.native.js +6 -5
  632. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  633. package/build-module/components/block-list/block-selection-button.native.js +11 -9
  634. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  635. package/build-module/components/block-list/block.js +40 -33
  636. package/build-module/components/block-list/block.js.map +1 -1
  637. package/build-module/components/block-list/block.native.js +35 -29
  638. package/build-module/components/block-list/block.native.js.map +1 -1
  639. package/build-module/components/block-list/index.js +13 -11
  640. package/build-module/components/block-list/index.js.map +1 -1
  641. package/build-module/components/block-list/index.native.js +21 -16
  642. package/build-module/components/block-list/index.native.js.map +1 -1
  643. package/build-module/components/block-list/insertion-point.native.js +4 -3
  644. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  645. package/build-module/components/block-list/layout.js +5 -4
  646. package/build-module/components/block-list/layout.js.map +1 -1
  647. package/build-module/components/block-list/subdirectory-icon.js +13 -10
  648. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  649. package/build-module/components/block-list/use-block-props/index.js +5 -3
  650. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  651. package/build-module/components/block-list/use-block-props/index.native.js +2 -1
  652. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  653. package/build-module/components/block-list/use-block-props/use-multi-selection.js +9 -6
  654. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  655. package/build-module/components/block-list-appender/index.js +16 -13
  656. package/build-module/components/block-list-appender/index.js.map +1 -1
  657. package/build-module/components/block-list-appender/index.native.js +14 -11
  658. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  659. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  660. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  661. package/build-module/components/block-mobile-toolbar/index.js +4 -3
  662. package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
  663. package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
  664. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  665. package/build-module/components/block-mover/button.js +7 -6
  666. package/build-module/components/block-mover/button.js.map +1 -1
  667. package/build-module/components/block-mover/index.js +15 -13
  668. package/build-module/components/block-mover/index.js.map +1 -1
  669. package/build-module/components/block-mover/index.native.js +22 -19
  670. package/build-module/components/block-mover/index.native.js.map +1 -1
  671. package/build-module/components/block-mover/mover-description.native.js +10 -7
  672. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  673. package/build-module/components/block-navigation/dropdown.js +26 -21
  674. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  675. package/build-module/components/block-pattern-setup/index.js +26 -22
  676. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  677. package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
  678. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  679. package/build-module/components/block-patterns-list/index.js +44 -39
  680. package/build-module/components/block-patterns-list/index.js.map +1 -1
  681. package/build-module/components/block-preview/auto.js +5 -4
  682. package/build-module/components/block-preview/auto.js.map +1 -1
  683. package/build-module/components/block-preview/index.js +8 -7
  684. package/build-module/components/block-preview/index.js.map +1 -1
  685. package/build-module/components/block-preview/live.js +4 -3
  686. package/build-module/components/block-preview/live.js.map +1 -1
  687. package/build-module/components/block-settings/button.native.js +10 -7
  688. package/build-module/components/block-settings/button.native.js.map +1 -1
  689. package/build-module/components/block-settings/container.native.js +7 -6
  690. package/build-module/components/block-settings/container.native.js.map +1 -1
  691. package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
  692. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  693. package/build-module/components/block-settings-menu/block-html-convert-button.js +14 -10
  694. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  695. package/build-module/components/block-settings-menu/block-mode-toggle.js +25 -19
  696. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  697. package/build-module/components/block-settings-menu/block-settings-dropdown.js +74 -66
  698. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  699. package/build-module/components/block-settings-menu/index.js +5 -4
  700. package/build-module/components/block-settings-menu/index.js.map +1 -1
  701. package/build-module/components/block-settings-menu-controls/index.js +8 -6
  702. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  703. package/build-module/components/block-styles/index.js +20 -17
  704. package/build-module/components/block-styles/index.js.map +1 -1
  705. package/build-module/components/block-styles/index.native.js +6 -4
  706. package/build-module/components/block-styles/index.native.js.map +1 -1
  707. package/build-module/components/block-styles/preview.native.js +7 -6
  708. package/build-module/components/block-styles/preview.native.js.map +1 -1
  709. package/build-module/components/block-switcher/block-styles-menu.js +5 -4
  710. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  711. package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
  712. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  713. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -8
  714. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  715. package/build-module/components/block-switcher/index.js +41 -33
  716. package/build-module/components/block-switcher/index.js.map +1 -1
  717. package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
  718. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  719. package/build-module/components/block-switcher/preview-block-popover.js +4 -3
  720. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  721. package/build-module/components/block-switcher/utils.js +2 -1
  722. package/build-module/components/block-switcher/utils.js.map +1 -1
  723. package/build-module/components/block-title/index.js +4 -3
  724. package/build-module/components/block-title/index.js.map +1 -1
  725. package/build-module/components/block-toolbar/index.js +4 -3
  726. package/build-module/components/block-toolbar/index.js.map +1 -1
  727. package/build-module/components/block-toolbar/utils.js +13 -11
  728. package/build-module/components/block-toolbar/utils.js.map +1 -1
  729. package/build-module/components/block-tools/back-compat.js +4 -3
  730. package/build-module/components/block-tools/back-compat.js.map +1 -1
  731. package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
  732. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  733. package/build-module/components/block-tools/block-popover.js +15 -13
  734. package/build-module/components/block-tools/block-popover.js.map +1 -1
  735. package/build-module/components/block-tools/block-selection-button.js +6 -5
  736. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  737. package/build-module/components/block-tools/index.js +6 -5
  738. package/build-module/components/block-tools/index.js.map +1 -1
  739. package/build-module/components/block-tools/insertion-point.js +11 -9
  740. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  741. package/build-module/components/block-types-list/index.js +9 -8
  742. package/build-module/components/block-types-list/index.js.map +1 -1
  743. package/build-module/components/block-types-list/index.native.js +19 -15
  744. package/build-module/components/block-types-list/index.native.js.map +1 -1
  745. package/build-module/components/block-variation-picker/index.js +9 -8
  746. package/build-module/components/block-variation-picker/index.js.map +1 -1
  747. package/build-module/components/block-variation-picker/index.native.js +9 -7
  748. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  749. package/build-module/components/block-variation-transforms/index.js +22 -15
  750. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  751. package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
  752. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  753. package/build-module/components/border-radius-control/all-input-control.js +6 -5
  754. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  755. package/build-module/components/border-radius-control/index.js +5 -4
  756. package/build-module/components/border-radius-control/index.js.map +1 -1
  757. package/build-module/components/border-radius-control/input-controls.js +16 -11
  758. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  759. package/build-module/components/border-radius-control/linked-button.js +5 -4
  760. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  761. package/build-module/components/border-radius-control/utils.js +8 -3
  762. package/build-module/components/border-radius-control/utils.js.map +1 -1
  763. package/build-module/components/border-style-control/index.js +5 -4
  764. package/build-module/components/border-style-control/index.js.map +1 -1
  765. package/build-module/components/button-block-appender/index.js +15 -13
  766. package/build-module/components/button-block-appender/index.js.map +1 -1
  767. package/build-module/components/button-block-appender/index.native.js +28 -24
  768. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  769. package/build-module/components/caption/index.native.js +44 -41
  770. package/build-module/components/caption/index.native.js.map +1 -1
  771. package/build-module/components/color-palette/control.js +6 -5
  772. package/build-module/components/color-palette/control.js.map +1 -1
  773. package/build-module/components/color-style-selector/index.js +43 -34
  774. package/build-module/components/color-style-selector/index.js.map +1 -1
  775. package/build-module/components/colors/color-panel.js +21 -18
  776. package/build-module/components/colors/color-panel.js.map +1 -1
  777. package/build-module/components/colors/utils.js +6 -3
  778. package/build-module/components/colors/utils.js.map +1 -1
  779. package/build-module/components/colors/with-colors.js +17 -6
  780. package/build-module/components/colors/with-colors.js.map +1 -1
  781. package/build-module/components/colors-gradients/control.js +16 -15
  782. package/build-module/components/colors-gradients/control.js.map +1 -1
  783. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +57 -50
  784. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  785. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  786. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  787. package/build-module/components/contrast-checker/index.js +18 -15
  788. package/build-module/components/contrast-checker/index.js.map +1 -1
  789. package/build-module/components/convert-to-group-buttons/index.js +9 -8
  790. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  791. package/build-module/components/copy-handler/index.js +4 -3
  792. package/build-module/components/copy-handler/index.js.map +1 -1
  793. package/build-module/components/default-block-appender/index.js +10 -8
  794. package/build-module/components/default-block-appender/index.js.map +1 -1
  795. package/build-module/components/default-block-appender/index.native.js +10 -8
  796. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  797. package/build-module/components/default-style-picker/index.js +14 -10
  798. package/build-module/components/default-style-picker/index.js.map +1 -1
  799. package/build-module/components/duotone-control/index.js +15 -12
  800. package/build-module/components/duotone-control/index.js.map +1 -1
  801. package/build-module/components/editable-text/index.js +6 -5
  802. package/build-module/components/editable-text/index.js.map +1 -1
  803. package/build-module/components/editor-styles/index.js +4 -3
  804. package/build-module/components/editor-styles/index.js.map +1 -1
  805. package/build-module/components/floating-toolbar/index.native.js +8 -7
  806. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  807. package/build-module/components/font-appearance-control/index.js +26 -19
  808. package/build-module/components/font-appearance-control/index.js.map +1 -1
  809. package/build-module/components/font-family/index.js +12 -10
  810. package/build-module/components/font-family/index.js.map +1 -1
  811. package/build-module/components/font-sizes/with-font-sizes.js +11 -5
  812. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  813. package/build-module/components/gradients/use-gradient.js +5 -4
  814. package/build-module/components/gradients/use-gradient.js.map +1 -1
  815. package/build-module/components/iframe/index.js +28 -22
  816. package/build-module/components/iframe/index.js.map +1 -1
  817. package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
  818. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  819. package/build-module/components/image-editor/context.js +11 -10
  820. package/build-module/components/image-editor/context.js.map +1 -1
  821. package/build-module/components/image-editor/cropper.js +9 -8
  822. package/build-module/components/image-editor/cropper.js.map +1 -1
  823. package/build-module/components/image-editor/index.js +9 -8
  824. package/build-module/components/image-editor/index.js.map +1 -1
  825. package/build-module/components/image-editor/use-save-image.js +12 -11
  826. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  827. package/build-module/components/image-editor/use-transform-image.js +6 -5
  828. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  829. package/build-module/components/image-editor/zoom-dropdown.js +13 -10
  830. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  831. package/build-module/components/image-size-control/index.js +12 -11
  832. package/build-module/components/image-size-control/index.js.map +1 -1
  833. package/build-module/components/inner-blocks/button-block-appender.js +8 -7
  834. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  835. package/build-module/components/inner-blocks/default-block-appender.js +9 -7
  836. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  837. package/build-module/components/inner-blocks/index.js +3 -1
  838. package/build-module/components/inner-blocks/index.js.map +1 -1
  839. package/build-module/components/inner-blocks/index.native.js +3 -1
  840. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  841. package/build-module/components/inserter/block-patterns-explorer/explorer.js +10 -8
  842. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  843. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +12 -9
  844. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  845. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +24 -20
  846. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  847. package/build-module/components/inserter/block-patterns-tab.js +26 -20
  848. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  849. package/build-module/components/inserter/block-types-tab.js +9 -7
  850. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  851. package/build-module/components/inserter/block-types-tab.native.js +9 -8
  852. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  853. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +5 -3
  854. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  855. package/build-module/components/inserter/hooks/use-block-types-state.js +6 -5
  856. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  857. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
  858. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  859. package/build-module/components/inserter/index.js +36 -28
  860. package/build-module/components/inserter/index.js.map +1 -1
  861. package/build-module/components/inserter/index.native.js +46 -37
  862. package/build-module/components/inserter/index.native.js.map +1 -1
  863. package/build-module/components/inserter/library.js +12 -11
  864. package/build-module/components/inserter/library.js.map +1 -1
  865. package/build-module/components/inserter/menu.js +12 -11
  866. package/build-module/components/inserter/menu.js.map +1 -1
  867. package/build-module/components/inserter/menu.native.js +31 -27
  868. package/build-module/components/inserter/menu.native.js.map +1 -1
  869. package/build-module/components/inserter/panel.js +6 -5
  870. package/build-module/components/inserter/panel.js.map +1 -1
  871. package/build-module/components/inserter/pattern-panel.js +7 -6
  872. package/build-module/components/inserter/pattern-panel.js.map +1 -1
  873. package/build-module/components/inserter/preview-panel.js +4 -3
  874. package/build-module/components/inserter/preview-panel.js.map +1 -1
  875. package/build-module/components/inserter/quick-inserter.js +7 -6
  876. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  877. package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
  878. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  879. package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
  880. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  881. package/build-module/components/inserter/search-items.js +23 -7
  882. package/build-module/components/inserter/search-items.js.map +1 -1
  883. package/build-module/components/inserter/search-results.js +15 -14
  884. package/build-module/components/inserter/search-results.js.map +1 -1
  885. package/build-module/components/inserter/search-results.native.js +11 -10
  886. package/build-module/components/inserter/search-results.native.js.map +1 -1
  887. package/build-module/components/inserter/tabs.js +7 -6
  888. package/build-module/components/inserter/tabs.js.map +1 -1
  889. package/build-module/components/inserter/tabs.native.js +55 -37
  890. package/build-module/components/inserter/tabs.native.js.map +1 -1
  891. package/build-module/components/inserter/utils.native.js +10 -8
  892. package/build-module/components/inserter/utils.native.js.map +1 -1
  893. package/build-module/components/inserter-draggable-blocks/index.js +12 -10
  894. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  895. package/build-module/components/inserter-list-item/index.js +75 -69
  896. package/build-module/components/inserter-list-item/index.js.map +1 -1
  897. package/build-module/components/inserter-listbox/index.js +4 -3
  898. package/build-module/components/inserter-listbox/index.js.map +1 -1
  899. package/build-module/components/inserter-listbox/item.js +7 -6
  900. package/build-module/components/inserter-listbox/item.js.map +1 -1
  901. package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
  902. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  903. package/build-module/components/inspector-controls/block-support-tools-panel.js +8 -6
  904. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  905. package/build-module/components/inspector-controls/fill.js +5 -4
  906. package/build-module/components/inspector-controls/fill.js.map +1 -1
  907. package/build-module/components/inspector-controls/fill.native.js +6 -5
  908. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  909. package/build-module/components/inspector-controls/slot.js +7 -6
  910. package/build-module/components/inspector-controls/slot.js.map +1 -1
  911. package/build-module/components/inspector-controls/slot.native.js +5 -4
  912. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  913. package/build-module/components/justify-content-control/ui.js +10 -8
  914. package/build-module/components/justify-content-control/ui.js.map +1 -1
  915. package/build-module/components/letter-spacing-control/index.js +6 -5
  916. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  917. package/build-module/components/line-height-control/index.js +5 -4
  918. package/build-module/components/line-height-control/index.js.map +1 -1
  919. package/build-module/components/line-height-control/index.native.js +5 -4
  920. package/build-module/components/line-height-control/index.native.js.map +1 -1
  921. package/build-module/components/link-control/index.js +25 -23
  922. package/build-module/components/link-control/index.js.map +1 -1
  923. package/build-module/components/link-control/link-preview.js +8 -7
  924. package/build-module/components/link-control/link-preview.js.map +1 -1
  925. package/build-module/components/link-control/search-create-button.js +9 -7
  926. package/build-module/components/link-control/search-create-button.js.map +1 -1
  927. package/build-module/components/link-control/search-input.js +21 -20
  928. package/build-module/components/link-control/search-input.js.map +1 -1
  929. package/build-module/components/link-control/search-item.js +10 -9
  930. package/build-module/components/link-control/search-item.js.map +1 -1
  931. package/build-module/components/link-control/search-results.js +15 -14
  932. package/build-module/components/link-control/search-results.js.map +1 -1
  933. package/build-module/components/link-control/settings-drawer.js +7 -5
  934. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  935. package/build-module/components/link-control/use-search-handler.js +4 -3
  936. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  937. package/build-module/components/list-view/appender.js +27 -23
  938. package/build-module/components/list-view/appender.js.map +1 -1
  939. package/build-module/components/list-view/block-contents.js +32 -28
  940. package/build-module/components/list-view/block-contents.js.map +1 -1
  941. package/build-module/components/list-view/block-select-button.js +18 -17
  942. package/build-module/components/list-view/block-select-button.js.map +1 -1
  943. package/build-module/components/list-view/block.js +79 -66
  944. package/build-module/components/list-view/block.js.map +1 -1
  945. package/build-module/components/list-view/drop-indicator.js +5 -4
  946. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  947. package/build-module/components/list-view/expander.js +4 -3
  948. package/build-module/components/list-view/expander.js.map +1 -1
  949. package/build-module/components/list-view/index.js +11 -10
  950. package/build-module/components/list-view/index.js.map +1 -1
  951. package/build-module/components/list-view/leaf.js +11 -10
  952. package/build-module/components/list-view/leaf.js.map +1 -1
  953. package/build-module/components/list-view/list-item.js +8 -7
  954. package/build-module/components/list-view/list-item.js.map +1 -1
  955. package/build-module/components/media-placeholder/index.js +86 -68
  956. package/build-module/components/media-placeholder/index.js.map +1 -1
  957. package/build-module/components/media-placeholder/index.native.js +5 -4
  958. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  959. package/build-module/components/media-replace-flow/index.js +85 -72
  960. package/build-module/components/media-replace-flow/index.js.map +1 -1
  961. package/build-module/components/media-upload/check.js +5 -4
  962. package/build-module/components/media-upload/check.js.map +1 -1
  963. package/build-module/components/multi-selection-inspector/index.js +4 -3
  964. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  965. package/build-module/components/navigable-toolbar/index.js +8 -7
  966. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  967. package/build-module/components/observe-typing/index.js +4 -3
  968. package/build-module/components/observe-typing/index.js.map +1 -1
  969. package/build-module/components/panel-color-settings/index.js +16 -12
  970. package/build-module/components/panel-color-settings/index.js.map +1 -1
  971. package/build-module/components/plain-text/index.js +6 -4
  972. package/build-module/components/plain-text/index.js.map +1 -1
  973. package/build-module/components/preview-options/index.js +8 -7
  974. package/build-module/components/preview-options/index.js.map +1 -1
  975. package/build-module/components/provider/block-refs-provider.js +4 -3
  976. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  977. package/build-module/components/provider/use-block-sync.js +8 -7
  978. package/build-module/components/provider/use-block-sync.js.map +1 -1
  979. package/build-module/components/provider/with-registry-provider.js +7 -5
  980. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  981. package/build-module/components/responsive-block-control/label.js +6 -5
  982. package/build-module/components/responsive-block-control/label.js.map +1 -1
  983. package/build-module/components/rich-text/embed-handler-picker.native.js +7 -5
  984. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  985. package/build-module/components/rich-text/file-paste-handler.js +6 -3
  986. package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
  987. package/build-module/components/rich-text/format-edit.js +8 -7
  988. package/build-module/components/rich-text/format-edit.js.map +1 -1
  989. package/build-module/components/rich-text/format-toolbar/index.js +18 -9
  990. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  991. package/build-module/components/rich-text/format-toolbar-container.js +6 -4
  992. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  993. package/build-module/components/rich-text/index.js +44 -40
  994. package/build-module/components/rich-text/index.js.map +1 -1
  995. package/build-module/components/rich-text/index.native.js +145 -122
  996. package/build-module/components/rich-text/index.native.js.map +1 -1
  997. package/build-module/components/rich-text/input-event.js +5 -4
  998. package/build-module/components/rich-text/input-event.js.map +1 -1
  999. package/build-module/components/rich-text/shortcut.js +6 -5
  1000. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1001. package/build-module/components/rich-text/split-value.js +10 -8
  1002. package/build-module/components/rich-text/split-value.js.map +1 -1
  1003. package/build-module/components/rich-text/toolbar-button.js +7 -6
  1004. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1005. package/build-module/components/rich-text/use-caret-in-format.js +4 -3
  1006. package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
  1007. package/build-module/components/rich-text/use-enter.js +6 -3
  1008. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1009. package/build-module/components/rich-text/use-format-types.js +13 -10
  1010. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1011. package/build-module/components/rich-text/use-input-rules.js +15 -9
  1012. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1013. package/build-module/components/rich-text/use-mark-persistent.js +5 -4
  1014. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1015. package/build-module/components/rich-text/use-paste-handler.js +28 -4
  1016. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1017. package/build-module/components/rich-text/utils.js +7 -5
  1018. package/build-module/components/rich-text/utils.js.map +1 -1
  1019. package/build-module/components/skip-to-selected-block/index.js +4 -3
  1020. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1021. package/build-module/components/text-decoration-control/index.js +5 -4
  1022. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1023. package/build-module/components/text-transform-control/index.js +5 -4
  1024. package/build-module/components/text-transform-control/index.js.map +1 -1
  1025. package/build-module/components/tool-selector/index.js +16 -13
  1026. package/build-module/components/tool-selector/index.js.map +1 -1
  1027. package/build-module/components/typewriter/index.js +9 -6
  1028. package/build-module/components/typewriter/index.js.map +1 -1
  1029. package/build-module/components/ungroup-button/index.native.js +12 -9
  1030. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1031. package/build-module/components/unit-control/index.js +5 -4
  1032. package/build-module/components/unit-control/index.js.map +1 -1
  1033. package/build-module/components/url-input/index.js +12 -9
  1034. package/build-module/components/url-input/index.js.map +1 -1
  1035. package/build-module/components/url-input/index.native.js +8 -6
  1036. package/build-module/components/url-input/index.native.js.map +1 -1
  1037. package/build-module/components/url-popover/image-url-input-ui.js +12 -11
  1038. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1039. package/build-module/components/url-popover/index.js +9 -8
  1040. package/build-module/components/url-popover/index.js.map +1 -1
  1041. package/build-module/components/url-popover/link-editor.js +8 -7
  1042. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1043. package/build-module/components/url-popover/link-viewer-url.js +6 -5
  1044. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1045. package/build-module/components/url-popover/link-viewer.js +9 -8
  1046. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1047. package/build-module/components/use-block-drop-zone/index.js +8 -7
  1048. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1049. package/build-module/components/use-moving-animation/index.js +17 -13
  1050. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1051. package/build-module/components/use-no-recursive-renders/index.js +10 -6
  1052. package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
  1053. package/build-module/components/use-setting/index.js +1 -1
  1054. package/build-module/components/use-setting/index.js.map +1 -1
  1055. package/build-module/components/warning/index.js +7 -6
  1056. package/build-module/components/warning/index.js.map +1 -1
  1057. package/build-module/components/warning/index.native.js +10 -9
  1058. package/build-module/components/warning/index.native.js.map +1 -1
  1059. package/build-module/components/writing-flow/index.js +5 -4
  1060. package/build-module/components/writing-flow/index.js.map +1 -1
  1061. package/build-module/hooks/align.js +9 -4
  1062. package/build-module/hooks/align.js.map +1 -1
  1063. package/build-module/hooks/border.js +3 -1
  1064. package/build-module/hooks/border.js.map +1 -1
  1065. package/build-module/hooks/color-panel.js +7 -6
  1066. package/build-module/hooks/color-panel.js.map +1 -1
  1067. package/build-module/hooks/dimensions.js +2 -1
  1068. package/build-module/hooks/dimensions.js.map +1 -1
  1069. package/build-module/hooks/duotone.js +13 -10
  1070. package/build-module/hooks/duotone.js.map +1 -1
  1071. package/build-module/hooks/font-appearance.js +13 -10
  1072. package/build-module/hooks/font-appearance.js.map +1 -1
  1073. package/build-module/hooks/font-family.js +27 -18
  1074. package/build-module/hooks/font-family.js.map +1 -1
  1075. package/build-module/hooks/font-size.js +9 -7
  1076. package/build-module/hooks/font-size.js.map +1 -1
  1077. package/build-module/hooks/gap.js +9 -7
  1078. package/build-module/hooks/gap.js.map +1 -1
  1079. package/build-module/hooks/layout.js +16 -13
  1080. package/build-module/hooks/layout.js.map +1 -1
  1081. package/build-module/hooks/letter-spacing.js +9 -7
  1082. package/build-module/hooks/letter-spacing.js.map +1 -1
  1083. package/build-module/hooks/line-height.js +9 -7
  1084. package/build-module/hooks/line-height.js.map +1 -1
  1085. package/build-module/hooks/margin.js +9 -7
  1086. package/build-module/hooks/margin.js.map +1 -1
  1087. package/build-module/hooks/padding.js +9 -7
  1088. package/build-module/hooks/padding.js.map +1 -1
  1089. package/build-module/hooks/style.js +7 -3
  1090. package/build-module/hooks/style.js.map +1 -1
  1091. package/build-module/hooks/text-decoration.js +9 -7
  1092. package/build-module/hooks/text-decoration.js.map +1 -1
  1093. package/build-module/hooks/text-transform.js +9 -7
  1094. package/build-module/hooks/text-transform.js.map +1 -1
  1095. package/build-module/hooks/typography.js +2 -1
  1096. package/build-module/hooks/typography.js.map +1 -1
  1097. package/build-module/hooks/typography.native.js +2 -1
  1098. package/build-module/hooks/typography.native.js.map +1 -1
  1099. package/build-module/hooks/use-border-props.js +5 -4
  1100. package/build-module/hooks/use-border-props.js.map +1 -1
  1101. package/build-module/layouts/flex.js +67 -39
  1102. package/build-module/layouts/flex.js.map +1 -1
  1103. package/build-module/layouts/flow.js +10 -8
  1104. package/build-module/layouts/flow.js.map +1 -1
  1105. package/build-module/layouts/index.js +2 -1
  1106. package/build-module/layouts/index.js.map +1 -1
  1107. package/build-module/layouts/utils.js +2 -1
  1108. package/build-module/layouts/utils.js.map +1 -1
  1109. package/build-module/store/actions.js +271 -206
  1110. package/build-module/store/actions.js.map +1 -1
  1111. package/build-module/store/array.js +2 -1
  1112. package/build-module/store/array.js.map +1 -1
  1113. package/build-module/store/reducer.js +108 -34
  1114. package/build-module/store/reducer.js.map +1 -1
  1115. package/build-module/store/selectors.js +158 -90
  1116. package/build-module/store/selectors.js.map +1 -1
  1117. package/build-module/utils/block-variation-transforms.js +4 -3
  1118. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1119. package/build-module/utils/get-paste-event-data.js +10 -6
  1120. package/build-module/utils/get-paste-event-data.js.map +1 -1
  1121. package/build-module/utils/math.js +2 -1
  1122. package/build-module/utils/math.js.map +1 -1
  1123. package/build-module/utils/parse-css-unit-to-px.js +5 -2
  1124. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1125. package/build-module/utils/transform-styles/index.js +8 -6
  1126. package/build-module/utils/transform-styles/index.js.map +1 -1
  1127. package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
  1128. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1129. package/build-style/style-rtl.css +68 -68
  1130. package/build-style/style.css +68 -68
  1131. package/package.json +27 -27
  1132. package/src/components/block-list-appender/style.scss +0 -42
  1133. package/src/components/button-block-appender/style.scss +0 -17
  1134. package/src/components/colors-gradients/panel-color-gradient-settings.js +56 -25
  1135. package/src/components/default-block-appender/style.scss +90 -16
  1136. package/src/components/inner-blocks/style.scss +4 -10
  1137. package/src/components/rich-text/use-paste-handler.js +22 -0
  1138. package/src/components/use-setting/index.js +1 -1
  1139. package/src/layouts/flex.js +25 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-input/index.js"],"names":["URLInput","Component","constructor","props","onChange","bind","onFocus","onKeyDown","selectLink","handleOnClick","bindSuggestionNode","autocompleteRef","inputRef","updateSuggestions","suggestionNodes","isUpdatingSuggestions","state","suggestions","showSuggestions","selectedSuggestion","suggestionsListboxId","suggestionOptionIdPrefix","componentDidUpdate","prevProps","value","__experimentalShowInitialSuggestions","scrollingIntoView","current","onlyScrollIfNeeded","setTimeout","disableSuggestions","length","componentDidMount","shouldShowInitialSuggestions","componentWillUnmount","suggestionsRequest","cancel","index","ref","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalHandleURLSuggestions","handleURLSuggestions","isInitialSuggestions","trim","setState","loading","request","then","debouncedSpeak","catch","event","inputValue","target","keyCode","UP","selectionStart","preventDefault","setSelectionRange","DOWN","ENTER","onSubmit","suggestion","previousIndex","nextIndex","TAB","speak","url","focus","getDerivedStateFromProps","instanceId","shouldShowSuggestions","hasValue","render","renderControl","renderSuggestions","label","className","isFullWidth","placeholder","__experimentalRenderControl","controlProps","id","inputProps","required","type","role","undefined","__experimentalRenderSuggestions","suggestionsListProps","buildSuggestionItemProps","tabIndex","isLoading","handleSuggestionClick","map","title","withSafeTimeout","withSpokenMessages","withInstanceId","select","getSettings","blockEditorStore"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce, isFunction } from 'lodash';\nimport classnames from 'classnames';\nimport scrollIntoView from 'dom-scroll-into-view';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { UP, DOWN, ENTER, TAB } from '@wordpress/keycodes';\nimport {\n\tBaseControl,\n\tButton,\n\tSpinner,\n\twithSpokenMessages,\n\tPopover,\n} from '@wordpress/components';\nimport { withInstanceId, withSafeTimeout, compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nclass URLInput extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.selectLink = this.selectLink.bind( this );\n\t\tthis.handleOnClick = this.handleOnClick.bind( this );\n\t\tthis.bindSuggestionNode = this.bindSuggestionNode.bind( this );\n\t\tthis.autocompleteRef = props.autocompleteRef || createRef();\n\t\tthis.inputRef = createRef();\n\t\tthis.updateSuggestions = debounce(\n\t\t\tthis.updateSuggestions.bind( this ),\n\t\t\t200\n\t\t);\n\n\t\tthis.suggestionNodes = [];\n\n\t\tthis.isUpdatingSuggestions = false;\n\n\t\tthis.state = {\n\t\t\tsuggestions: [],\n\t\t\tshowSuggestions: false,\n\t\t\tselectedSuggestion: null,\n\n\t\t\tsuggestionsListboxId: '',\n\t\t\tsuggestionOptionIdPrefix: '',\n\t\t};\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { showSuggestions, selectedSuggestion } = this.state;\n\t\tconst {\n\t\t\tvalue,\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t} = this.props;\n\n\t\t// only have to worry about scrolling selected suggestion into view\n\t\t// when already expanded\n\t\tif (\n\t\t\tshowSuggestions &&\n\t\t\tselectedSuggestion !== null &&\n\t\t\tthis.suggestionNodes[ selectedSuggestion ] &&\n\t\t\t! this.scrollingIntoView\n\t\t) {\n\t\t\tthis.scrollingIntoView = true;\n\t\t\tscrollIntoView(\n\t\t\t\tthis.suggestionNodes[ selectedSuggestion ],\n\t\t\t\tthis.autocompleteRef.current,\n\t\t\t\t{\n\t\t\t\t\tonlyScrollIfNeeded: true,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.props.setTimeout( () => {\n\t\t\t\tthis.scrollingIntoView = false;\n\t\t\t}, 100 );\n\t\t}\n\n\t\t// Update suggestions when the value changes\n\t\tif (\n\t\t\tprevProps.value !== value &&\n\t\t\t! this.props.disableSuggestions &&\n\t\t\t! this.isUpdatingSuggestions\n\t\t) {\n\t\t\tif ( value?.length ) {\n\t\t\t\t// If the new value is not empty we need to update with suggestions for it\n\t\t\t\tthis.updateSuggestions( value );\n\t\t\t} else if ( __experimentalShowInitialSuggestions ) {\n\t\t\t\t// If the new value is empty and we can show initial suggestions, then show initial suggestions\n\t\t\t\tthis.updateSuggestions();\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.shouldShowInitialSuggestions() ) {\n\t\t\tthis.updateSuggestions();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.suggestionsRequest?.cancel?.();\n\t\tdelete this.suggestionsRequest;\n\t}\n\n\tbindSuggestionNode( index ) {\n\t\treturn ( ref ) => {\n\t\t\tthis.suggestionNodes[ index ] = ref;\n\t\t};\n\t}\n\n\tshouldShowInitialSuggestions() {\n\t\tconst { suggestions } = this.state;\n\t\tconst {\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t\tvalue,\n\t\t} = this.props;\n\t\treturn (\n\t\t\t! this.isUpdatingSuggestions &&\n\t\t\t__experimentalShowInitialSuggestions &&\n\t\t\t! ( value && value.length ) &&\n\t\t\t! ( suggestions && suggestions.length )\n\t\t);\n\t}\n\n\tupdateSuggestions( value = '' ) {\n\t\tconst {\n\t\t\t__experimentalFetchLinkSuggestions: fetchLinkSuggestions,\n\t\t\t__experimentalHandleURLSuggestions: handleURLSuggestions,\n\t\t} = this.props;\n\n\t\tif ( ! fetchLinkSuggestions ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Initial suggestions may only show if there is no value\n\t\t// (note: this includes whitespace).\n\t\tconst isInitialSuggestions = ! value?.length;\n\n\t\t// Trim only now we've determined whether or not it originally had a \"length\"\n\t\t// (even if that value was all whitespace).\n\t\tvalue = value.trim();\n\n\t\t// Allow a suggestions request if:\n\t\t// - there are at least 2 characters in the search input (except manual searches where\n\t\t// search input length is not required to trigger a fetch)\n\t\t// - this is a direct entry (eg: a URL)\n\t\tif (\n\t\t\t! isInitialSuggestions &&\n\t\t\t( value.length < 2 || ( ! handleURLSuggestions && isURL( value ) ) )\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tshowSuggestions: false,\n\t\t\t\tselectedSuggestion: null,\n\t\t\t\tloading: false,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isUpdatingSuggestions = true;\n\n\t\tthis.setState( {\n\t\t\tselectedSuggestion: null,\n\t\t\tloading: true,\n\t\t} );\n\n\t\tconst request = fetchLinkSuggestions( value, {\n\t\t\tisInitialSuggestions,\n\t\t} );\n\n\t\trequest\n\t\t\t.then( ( suggestions ) => {\n\t\t\t\t// A fetch Promise doesn't have an abort option. It's mimicked by\n\t\t\t\t// comparing the request reference in on the instance, which is\n\t\t\t\t// reset or deleted on subsequent requests or unmounting.\n\t\t\t\tif ( this.suggestionsRequest !== request ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.setState( {\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tloading: false,\n\t\t\t\t\tshowSuggestions: !! suggestions.length,\n\t\t\t\t} );\n\n\t\t\t\tif ( !! suggestions.length ) {\n\t\t\t\t\tthis.props.debouncedSpeak(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: %s: number of results. */\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t\tsuggestions.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'assertive'\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tthis.props.debouncedSpeak(\n\t\t\t\t\t\t__( 'No results.' ),\n\t\t\t\t\t\t'assertive'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.isUpdatingSuggestions = false;\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.suggestionsRequest === request ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tloading: false,\n\t\t\t\t\t} );\n\t\t\t\t\tthis.isUpdatingSuggestions = false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t// Note that this assignment is handled *before* the async search request\n\t\t// as a Promise always resolves on the next tick of the event loop.\n\t\tthis.suggestionsRequest = request;\n\t}\n\n\tonChange( event ) {\n\t\tconst inputValue = event.target.value;\n\n\t\tthis.props.onChange( inputValue );\n\t\tif ( ! this.props.disableSuggestions ) {\n\t\t\tthis.updateSuggestions( inputValue );\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tconst { suggestions } = this.state;\n\t\tconst { disableSuggestions, value } = this.props;\n\n\t\t// When opening the link editor, if there's a value present, we want to load the suggestions pane with the results for this input search value\n\t\t// Don't re-run the suggestions on focus if there are already suggestions present (prevents searching again when tabbing between the input and buttons)\n\t\tif (\n\t\t\tvalue &&\n\t\t\t! disableSuggestions &&\n\t\t\t! this.isUpdatingSuggestions &&\n\t\t\t! ( suggestions && suggestions.length )\n\t\t) {\n\t\t\t// Ensure the suggestions are updated with the current input value\n\t\t\tthis.updateSuggestions( value );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tconst {\n\t\t\tshowSuggestions,\n\t\t\tselectedSuggestion,\n\t\t\tsuggestions,\n\t\t\tloading,\n\t\t} = this.state;\n\n\t\t// If the suggestions are not shown or loading, we shouldn't handle the arrow keys\n\t\t// We shouldn't preventDefault to allow block arrow keys navigation\n\t\tif ( ! showSuggestions || ! suggestions.length || loading ) {\n\t\t\t// In the Windows version of Firefox the up and down arrows don't move the caret\n\t\t\t// within an input field like they do for Mac Firefox/Chrome/Safari. This causes\n\t\t\t// a form of focus trapping that is disruptive to the user experience. This disruption\n\t\t\t// only happens if the caret is not in the first or last position in the text input.\n\t\t\t// See: https://github.com/WordPress/gutenberg/issues/5693#issuecomment-436684747\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t// When UP is pressed, if the caret is at the start of the text, move it to the 0\n\t\t\t\t// position.\n\t\t\t\tcase UP: {\n\t\t\t\t\tif ( 0 !== event.target.selectionStart ) {\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Set the input caret to position 0\n\t\t\t\t\t\tevent.target.setSelectionRange( 0, 0 );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// When DOWN is pressed, if the caret is not at the end of the text, move it to the\n\t\t\t\t// last position.\n\t\t\t\tcase DOWN: {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.props.value.length !== event.target.selectionStart\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Set the input caret to the last position\n\t\t\t\t\t\tevent.target.setSelectionRange(\n\t\t\t\t\t\t\tthis.props.value.length,\n\t\t\t\t\t\t\tthis.props.value.length\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Submitting while loading should trigger onSubmit\n\t\t\t\tcase ENTER: {\n\t\t\t\t\tif ( this.props.onSubmit ) {\n\t\t\t\t\t\tthis.props.onSubmit( null, event );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst suggestion = this.state.suggestions[\n\t\t\tthis.state.selectedSuggestion\n\t\t];\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP: {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst previousIndex = ! selectedSuggestion\n\t\t\t\t\t? suggestions.length - 1\n\t\t\t\t\t: selectedSuggestion - 1;\n\t\t\t\tthis.setState( {\n\t\t\t\t\tselectedSuggestion: previousIndex,\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase DOWN: {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst nextIndex =\n\t\t\t\t\tselectedSuggestion === null ||\n\t\t\t\t\tselectedSuggestion === suggestions.length - 1\n\t\t\t\t\t\t? 0\n\t\t\t\t\t\t: selectedSuggestion + 1;\n\t\t\t\tthis.setState( {\n\t\t\t\t\tselectedSuggestion: nextIndex,\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase TAB: {\n\t\t\t\tif ( this.state.selectedSuggestion !== null ) {\n\t\t\t\t\tthis.selectLink( suggestion );\n\t\t\t\t\t// Announce a link has been selected when tabbing away from the input field.\n\t\t\t\t\tthis.props.speak( __( 'Link selected.' ) );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ENTER: {\n\t\t\t\tif ( this.state.selectedSuggestion !== null ) {\n\t\t\t\t\tthis.selectLink( suggestion );\n\n\t\t\t\t\tif ( this.props.onSubmit ) {\n\t\t\t\t\t\tthis.props.onSubmit( suggestion, event );\n\t\t\t\t\t}\n\t\t\t\t} else if ( this.props.onSubmit ) {\n\t\t\t\t\tthis.props.onSubmit( null, event );\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tselectLink( suggestion ) {\n\t\tthis.props.onChange( suggestion.url, suggestion );\n\t\tthis.setState( {\n\t\t\tselectedSuggestion: null,\n\t\t\tshowSuggestions: false,\n\t\t} );\n\t}\n\n\thandleOnClick( suggestion ) {\n\t\tthis.selectLink( suggestion );\n\t\t// Move focus to the input field when a link suggestion is clicked.\n\t\tthis.inputRef.current.focus();\n\t}\n\n\tstatic getDerivedStateFromProps(\n\t\t{\n\t\t\tvalue,\n\t\t\tinstanceId,\n\t\t\tdisableSuggestions,\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t},\n\t\t{ showSuggestions }\n\t) {\n\t\tlet shouldShowSuggestions = showSuggestions;\n\n\t\tconst hasValue = value && value.length;\n\n\t\tif ( ! __experimentalShowInitialSuggestions && ! hasValue ) {\n\t\t\tshouldShowSuggestions = false;\n\t\t}\n\n\t\tif ( disableSuggestions === true ) {\n\t\t\tshouldShowSuggestions = false;\n\t\t}\n\n\t\treturn {\n\t\t\tshowSuggestions: shouldShowSuggestions,\n\t\t\tsuggestionsListboxId: `block-editor-url-input-suggestions-${ instanceId }`,\n\t\t\tsuggestionOptionIdPrefix: `block-editor-url-input-suggestion-${ instanceId }`,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ this.renderControl() }\n\t\t\t\t{ this.renderSuggestions() }\n\t\t\t</>\n\t\t);\n\t}\n\n\trenderControl() {\n\t\tconst {\n\t\t\tlabel,\n\t\t\tclassName,\n\t\t\tisFullWidth,\n\t\t\tinstanceId,\n\t\t\tplaceholder = __( 'Paste URL or type to search' ),\n\t\t\t__experimentalRenderControl: renderControl,\n\t\t\tvalue = '',\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tloading,\n\t\t\tshowSuggestions,\n\t\t\tselectedSuggestion,\n\t\t\tsuggestionsListboxId,\n\t\t\tsuggestionOptionIdPrefix,\n\t\t} = this.state;\n\n\t\tconst controlProps = {\n\t\t\tid: `url-input-control-${ instanceId }`,\n\t\t\tlabel,\n\t\t\tclassName: classnames( 'block-editor-url-input', className, {\n\t\t\t\t'is-full-width': isFullWidth,\n\t\t\t} ),\n\t\t};\n\n\t\tconst inputProps = {\n\t\t\tvalue,\n\t\t\trequired: true,\n\t\t\tclassName: 'block-editor-url-input__input',\n\t\t\ttype: 'text',\n\t\t\tonChange: this.onChange,\n\t\t\tonFocus: this.onFocus,\n\t\t\tplaceholder,\n\t\t\tonKeyDown: this.onKeyDown,\n\t\t\trole: 'combobox',\n\t\t\t'aria-label': __( 'URL' ),\n\t\t\t'aria-expanded': showSuggestions,\n\t\t\t'aria-autocomplete': 'list',\n\t\t\t'aria-owns': suggestionsListboxId,\n\t\t\t'aria-activedescendant':\n\t\t\t\tselectedSuggestion !== null\n\t\t\t\t\t? `${ suggestionOptionIdPrefix }-${ selectedSuggestion }`\n\t\t\t\t\t: undefined,\n\t\t\tref: this.inputRef,\n\t\t};\n\n\t\tif ( renderControl ) {\n\t\t\treturn renderControl( controlProps, inputProps, loading );\n\t\t}\n\n\t\treturn (\n\t\t\t<BaseControl { ...controlProps }>\n\t\t\t\t<input { ...inputProps } />\n\t\t\t\t{ loading && <Spinner /> }\n\t\t\t</BaseControl>\n\t\t);\n\t}\n\n\trenderSuggestions() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\t__experimentalRenderSuggestions: renderSuggestions,\n\t\t\tvalue = '',\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tshowSuggestions,\n\t\t\tsuggestions,\n\t\t\tselectedSuggestion,\n\t\t\tsuggestionsListboxId,\n\t\t\tsuggestionOptionIdPrefix,\n\t\t\tloading,\n\t\t} = this.state;\n\n\t\tconst suggestionsListProps = {\n\t\t\tid: suggestionsListboxId,\n\t\t\tref: this.autocompleteRef,\n\t\t\trole: 'listbox',\n\t\t};\n\n\t\tconst buildSuggestionItemProps = ( suggestion, index ) => {\n\t\t\treturn {\n\t\t\t\trole: 'option',\n\t\t\t\ttabIndex: '-1',\n\t\t\t\tid: `${ suggestionOptionIdPrefix }-${ index }`,\n\t\t\t\tref: this.bindSuggestionNode( index ),\n\t\t\t\t'aria-selected': index === selectedSuggestion,\n\t\t\t};\n\t\t};\n\n\t\tif (\n\t\t\tisFunction( renderSuggestions ) &&\n\t\t\tshowSuggestions &&\n\t\t\t!! suggestions.length\n\t\t) {\n\t\t\treturn renderSuggestions( {\n\t\t\t\tsuggestions,\n\t\t\t\tselectedSuggestion,\n\t\t\t\tsuggestionsListProps,\n\t\t\t\tbuildSuggestionItemProps,\n\t\t\t\tisLoading: loading,\n\t\t\t\thandleSuggestionClick: this.handleOnClick,\n\t\t\t\tisInitialSuggestions:\n\t\t\t\t\t__experimentalShowInitialSuggestions &&\n\t\t\t\t\t! ( value && value.length ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\t! isFunction( renderSuggestions ) &&\n\t\t\tshowSuggestions &&\n\t\t\t!! suggestions.length\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<Popover position=\"bottom\" noArrow focusOnMount={ false }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...suggestionsListProps }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-url-input__suggestions',\n\t\t\t\t\t\t\t`${ className }__suggestions`\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ suggestions.map( ( suggestion, index ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t{ ...buildSuggestionItemProps(\n\t\t\t\t\t\t\t\t\tsuggestion,\n\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ suggestion.id }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'block-editor-url-input__suggestion',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-selected':\n\t\t\t\t\t\t\t\t\t\t\tindex === selectedSuggestion,\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\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tthis.handleOnClick( suggestion )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ suggestion.title }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md\n */\nexport default compose(\n\twithSafeTimeout,\n\twithSpokenMessages,\n\twithInstanceId,\n\twithSelect( ( select, props ) => {\n\t\t// If a link suggestions handler is already provided then\n\t\t// bail\n\t\tif ( isFunction( props.__experimentalFetchLinkSuggestions ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\t__experimentalFetchLinkSuggestions: getSettings()\n\t\t\t\t.__experimentalFetchLinkSuggestions,\n\t\t};\n\t} )\n)( URLInput );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-input/index.js"],"names":["URLInput","Component","constructor","props","onChange","bind","onFocus","onKeyDown","selectLink","handleOnClick","bindSuggestionNode","autocompleteRef","inputRef","updateSuggestions","suggestionNodes","isUpdatingSuggestions","state","suggestions","showSuggestions","selectedSuggestion","suggestionsListboxId","suggestionOptionIdPrefix","componentDidUpdate","prevProps","value","__experimentalShowInitialSuggestions","scrollingIntoView","current","onlyScrollIfNeeded","setTimeout","disableSuggestions","length","componentDidMount","shouldShowInitialSuggestions","componentWillUnmount","suggestionsRequest","cancel","index","ref","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalHandleURLSuggestions","handleURLSuggestions","isInitialSuggestions","trim","setState","loading","request","then","debouncedSpeak","catch","event","inputValue","target","keyCode","UP","selectionStart","preventDefault","setSelectionRange","DOWN","ENTER","onSubmit","suggestion","previousIndex","nextIndex","TAB","speak","url","focus","getDerivedStateFromProps","instanceId","shouldShowSuggestions","hasValue","render","renderControl","renderSuggestions","label","className","isFullWidth","placeholder","__experimentalRenderControl","controlProps","id","inputProps","required","type","role","undefined","__experimentalRenderSuggestions","suggestionsListProps","buildSuggestionItemProps","tabIndex","isLoading","handleSuggestionClick","map","title","withSafeTimeout","withSpokenMessages","withInstanceId","select","getSettings","blockEditorStore"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce, isFunction } from 'lodash';\nimport classnames from 'classnames';\nimport scrollIntoView from 'dom-scroll-into-view';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { UP, DOWN, ENTER, TAB } from '@wordpress/keycodes';\nimport {\n\tBaseControl,\n\tButton,\n\tSpinner,\n\twithSpokenMessages,\n\tPopover,\n} from '@wordpress/components';\nimport { withInstanceId, withSafeTimeout, compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nclass URLInput extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.selectLink = this.selectLink.bind( this );\n\t\tthis.handleOnClick = this.handleOnClick.bind( this );\n\t\tthis.bindSuggestionNode = this.bindSuggestionNode.bind( this );\n\t\tthis.autocompleteRef = props.autocompleteRef || createRef();\n\t\tthis.inputRef = createRef();\n\t\tthis.updateSuggestions = debounce(\n\t\t\tthis.updateSuggestions.bind( this ),\n\t\t\t200\n\t\t);\n\n\t\tthis.suggestionNodes = [];\n\n\t\tthis.isUpdatingSuggestions = false;\n\n\t\tthis.state = {\n\t\t\tsuggestions: [],\n\t\t\tshowSuggestions: false,\n\t\t\tselectedSuggestion: null,\n\n\t\t\tsuggestionsListboxId: '',\n\t\t\tsuggestionOptionIdPrefix: '',\n\t\t};\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { showSuggestions, selectedSuggestion } = this.state;\n\t\tconst {\n\t\t\tvalue,\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t} = this.props;\n\n\t\t// only have to worry about scrolling selected suggestion into view\n\t\t// when already expanded\n\t\tif (\n\t\t\tshowSuggestions &&\n\t\t\tselectedSuggestion !== null &&\n\t\t\tthis.suggestionNodes[ selectedSuggestion ] &&\n\t\t\t! this.scrollingIntoView\n\t\t) {\n\t\t\tthis.scrollingIntoView = true;\n\t\t\tscrollIntoView(\n\t\t\t\tthis.suggestionNodes[ selectedSuggestion ],\n\t\t\t\tthis.autocompleteRef.current,\n\t\t\t\t{\n\t\t\t\t\tonlyScrollIfNeeded: true,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.props.setTimeout( () => {\n\t\t\t\tthis.scrollingIntoView = false;\n\t\t\t}, 100 );\n\t\t}\n\n\t\t// Update suggestions when the value changes\n\t\tif (\n\t\t\tprevProps.value !== value &&\n\t\t\t! this.props.disableSuggestions &&\n\t\t\t! this.isUpdatingSuggestions\n\t\t) {\n\t\t\tif ( value?.length ) {\n\t\t\t\t// If the new value is not empty we need to update with suggestions for it\n\t\t\t\tthis.updateSuggestions( value );\n\t\t\t} else if ( __experimentalShowInitialSuggestions ) {\n\t\t\t\t// If the new value is empty and we can show initial suggestions, then show initial suggestions\n\t\t\t\tthis.updateSuggestions();\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.shouldShowInitialSuggestions() ) {\n\t\t\tthis.updateSuggestions();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.suggestionsRequest?.cancel?.();\n\t\tdelete this.suggestionsRequest;\n\t}\n\n\tbindSuggestionNode( index ) {\n\t\treturn ( ref ) => {\n\t\t\tthis.suggestionNodes[ index ] = ref;\n\t\t};\n\t}\n\n\tshouldShowInitialSuggestions() {\n\t\tconst { suggestions } = this.state;\n\t\tconst {\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t\tvalue,\n\t\t} = this.props;\n\t\treturn (\n\t\t\t! this.isUpdatingSuggestions &&\n\t\t\t__experimentalShowInitialSuggestions &&\n\t\t\t! ( value && value.length ) &&\n\t\t\t! ( suggestions && suggestions.length )\n\t\t);\n\t}\n\n\tupdateSuggestions( value = '' ) {\n\t\tconst {\n\t\t\t__experimentalFetchLinkSuggestions: fetchLinkSuggestions,\n\t\t\t__experimentalHandleURLSuggestions: handleURLSuggestions,\n\t\t} = this.props;\n\n\t\tif ( ! fetchLinkSuggestions ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Initial suggestions may only show if there is no value\n\t\t// (note: this includes whitespace).\n\t\tconst isInitialSuggestions = ! value?.length;\n\n\t\t// Trim only now we've determined whether or not it originally had a \"length\"\n\t\t// (even if that value was all whitespace).\n\t\tvalue = value.trim();\n\n\t\t// Allow a suggestions request if:\n\t\t// - there are at least 2 characters in the search input (except manual searches where\n\t\t// search input length is not required to trigger a fetch)\n\t\t// - this is a direct entry (eg: a URL)\n\t\tif (\n\t\t\t! isInitialSuggestions &&\n\t\t\t( value.length < 2 || ( ! handleURLSuggestions && isURL( value ) ) )\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tshowSuggestions: false,\n\t\t\t\tselectedSuggestion: null,\n\t\t\t\tloading: false,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isUpdatingSuggestions = true;\n\n\t\tthis.setState( {\n\t\t\tselectedSuggestion: null,\n\t\t\tloading: true,\n\t\t} );\n\n\t\tconst request = fetchLinkSuggestions( value, {\n\t\t\tisInitialSuggestions,\n\t\t} );\n\n\t\trequest\n\t\t\t.then( ( suggestions ) => {\n\t\t\t\t// A fetch Promise doesn't have an abort option. It's mimicked by\n\t\t\t\t// comparing the request reference in on the instance, which is\n\t\t\t\t// reset or deleted on subsequent requests or unmounting.\n\t\t\t\tif ( this.suggestionsRequest !== request ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.setState( {\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tloading: false,\n\t\t\t\t\tshowSuggestions: !! suggestions.length,\n\t\t\t\t} );\n\n\t\t\t\tif ( !! suggestions.length ) {\n\t\t\t\t\tthis.props.debouncedSpeak(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: %s: number of results. */\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t\tsuggestions.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'assertive'\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tthis.props.debouncedSpeak(\n\t\t\t\t\t\t__( 'No results.' ),\n\t\t\t\t\t\t'assertive'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.isUpdatingSuggestions = false;\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.suggestionsRequest === request ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tloading: false,\n\t\t\t\t\t} );\n\t\t\t\t\tthis.isUpdatingSuggestions = false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t// Note that this assignment is handled *before* the async search request\n\t\t// as a Promise always resolves on the next tick of the event loop.\n\t\tthis.suggestionsRequest = request;\n\t}\n\n\tonChange( event ) {\n\t\tconst inputValue = event.target.value;\n\n\t\tthis.props.onChange( inputValue );\n\t\tif ( ! this.props.disableSuggestions ) {\n\t\t\tthis.updateSuggestions( inputValue );\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tconst { suggestions } = this.state;\n\t\tconst { disableSuggestions, value } = this.props;\n\n\t\t// When opening the link editor, if there's a value present, we want to load the suggestions pane with the results for this input search value\n\t\t// Don't re-run the suggestions on focus if there are already suggestions present (prevents searching again when tabbing between the input and buttons)\n\t\tif (\n\t\t\tvalue &&\n\t\t\t! disableSuggestions &&\n\t\t\t! this.isUpdatingSuggestions &&\n\t\t\t! ( suggestions && suggestions.length )\n\t\t) {\n\t\t\t// Ensure the suggestions are updated with the current input value\n\t\t\tthis.updateSuggestions( value );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tconst {\n\t\t\tshowSuggestions,\n\t\t\tselectedSuggestion,\n\t\t\tsuggestions,\n\t\t\tloading,\n\t\t} = this.state;\n\n\t\t// If the suggestions are not shown or loading, we shouldn't handle the arrow keys\n\t\t// We shouldn't preventDefault to allow block arrow keys navigation\n\t\tif ( ! showSuggestions || ! suggestions.length || loading ) {\n\t\t\t// In the Windows version of Firefox the up and down arrows don't move the caret\n\t\t\t// within an input field like they do for Mac Firefox/Chrome/Safari. This causes\n\t\t\t// a form of focus trapping that is disruptive to the user experience. This disruption\n\t\t\t// only happens if the caret is not in the first or last position in the text input.\n\t\t\t// See: https://github.com/WordPress/gutenberg/issues/5693#issuecomment-436684747\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t// When UP is pressed, if the caret is at the start of the text, move it to the 0\n\t\t\t\t// position.\n\t\t\t\tcase UP: {\n\t\t\t\t\tif ( 0 !== event.target.selectionStart ) {\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Set the input caret to position 0\n\t\t\t\t\t\tevent.target.setSelectionRange( 0, 0 );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// When DOWN is pressed, if the caret is not at the end of the text, move it to the\n\t\t\t\t// last position.\n\t\t\t\tcase DOWN: {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.props.value.length !== event.target.selectionStart\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Set the input caret to the last position\n\t\t\t\t\t\tevent.target.setSelectionRange(\n\t\t\t\t\t\t\tthis.props.value.length,\n\t\t\t\t\t\t\tthis.props.value.length\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Submitting while loading should trigger onSubmit\n\t\t\t\tcase ENTER: {\n\t\t\t\t\tif ( this.props.onSubmit ) {\n\t\t\t\t\t\tthis.props.onSubmit( null, event );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst suggestion = this.state.suggestions[\n\t\t\tthis.state.selectedSuggestion\n\t\t];\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP: {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst previousIndex = ! selectedSuggestion\n\t\t\t\t\t? suggestions.length - 1\n\t\t\t\t\t: selectedSuggestion - 1;\n\t\t\t\tthis.setState( {\n\t\t\t\t\tselectedSuggestion: previousIndex,\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase DOWN: {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst nextIndex =\n\t\t\t\t\tselectedSuggestion === null ||\n\t\t\t\t\tselectedSuggestion === suggestions.length - 1\n\t\t\t\t\t\t? 0\n\t\t\t\t\t\t: selectedSuggestion + 1;\n\t\t\t\tthis.setState( {\n\t\t\t\t\tselectedSuggestion: nextIndex,\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase TAB: {\n\t\t\t\tif ( this.state.selectedSuggestion !== null ) {\n\t\t\t\t\tthis.selectLink( suggestion );\n\t\t\t\t\t// Announce a link has been selected when tabbing away from the input field.\n\t\t\t\t\tthis.props.speak( __( 'Link selected.' ) );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ENTER: {\n\t\t\t\tif ( this.state.selectedSuggestion !== null ) {\n\t\t\t\t\tthis.selectLink( suggestion );\n\n\t\t\t\t\tif ( this.props.onSubmit ) {\n\t\t\t\t\t\tthis.props.onSubmit( suggestion, event );\n\t\t\t\t\t}\n\t\t\t\t} else if ( this.props.onSubmit ) {\n\t\t\t\t\tthis.props.onSubmit( null, event );\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tselectLink( suggestion ) {\n\t\tthis.props.onChange( suggestion.url, suggestion );\n\t\tthis.setState( {\n\t\t\tselectedSuggestion: null,\n\t\t\tshowSuggestions: false,\n\t\t} );\n\t}\n\n\thandleOnClick( suggestion ) {\n\t\tthis.selectLink( suggestion );\n\t\t// Move focus to the input field when a link suggestion is clicked.\n\t\tthis.inputRef.current.focus();\n\t}\n\n\tstatic getDerivedStateFromProps(\n\t\t{\n\t\t\tvalue,\n\t\t\tinstanceId,\n\t\t\tdisableSuggestions,\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t},\n\t\t{ showSuggestions }\n\t) {\n\t\tlet shouldShowSuggestions = showSuggestions;\n\n\t\tconst hasValue = value && value.length;\n\n\t\tif ( ! __experimentalShowInitialSuggestions && ! hasValue ) {\n\t\t\tshouldShowSuggestions = false;\n\t\t}\n\n\t\tif ( disableSuggestions === true ) {\n\t\t\tshouldShowSuggestions = false;\n\t\t}\n\n\t\treturn {\n\t\t\tshowSuggestions: shouldShowSuggestions,\n\t\t\tsuggestionsListboxId: `block-editor-url-input-suggestions-${ instanceId }`,\n\t\t\tsuggestionOptionIdPrefix: `block-editor-url-input-suggestion-${ instanceId }`,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ this.renderControl() }\n\t\t\t\t{ this.renderSuggestions() }\n\t\t\t</>\n\t\t);\n\t}\n\n\trenderControl() {\n\t\tconst {\n\t\t\tlabel,\n\t\t\tclassName,\n\t\t\tisFullWidth,\n\t\t\tinstanceId,\n\t\t\tplaceholder = __( 'Paste URL or type to search' ),\n\t\t\t__experimentalRenderControl: renderControl,\n\t\t\tvalue = '',\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tloading,\n\t\t\tshowSuggestions,\n\t\t\tselectedSuggestion,\n\t\t\tsuggestionsListboxId,\n\t\t\tsuggestionOptionIdPrefix,\n\t\t} = this.state;\n\n\t\tconst controlProps = {\n\t\t\tid: `url-input-control-${ instanceId }`,\n\t\t\tlabel,\n\t\t\tclassName: classnames( 'block-editor-url-input', className, {\n\t\t\t\t'is-full-width': isFullWidth,\n\t\t\t} ),\n\t\t};\n\n\t\tconst inputProps = {\n\t\t\tvalue,\n\t\t\trequired: true,\n\t\t\tclassName: 'block-editor-url-input__input',\n\t\t\ttype: 'text',\n\t\t\tonChange: this.onChange,\n\t\t\tonFocus: this.onFocus,\n\t\t\tplaceholder,\n\t\t\tonKeyDown: this.onKeyDown,\n\t\t\trole: 'combobox',\n\t\t\t'aria-label': __( 'URL' ),\n\t\t\t'aria-expanded': showSuggestions,\n\t\t\t'aria-autocomplete': 'list',\n\t\t\t'aria-owns': suggestionsListboxId,\n\t\t\t'aria-activedescendant':\n\t\t\t\tselectedSuggestion !== null\n\t\t\t\t\t? `${ suggestionOptionIdPrefix }-${ selectedSuggestion }`\n\t\t\t\t\t: undefined,\n\t\t\tref: this.inputRef,\n\t\t};\n\n\t\tif ( renderControl ) {\n\t\t\treturn renderControl( controlProps, inputProps, loading );\n\t\t}\n\n\t\treturn (\n\t\t\t<BaseControl { ...controlProps }>\n\t\t\t\t<input { ...inputProps } />\n\t\t\t\t{ loading && <Spinner /> }\n\t\t\t</BaseControl>\n\t\t);\n\t}\n\n\trenderSuggestions() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\t__experimentalRenderSuggestions: renderSuggestions,\n\t\t\tvalue = '',\n\t\t\t__experimentalShowInitialSuggestions = false,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tshowSuggestions,\n\t\t\tsuggestions,\n\t\t\tselectedSuggestion,\n\t\t\tsuggestionsListboxId,\n\t\t\tsuggestionOptionIdPrefix,\n\t\t\tloading,\n\t\t} = this.state;\n\n\t\tconst suggestionsListProps = {\n\t\t\tid: suggestionsListboxId,\n\t\t\tref: this.autocompleteRef,\n\t\t\trole: 'listbox',\n\t\t};\n\n\t\tconst buildSuggestionItemProps = ( suggestion, index ) => {\n\t\t\treturn {\n\t\t\t\trole: 'option',\n\t\t\t\ttabIndex: '-1',\n\t\t\t\tid: `${ suggestionOptionIdPrefix }-${ index }`,\n\t\t\t\tref: this.bindSuggestionNode( index ),\n\t\t\t\t'aria-selected': index === selectedSuggestion,\n\t\t\t};\n\t\t};\n\n\t\tif (\n\t\t\tisFunction( renderSuggestions ) &&\n\t\t\tshowSuggestions &&\n\t\t\t!! suggestions.length\n\t\t) {\n\t\t\treturn renderSuggestions( {\n\t\t\t\tsuggestions,\n\t\t\t\tselectedSuggestion,\n\t\t\t\tsuggestionsListProps,\n\t\t\t\tbuildSuggestionItemProps,\n\t\t\t\tisLoading: loading,\n\t\t\t\thandleSuggestionClick: this.handleOnClick,\n\t\t\t\tisInitialSuggestions:\n\t\t\t\t\t__experimentalShowInitialSuggestions &&\n\t\t\t\t\t! ( value && value.length ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\t! isFunction( renderSuggestions ) &&\n\t\t\tshowSuggestions &&\n\t\t\t!! suggestions.length\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<Popover position=\"bottom\" noArrow focusOnMount={ false }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...suggestionsListProps }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-url-input__suggestions',\n\t\t\t\t\t\t\t`${ className }__suggestions`\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ suggestions.map( ( suggestion, index ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t{ ...buildSuggestionItemProps(\n\t\t\t\t\t\t\t\t\tsuggestion,\n\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ suggestion.id }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'block-editor-url-input__suggestion',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-selected':\n\t\t\t\t\t\t\t\t\t\t\tindex === selectedSuggestion,\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\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tthis.handleOnClick( suggestion )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ suggestion.title }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md\n */\nexport default compose(\n\twithSafeTimeout,\n\twithSpokenMessages,\n\twithInstanceId,\n\twithSelect( ( select, props ) => {\n\t\t// If a link suggestions handler is already provided then\n\t\t// bail\n\t\tif ( isFunction( props.__experimentalFetchLinkSuggestions ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\t__experimentalFetchLinkSuggestions: getSettings()\n\t\t\t\t.__experimentalFetchLinkSuggestions,\n\t\t};\n\t} )\n)( URLInput );\n"]}
@@ -22,12 +22,14 @@ var _i18n = require("@wordpress/i18n");
22
22
  /**
23
23
  * WordPress dependencies
24
24
  */
25
- function URLInput({
26
- value = '',
27
- autoFocus = true,
28
- onChange,
29
- ...extraProps
30
- }) {
25
+ function URLInput(_ref) {
26
+ let {
27
+ value = '',
28
+ autoFocus = true,
29
+ onChange,
30
+ ...extraProps
31
+ } = _ref;
32
+
31
33
  /* eslint-disable jsx-a11y/no-autofocus */
32
34
  return (0, _element.createElement)(_reactNative.TextInput, (0, _extends2.default)({
33
35
  autoFocus: autoFocus,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-input/index.native.js"],"names":["URLInput","value","autoFocus","onChange","extraProps"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,QAAT,CAAmB;AACjCC,EAAAA,KAAK,GAAG,EADyB;AAEjCC,EAAAA,SAAS,GAAG,IAFqB;AAGjCC,EAAAA,QAHiC;AAIjC,KAAGC;AAJ8B,CAAnB,EAKX;AACH;AACA,SACC,4BAAC,sBAAD;AACC,IAAA,SAAS,EAAGF,SADb;AAEC,IAAA,QAAQ,MAFT;AAGC,IAAA,iBAAiB,MAHlB;AAIC,IAAA,cAAc,EAAC,MAJhB;AAKC,IAAA,WAAW,EAAG,KALf;AAMC,IAAA,eAAe,EAAC,KANjB;AAOC,IAAA,KAAK,EAAGD,KAPT;AAQC,IAAA,YAAY,EAAGE,QARhB;AASC,IAAA,WAAW,EAAG,cAAI,WAAJ;AATf,KAUMC,UAVN,EADD;AAcA;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { TextInput } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport default function URLInput( {\n\tvalue = '',\n\tautoFocus = true,\n\tonChange,\n\t...extraProps\n} ) {\n\t/* eslint-disable jsx-a11y/no-autofocus */\n\treturn (\n\t\t<TextInput\n\t\t\tautoFocus={ autoFocus }\n\t\t\teditable\n\t\t\tselectTextOnFocus\n\t\t\tautoCapitalize=\"none\"\n\t\t\tautoCorrect={ false }\n\t\t\ttextContentType=\"URL\"\n\t\t\tvalue={ value }\n\t\t\tonChangeText={ onChange }\n\t\t\tplaceholder={ __( 'Paste URL' ) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n\t/* eslint-enable jsx-a11y/no-autofocus */\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-input/index.native.js"],"names":["URLInput","value","autoFocus","onChange","extraProps"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,QAAT,OAKX;AAAA,MAL8B;AACjCC,IAAAA,KAAK,GAAG,EADyB;AAEjCC,IAAAA,SAAS,GAAG,IAFqB;AAGjCC,IAAAA,QAHiC;AAIjC,OAAGC;AAJ8B,GAK9B;;AACH;AACA,SACC,4BAAC,sBAAD;AACC,IAAA,SAAS,EAAGF,SADb;AAEC,IAAA,QAAQ,MAFT;AAGC,IAAA,iBAAiB,MAHlB;AAIC,IAAA,cAAc,EAAC,MAJhB;AAKC,IAAA,WAAW,EAAG,KALf;AAMC,IAAA,eAAe,EAAC,KANjB;AAOC,IAAA,KAAK,EAAGD,KAPT;AAQC,IAAA,YAAY,EAAGE,QARhB;AASC,IAAA,WAAW,EAAG,cAAI,WAAJ;AATf,KAUMC,UAVN,EADD;AAcA;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { TextInput } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport default function URLInput( {\n\tvalue = '',\n\tautoFocus = true,\n\tonChange,\n\t...extraProps\n} ) {\n\t/* eslint-disable jsx-a11y/no-autofocus */\n\treturn (\n\t\t<TextInput\n\t\t\tautoFocus={ autoFocus }\n\t\t\teditable\n\t\t\tselectTextOnFocus\n\t\t\tautoCapitalize=\"none\"\n\t\t\tautoCorrect={ false }\n\t\t\ttextContentType=\"URL\"\n\t\t\tvalue={ value }\n\t\t\tonChangeText={ onChange }\n\t\t\tplaceholder={ __( 'Paste URL' ) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n\t/* eslint-enable jsx-a11y/no-autofocus */\n}\n"]}
@@ -47,17 +47,18 @@ const icon = (0, _element.createElement)(_components.SVG, {
47
47
  d: "m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"
48
48
  }));
49
49
 
50
- const ImageURLInputUI = ({
51
- linkDestination,
52
- onChangeUrl,
53
- url,
54
- mediaType = 'image',
55
- mediaUrl,
56
- mediaLink,
57
- linkTarget,
58
- linkClass,
59
- rel
60
- }) => {
50
+ const ImageURLInputUI = _ref => {
51
+ let {
52
+ linkDestination,
53
+ onChangeUrl,
54
+ url,
55
+ mediaType = 'image',
56
+ mediaUrl,
57
+ mediaLink,
58
+ linkTarget,
59
+ linkClass,
60
+ rel
61
+ } = _ref;
61
62
  const [isOpen, setIsOpen] = (0, _element.useState)(false);
62
63
  const openLinkUI = (0, _element.useCallback)(() => {
63
64
  setIsOpen(true);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/image-url-input-ui.js"],"names":["LINK_DESTINATION_NONE","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","NEW_TAB_REL","icon","ImageURLInputUI","linkDestination","onChangeUrl","url","mediaType","mediaUrl","mediaLink","linkTarget","linkClass","rel","isOpen","setIsOpen","openLinkUI","isEditingLink","setIsEditingLink","urlInput","setUrlInput","autocompleteRef","startEditLink","stopEditLink","closeLinkUI","removeNewTabRel","currentRel","newRel","undefined","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","value","newLinkTarget","updatedRel","onFocusOutside","event","autocompleteElement","current","contains","target","onSubmitLinkChange","selectedDestination","getLinkDestinations","find","destination","href","preventDefault","onLinkRemove","linkDestinations","title","push","onSetHref","linkDestinationInput","onSetNewTab","updatedLinkTarget","onSetLinkRel","onSetLinkClass","advancedOptions","linkEditorValue","urlLabel","linkIcon","link","close"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, isEmpty, each, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useCallback } from '@wordpress/element';\nimport {\n\tToolbarButton,\n\tButton,\n\tNavigableMenu,\n\tMenuItem,\n\tToggleControl,\n\tTextControl,\n\tSVG,\n\tPath,\n} from '@wordpress/components';\nimport { link as linkIcon, close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport URLPopover from './index';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_CUSTOM = 'custom';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst NEW_TAB_REL = [ 'noreferrer', 'noopener' ];\n\nconst icon = (\n\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<Path d=\"M0,0h24v24H0V0z\" fill=\"none\" />\n\t\t<Path d=\"m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z\" />\n\t\t<Path d=\"m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z\" />\n\t</SVG>\n);\n\nconst ImageURLInputUI = ( {\n\tlinkDestination,\n\tonChangeUrl,\n\turl,\n\tmediaType = 'image',\n\tmediaUrl,\n\tmediaLink,\n\tlinkTarget,\n\tlinkClass,\n\trel,\n} ) => {\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\tconst openLinkUI = useCallback( () => {\n\t\tsetIsOpen( true );\n\t} );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState( false );\n\tconst [ urlInput, setUrlInput ] = useState( null );\n\n\tconst autocompleteRef = useRef( null );\n\n\tconst startEditLink = useCallback( () => {\n\t\tif (\n\t\t\tlinkDestination === LINK_DESTINATION_MEDIA ||\n\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t) {\n\t\t\tsetUrlInput( '' );\n\t\t}\n\t\tsetIsEditingLink( true );\n\t} );\n\n\tconst stopEditLink = useCallback( () => {\n\t\tsetIsEditingLink( false );\n\t} );\n\n\tconst closeLinkUI = useCallback( () => {\n\t\tsetUrlInput( null );\n\t\tstopEditLink();\n\t\tsetIsOpen( false );\n\t} );\n\n\tconst removeNewTabRel = ( currentRel ) => {\n\t\tlet newRel = currentRel;\n\n\t\tif ( currentRel !== undefined && ! isEmpty( newRel ) ) {\n\t\t\tif ( ! isEmpty( newRel ) ) {\n\t\t\t\teach( NEW_TAB_REL, ( relVal ) => {\n\t\t\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t\t\t} );\n\n\t\t\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\t\t\tif ( newRel !== currentRel ) {\n\t\t\t\t\tnewRel = newRel.trim();\n\t\t\t\t}\n\n\t\t\t\tif ( isEmpty( newRel ) ) {\n\t\t\t\t\tnewRel = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn newRel;\n\t};\n\n\tconst getUpdatedLinkTargetSettings = ( value ) => {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel;\n\t\tif ( ! newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = undefined;\n\t\t} else {\n\t\t\tupdatedRel = removeNewTabRel( rel );\n\t\t}\n\n\t\treturn {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t};\n\t};\n\n\tconst onFocusOutside = useCallback( () => {\n\t\treturn ( event ) => {\n\t\t\t// The autocomplete suggestions list renders in a separate popover (in a portal),\n\t\t\t// so onFocusOutside fails to detect that a click on a suggestion occurred in the\n\t\t\t// LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and\n\t\t\t// return to avoid the popover being closed.\n\t\t\tconst autocompleteElement = autocompleteRef.current;\n\t\t\tif (\n\t\t\t\tautocompleteElement &&\n\t\t\t\tautocompleteElement.contains( event.target )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsOpen( false );\n\t\t\tsetUrlInput( null );\n\t\t\tstopEditLink();\n\t\t};\n\t} );\n\n\tconst onSubmitLinkChange = useCallback( () => {\n\t\treturn ( event ) => {\n\t\t\tif ( urlInput ) {\n\t\t\t\t// It is possible the entered URL actually matches a named link destination.\n\t\t\t\t// This check will ensure our link destination is correct.\n\t\t\t\tconst selectedDestination =\n\t\t\t\t\tgetLinkDestinations().find(\n\t\t\t\t\t\t( destination ) => destination.url === urlInput\n\t\t\t\t\t)?.linkDestination || LINK_DESTINATION_CUSTOM;\n\n\t\t\t\tonChangeUrl( {\n\t\t\t\t\thref: urlInput,\n\t\t\t\t\tlinkDestination: selectedDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tstopEditLink();\n\t\t\tsetUrlInput( null );\n\t\t\tevent.preventDefault();\n\t\t};\n\t} );\n\n\tconst onLinkRemove = useCallback( () => {\n\t\tonChangeUrl( {\n\t\t\tlinkDestination: LINK_DESTINATION_NONE,\n\t\t\thref: '',\n\t\t} );\n\t} );\n\n\tconst getLinkDestinations = () => {\n\t\tconst linkDestinations = [\n\t\t\t{\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t\ttitle: __( 'Media File' ),\n\t\t\t\turl: mediaType === 'image' ? mediaUrl : undefined,\n\t\t\t\ticon,\n\t\t\t},\n\t\t];\n\t\tif ( mediaType === 'image' && mediaLink ) {\n\t\t\tlinkDestinations.push( {\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t\ttitle: __( 'Attachment Page' ),\n\t\t\t\turl: mediaType === 'image' ? mediaLink : undefined,\n\t\t\t\ticon: (\n\t\t\t\t\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<Path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n\t\t\t\t\t\t<Path d=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t\treturn linkDestinations;\n\t};\n\n\tconst onSetHref = ( value ) => {\n\t\tconst linkDestinations = getLinkDestinations();\n\t\tlet linkDestinationInput;\n\t\tif ( ! value ) {\n\t\t\tlinkDestinationInput = LINK_DESTINATION_NONE;\n\t\t} else {\n\t\t\tlinkDestinationInput = (\n\t\t\t\tfind( linkDestinations, ( destination ) => {\n\t\t\t\t\treturn destination.url === value;\n\t\t\t\t} ) || { linkDestination: LINK_DESTINATION_CUSTOM }\n\t\t\t).linkDestination;\n\t\t}\n\t\tonChangeUrl( {\n\t\t\tlinkDestination: linkDestinationInput,\n\t\t\thref: value,\n\t\t} );\n\t};\n\n\tconst onSetNewTab = ( value ) => {\n\t\tconst updatedLinkTarget = getUpdatedLinkTargetSettings( value );\n\t\tonChangeUrl( updatedLinkTarget );\n\t};\n\n\tconst onSetLinkRel = ( value ) => {\n\t\tonChangeUrl( { rel: value } );\n\t};\n\n\tconst onSetLinkClass = ( value ) => {\n\t\tonChangeUrl( { linkClass: value } );\n\t};\n\n\tconst advancedOptions = (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\tonChange={ onSetNewTab }\n\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tlabel={ __( 'Link Rel' ) }\n\t\t\t\tvalue={ removeNewTabRel( rel ) || '' }\n\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tlabel={ __( 'Link CSS Class' ) }\n\t\t\t\tvalue={ linkClass || '' }\n\t\t\t\tonChange={ onSetLinkClass }\n\t\t\t/>\n\t\t</>\n\t);\n\n\tconst linkEditorValue = urlInput !== null ? urlInput : url;\n\n\tconst urlLabel = (\n\t\tfind( getLinkDestinations(), [ 'linkDestination', linkDestination ] ) ||\n\t\t{}\n\t).title;\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ linkIcon }\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tlabel={ url ? __( 'Edit link' ) : __( 'Insert link' ) }\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t\tonClick={ openLinkUI }\n\t\t\t/>\n\t\t\t{ isOpen && (\n\t\t\t\t<URLPopover\n\t\t\t\t\tonFocusOutside={ onFocusOutside() }\n\t\t\t\t\tonClose={ closeLinkUI }\n\t\t\t\t\trenderSettings={ () => advancedOptions }\n\t\t\t\t\tadditionalControls={\n\t\t\t\t\t\t! linkEditorValue && (\n\t\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t\t{ map( getLinkDestinations(), ( link ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ link.linkDestination }\n\t\t\t\t\t\t\t\t\t\ticon={ link.icon }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetUrlInput( null );\n\t\t\t\t\t\t\t\t\t\t\tonSetHref( link.url );\n\t\t\t\t\t\t\t\t\t\t\tstopEditLink();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ link.title }\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</NavigableMenu>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ ( ! url || isEditingLink ) && (\n\t\t\t\t\t\t<URLPopover.LinkEditor\n\t\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__link-container-content\"\n\t\t\t\t\t\t\tvalue={ linkEditorValue }\n\t\t\t\t\t\t\tonChangeInputValue={ setUrlInput }\n\t\t\t\t\t\t\tonSubmit={ onSubmitLinkChange() }\n\t\t\t\t\t\t\tautocompleteRef={ autocompleteRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ url && ! isEditingLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<URLPopover.LinkViewer\n\t\t\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__link-container-content\"\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tonEditLinkClick={ startEditLink }\n\t\t\t\t\t\t\t\turlLabel={ urlLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\t\t\tlabel={ __( 'Remove link' ) }\n\t\t\t\t\t\t\t\tonClick={ onLinkRemove }\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</URLPopover>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport { ImageURLInputUI as __experimentalImageURLInputUI };\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/image-url-input-ui.js"],"names":["LINK_DESTINATION_NONE","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","NEW_TAB_REL","icon","ImageURLInputUI","linkDestination","onChangeUrl","url","mediaType","mediaUrl","mediaLink","linkTarget","linkClass","rel","isOpen","setIsOpen","openLinkUI","isEditingLink","setIsEditingLink","urlInput","setUrlInput","autocompleteRef","startEditLink","stopEditLink","closeLinkUI","removeNewTabRel","currentRel","newRel","undefined","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","value","newLinkTarget","updatedRel","onFocusOutside","event","autocompleteElement","current","contains","target","onSubmitLinkChange","selectedDestination","getLinkDestinations","find","destination","href","preventDefault","onLinkRemove","linkDestinations","title","push","onSetHref","linkDestinationInput","onSetNewTab","updatedLinkTarget","onSetLinkRel","onSetLinkClass","advancedOptions","linkEditorValue","urlLabel","linkIcon","link","close"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, isEmpty, each, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useCallback } from '@wordpress/element';\nimport {\n\tToolbarButton,\n\tButton,\n\tNavigableMenu,\n\tMenuItem,\n\tToggleControl,\n\tTextControl,\n\tSVG,\n\tPath,\n} from '@wordpress/components';\nimport { link as linkIcon, close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport URLPopover from './index';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_CUSTOM = 'custom';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst NEW_TAB_REL = [ 'noreferrer', 'noopener' ];\n\nconst icon = (\n\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<Path d=\"M0,0h24v24H0V0z\" fill=\"none\" />\n\t\t<Path d=\"m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z\" />\n\t\t<Path d=\"m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z\" />\n\t</SVG>\n);\n\nconst ImageURLInputUI = ( {\n\tlinkDestination,\n\tonChangeUrl,\n\turl,\n\tmediaType = 'image',\n\tmediaUrl,\n\tmediaLink,\n\tlinkTarget,\n\tlinkClass,\n\trel,\n} ) => {\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\tconst openLinkUI = useCallback( () => {\n\t\tsetIsOpen( true );\n\t} );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState( false );\n\tconst [ urlInput, setUrlInput ] = useState( null );\n\n\tconst autocompleteRef = useRef( null );\n\n\tconst startEditLink = useCallback( () => {\n\t\tif (\n\t\t\tlinkDestination === LINK_DESTINATION_MEDIA ||\n\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t) {\n\t\t\tsetUrlInput( '' );\n\t\t}\n\t\tsetIsEditingLink( true );\n\t} );\n\n\tconst stopEditLink = useCallback( () => {\n\t\tsetIsEditingLink( false );\n\t} );\n\n\tconst closeLinkUI = useCallback( () => {\n\t\tsetUrlInput( null );\n\t\tstopEditLink();\n\t\tsetIsOpen( false );\n\t} );\n\n\tconst removeNewTabRel = ( currentRel ) => {\n\t\tlet newRel = currentRel;\n\n\t\tif ( currentRel !== undefined && ! isEmpty( newRel ) ) {\n\t\t\tif ( ! isEmpty( newRel ) ) {\n\t\t\t\teach( NEW_TAB_REL, ( relVal ) => {\n\t\t\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t\t\t} );\n\n\t\t\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\t\t\tif ( newRel !== currentRel ) {\n\t\t\t\t\tnewRel = newRel.trim();\n\t\t\t\t}\n\n\t\t\t\tif ( isEmpty( newRel ) ) {\n\t\t\t\t\tnewRel = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn newRel;\n\t};\n\n\tconst getUpdatedLinkTargetSettings = ( value ) => {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel;\n\t\tif ( ! newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = undefined;\n\t\t} else {\n\t\t\tupdatedRel = removeNewTabRel( rel );\n\t\t}\n\n\t\treturn {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t};\n\t};\n\n\tconst onFocusOutside = useCallback( () => {\n\t\treturn ( event ) => {\n\t\t\t// The autocomplete suggestions list renders in a separate popover (in a portal),\n\t\t\t// so onFocusOutside fails to detect that a click on a suggestion occurred in the\n\t\t\t// LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and\n\t\t\t// return to avoid the popover being closed.\n\t\t\tconst autocompleteElement = autocompleteRef.current;\n\t\t\tif (\n\t\t\t\tautocompleteElement &&\n\t\t\t\tautocompleteElement.contains( event.target )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsOpen( false );\n\t\t\tsetUrlInput( null );\n\t\t\tstopEditLink();\n\t\t};\n\t} );\n\n\tconst onSubmitLinkChange = useCallback( () => {\n\t\treturn ( event ) => {\n\t\t\tif ( urlInput ) {\n\t\t\t\t// It is possible the entered URL actually matches a named link destination.\n\t\t\t\t// This check will ensure our link destination is correct.\n\t\t\t\tconst selectedDestination =\n\t\t\t\t\tgetLinkDestinations().find(\n\t\t\t\t\t\t( destination ) => destination.url === urlInput\n\t\t\t\t\t)?.linkDestination || LINK_DESTINATION_CUSTOM;\n\n\t\t\t\tonChangeUrl( {\n\t\t\t\t\thref: urlInput,\n\t\t\t\t\tlinkDestination: selectedDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tstopEditLink();\n\t\t\tsetUrlInput( null );\n\t\t\tevent.preventDefault();\n\t\t};\n\t} );\n\n\tconst onLinkRemove = useCallback( () => {\n\t\tonChangeUrl( {\n\t\t\tlinkDestination: LINK_DESTINATION_NONE,\n\t\t\thref: '',\n\t\t} );\n\t} );\n\n\tconst getLinkDestinations = () => {\n\t\tconst linkDestinations = [\n\t\t\t{\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t\ttitle: __( 'Media File' ),\n\t\t\t\turl: mediaType === 'image' ? mediaUrl : undefined,\n\t\t\t\ticon,\n\t\t\t},\n\t\t];\n\t\tif ( mediaType === 'image' && mediaLink ) {\n\t\t\tlinkDestinations.push( {\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t\ttitle: __( 'Attachment Page' ),\n\t\t\t\turl: mediaType === 'image' ? mediaLink : undefined,\n\t\t\t\ticon: (\n\t\t\t\t\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<Path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n\t\t\t\t\t\t<Path d=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t\treturn linkDestinations;\n\t};\n\n\tconst onSetHref = ( value ) => {\n\t\tconst linkDestinations = getLinkDestinations();\n\t\tlet linkDestinationInput;\n\t\tif ( ! value ) {\n\t\t\tlinkDestinationInput = LINK_DESTINATION_NONE;\n\t\t} else {\n\t\t\tlinkDestinationInput = (\n\t\t\t\tfind( linkDestinations, ( destination ) => {\n\t\t\t\t\treturn destination.url === value;\n\t\t\t\t} ) || { linkDestination: LINK_DESTINATION_CUSTOM }\n\t\t\t).linkDestination;\n\t\t}\n\t\tonChangeUrl( {\n\t\t\tlinkDestination: linkDestinationInput,\n\t\t\thref: value,\n\t\t} );\n\t};\n\n\tconst onSetNewTab = ( value ) => {\n\t\tconst updatedLinkTarget = getUpdatedLinkTargetSettings( value );\n\t\tonChangeUrl( updatedLinkTarget );\n\t};\n\n\tconst onSetLinkRel = ( value ) => {\n\t\tonChangeUrl( { rel: value } );\n\t};\n\n\tconst onSetLinkClass = ( value ) => {\n\t\tonChangeUrl( { linkClass: value } );\n\t};\n\n\tconst advancedOptions = (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\tonChange={ onSetNewTab }\n\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tlabel={ __( 'Link Rel' ) }\n\t\t\t\tvalue={ removeNewTabRel( rel ) || '' }\n\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tlabel={ __( 'Link CSS Class' ) }\n\t\t\t\tvalue={ linkClass || '' }\n\t\t\t\tonChange={ onSetLinkClass }\n\t\t\t/>\n\t\t</>\n\t);\n\n\tconst linkEditorValue = urlInput !== null ? urlInput : url;\n\n\tconst urlLabel = (\n\t\tfind( getLinkDestinations(), [ 'linkDestination', linkDestination ] ) ||\n\t\t{}\n\t).title;\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ linkIcon }\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tlabel={ url ? __( 'Edit link' ) : __( 'Insert link' ) }\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t\tonClick={ openLinkUI }\n\t\t\t/>\n\t\t\t{ isOpen && (\n\t\t\t\t<URLPopover\n\t\t\t\t\tonFocusOutside={ onFocusOutside() }\n\t\t\t\t\tonClose={ closeLinkUI }\n\t\t\t\t\trenderSettings={ () => advancedOptions }\n\t\t\t\t\tadditionalControls={\n\t\t\t\t\t\t! linkEditorValue && (\n\t\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t\t{ map( getLinkDestinations(), ( link ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ link.linkDestination }\n\t\t\t\t\t\t\t\t\t\ticon={ link.icon }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetUrlInput( null );\n\t\t\t\t\t\t\t\t\t\t\tonSetHref( link.url );\n\t\t\t\t\t\t\t\t\t\t\tstopEditLink();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ link.title }\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</NavigableMenu>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ ( ! url || isEditingLink ) && (\n\t\t\t\t\t\t<URLPopover.LinkEditor\n\t\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__link-container-content\"\n\t\t\t\t\t\t\tvalue={ linkEditorValue }\n\t\t\t\t\t\t\tonChangeInputValue={ setUrlInput }\n\t\t\t\t\t\t\tonSubmit={ onSubmitLinkChange() }\n\t\t\t\t\t\t\tautocompleteRef={ autocompleteRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ url && ! isEditingLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<URLPopover.LinkViewer\n\t\t\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__link-container-content\"\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tonEditLinkClick={ startEditLink }\n\t\t\t\t\t\t\t\turlLabel={ urlLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\t\t\tlabel={ __( 'Remove link' ) }\n\t\t\t\t\t\t\t\tonClick={ onLinkRemove }\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</URLPopover>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport { ImageURLInputUI as __experimentalImageURLInputUI };\n"]}
@@ -28,14 +28,15 @@ var _linkEditor = _interopRequireDefault(require("./link-editor"));
28
28
  /**
29
29
  * Internal dependencies
30
30
  */
31
- function URLPopover({
32
- additionalControls,
33
- children,
34
- renderSettings,
35
- position = 'bottom center',
36
- focusOnMount = 'firstElement',
37
- ...popoverProps
38
- }) {
31
+ function URLPopover(_ref) {
32
+ let {
33
+ additionalControls,
34
+ children,
35
+ renderSettings,
36
+ position = 'bottom center',
37
+ focusOnMount = 'firstElement',
38
+ ...popoverProps
39
+ } = _ref;
39
40
  const [isSettingsExpanded, setIsSettingsExpanded] = (0, _element.useState)(false);
40
41
  const showSettings = !!renderSettings && isSettingsExpanded;
41
42
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/index.js"],"names":["URLPopover","additionalControls","children","renderSettings","position","focusOnMount","popoverProps","isSettingsExpanded","setIsSettingsExpanded","showSettings","toggleSettingsVisibility","chevronDown","LinkEditor","LinkViewer"],"mappings":";;;;;;;;;AAIA;;;;AADA;;AAEA;;AACA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIA,SAASA,UAAT,CAAqB;AACpBC,EAAAA,kBADoB;AAEpBC,EAAAA,QAFoB;AAGpBC,EAAAA,cAHoB;AAIpBC,EAAAA,QAAQ,GAAG,eAJS;AAKpBC,EAAAA,YAAY,GAAG,cALK;AAMpB,KAAGC;AANiB,CAArB,EAOI;AACH,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgD,uBAAU,KAAV,CAAtD;AAEA,QAAMC,YAAY,GAAG,CAAC,CAAEN,cAAH,IAAqBI,kBAA1C;;AAEA,QAAMG,wBAAwB,GAAG,MAAM;AACtCF,IAAAA,qBAAqB,CAAE,CAAED,kBAAJ,CAArB;AACA,GAFD;;AAIA,SACC,4BAAC,mBAAD;AACC,IAAA,SAAS,EAAC,0BADX;AAEC,IAAA,YAAY,EAAGF,YAFhB;AAGC,IAAA,QAAQ,EAAGD;AAHZ,KAIME,YAJN,GAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGJ,QADH,EAEG,CAAC,CAAEC,cAAH,IACD,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,2CADX;AAEC,IAAA,IAAI,EAAGQ,kBAFR;AAGC,IAAA,KAAK,EAAG,cAAI,eAAJ,CAHT;AAIC,IAAA,OAAO,EAAGD,wBAJX;AAKC,qBAAgBH;AALjB,IAHF,CADD,EAaGE,YAAY,IACb;AAAK,IAAA,SAAS,EAAC;AAAf,KACGN,cAAc,EADjB,CAdF,CAND,EAyBGF,kBAAkB,IAAI,CAAEQ,YAAxB,IACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGR,kBADH,CA1BF,CADD;AAiCA;;AAEDD,UAAU,CAACY,UAAX,GAAwBA,mBAAxB;AAEAZ,UAAU,CAACa,UAAX,GAAwBA,mBAAxB;AAEA;AACA;AACA;;eACeb,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { Button, Popover } from '@wordpress/components';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkViewer from './link-viewer';\nimport LinkEditor from './link-editor';\n\nfunction URLPopover( {\n\tadditionalControls,\n\tchildren,\n\trenderSettings,\n\tposition = 'bottom center',\n\tfocusOnMount = 'firstElement',\n\t...popoverProps\n} ) {\n\tconst [ isSettingsExpanded, setIsSettingsExpanded ] = useState( false );\n\n\tconst showSettings = !! renderSettings && isSettingsExpanded;\n\n\tconst toggleSettingsVisibility = () => {\n\t\tsetIsSettingsExpanded( ! isSettingsExpanded );\n\t};\n\n\treturn (\n\t\t<Popover\n\t\t\tclassName=\"block-editor-url-popover\"\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tposition={ position }\n\t\t\t{ ...popoverProps }\n\t\t>\n\t\t\t<div className=\"block-editor-url-popover__input-container\">\n\t\t\t\t<div className=\"block-editor-url-popover__row\">\n\t\t\t\t\t{ children }\n\t\t\t\t\t{ !! renderSettings && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"block-editor-url-popover__settings-toggle\"\n\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\tlabel={ __( 'Link settings' ) }\n\t\t\t\t\t\t\tonClick={ toggleSettingsVisibility }\n\t\t\t\t\t\t\taria-expanded={ isSettingsExpanded }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ showSettings && (\n\t\t\t\t\t<div className=\"block-editor-url-popover__row block-editor-url-popover__settings\">\n\t\t\t\t\t\t{ renderSettings() }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ additionalControls && ! showSettings && (\n\t\t\t\t<div className=\"block-editor-url-popover__additional-controls\">\n\t\t\t\t\t{ additionalControls }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nURLPopover.LinkEditor = LinkEditor;\n\nURLPopover.LinkViewer = LinkViewer;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-popover/README.md\n */\nexport default URLPopover;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/index.js"],"names":["URLPopover","additionalControls","children","renderSettings","position","focusOnMount","popoverProps","isSettingsExpanded","setIsSettingsExpanded","showSettings","toggleSettingsVisibility","chevronDown","LinkEditor","LinkViewer"],"mappings":";;;;;;;;;AAIA;;;;AADA;;AAEA;;AACA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIA,SAASA,UAAT,OAOI;AAAA,MAPiB;AACpBC,IAAAA,kBADoB;AAEpBC,IAAAA,QAFoB;AAGpBC,IAAAA,cAHoB;AAIpBC,IAAAA,QAAQ,GAAG,eAJS;AAKpBC,IAAAA,YAAY,GAAG,cALK;AAMpB,OAAGC;AANiB,GAOjB;AACH,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgD,uBAAU,KAAV,CAAtD;AAEA,QAAMC,YAAY,GAAG,CAAC,CAAEN,cAAH,IAAqBI,kBAA1C;;AAEA,QAAMG,wBAAwB,GAAG,MAAM;AACtCF,IAAAA,qBAAqB,CAAE,CAAED,kBAAJ,CAArB;AACA,GAFD;;AAIA,SACC,4BAAC,mBAAD;AACC,IAAA,SAAS,EAAC,0BADX;AAEC,IAAA,YAAY,EAAGF,YAFhB;AAGC,IAAA,QAAQ,EAAGD;AAHZ,KAIME,YAJN,GAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGJ,QADH,EAEG,CAAC,CAAEC,cAAH,IACD,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,2CADX;AAEC,IAAA,IAAI,EAAGQ,kBAFR;AAGC,IAAA,KAAK,EAAG,cAAI,eAAJ,CAHT;AAIC,IAAA,OAAO,EAAGD,wBAJX;AAKC,qBAAgBH;AALjB,IAHF,CADD,EAaGE,YAAY,IACb;AAAK,IAAA,SAAS,EAAC;AAAf,KACGN,cAAc,EADjB,CAdF,CAND,EAyBGF,kBAAkB,IAAI,CAAEQ,YAAxB,IACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGR,kBADH,CA1BF,CADD;AAiCA;;AAEDD,UAAU,CAACY,UAAX,GAAwBA,mBAAxB;AAEAZ,UAAU,CAACa,UAAX,GAAwBA,mBAAxB;AAEA;AACA;AACA;;eACeb,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { Button, Popover } from '@wordpress/components';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkViewer from './link-viewer';\nimport LinkEditor from './link-editor';\n\nfunction URLPopover( {\n\tadditionalControls,\n\tchildren,\n\trenderSettings,\n\tposition = 'bottom center',\n\tfocusOnMount = 'firstElement',\n\t...popoverProps\n} ) {\n\tconst [ isSettingsExpanded, setIsSettingsExpanded ] = useState( false );\n\n\tconst showSettings = !! renderSettings && isSettingsExpanded;\n\n\tconst toggleSettingsVisibility = () => {\n\t\tsetIsSettingsExpanded( ! isSettingsExpanded );\n\t};\n\n\treturn (\n\t\t<Popover\n\t\t\tclassName=\"block-editor-url-popover\"\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tposition={ position }\n\t\t\t{ ...popoverProps }\n\t\t>\n\t\t\t<div className=\"block-editor-url-popover__input-container\">\n\t\t\t\t<div className=\"block-editor-url-popover__row\">\n\t\t\t\t\t{ children }\n\t\t\t\t\t{ !! renderSettings && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"block-editor-url-popover__settings-toggle\"\n\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\tlabel={ __( 'Link settings' ) }\n\t\t\t\t\t\t\tonClick={ toggleSettingsVisibility }\n\t\t\t\t\t\t\taria-expanded={ isSettingsExpanded }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ showSettings && (\n\t\t\t\t\t<div className=\"block-editor-url-popover__row block-editor-url-popover__settings\">\n\t\t\t\t\t\t{ renderSettings() }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ additionalControls && ! showSettings && (\n\t\t\t\t<div className=\"block-editor-url-popover__additional-controls\">\n\t\t\t\t\t{ additionalControls }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nURLPopover.LinkEditor = LinkEditor;\n\nURLPopover.LinkViewer = LinkViewer;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-popover/README.md\n */\nexport default URLPopover;\n"]}
@@ -32,13 +32,14 @@ var _urlInput = _interopRequireDefault(require("../url-input"));
32
32
  /**
33
33
  * Internal dependencies
34
34
  */
35
- function LinkEditor({
36
- autocompleteRef,
37
- className,
38
- onChangeInputValue,
39
- value,
40
- ...props
41
- }) {
35
+ function LinkEditor(_ref) {
36
+ let {
37
+ autocompleteRef,
38
+ className,
39
+ onChangeInputValue,
40
+ value,
41
+ ...props
42
+ } = _ref;
42
43
  return (0, _element.createElement)("form", (0, _extends2.default)({
43
44
  className: (0, _classnames.default)('block-editor-url-popover__link-editor', className)
44
45
  }, props), (0, _element.createElement)(_urlInput.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/link-editor.js"],"names":["LinkEditor","autocompleteRef","className","onChangeInputValue","value","props","keyboardReturn"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,UAAT,CAAqB;AACnCC,EAAAA,eADmC;AAEnCC,EAAAA,SAFmC;AAGnCC,EAAAA,kBAHmC;AAInCC,EAAAA,KAJmC;AAKnC,KAAGC;AALgC,CAArB,EAMX;AACH,SACC;AACC,IAAA,SAAS,EAAG,yBACX,uCADW,EAEXH,SAFW;AADb,KAKMG,KALN,GAOC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAGD,KADT;AAEC,IAAA,QAAQ,EAAGD,kBAFZ;AAGC,IAAA,eAAe,EAAGF;AAHnB,IAPD,EAYC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGK,qBADR;AAEC,IAAA,KAAK,EAAG,cAAI,OAAJ,CAFT;AAGC,IAAA,IAAI,EAAC;AAHN,IAZD,CADD;AAoBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport URLInput from '../url-input';\n\nexport default function LinkEditor( {\n\tautocompleteRef,\n\tclassName,\n\tonChangeInputValue,\n\tvalue,\n\t...props\n} ) {\n\treturn (\n\t\t<form\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-url-popover__link-editor',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<URLInput\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeInputValue }\n\t\t\t\tautocompleteRef={ autocompleteRef }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/link-editor.js"],"names":["LinkEditor","autocompleteRef","className","onChangeInputValue","value","props","keyboardReturn"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,UAAT,OAMX;AAAA,MANgC;AACnCC,IAAAA,eADmC;AAEnCC,IAAAA,SAFmC;AAGnCC,IAAAA,kBAHmC;AAInCC,IAAAA,KAJmC;AAKnC,OAAGC;AALgC,GAMhC;AACH,SACC;AACC,IAAA,SAAS,EAAG,yBACX,uCADW,EAEXH,SAFW;AADb,KAKMG,KALN,GAOC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAGD,KADT;AAEC,IAAA,QAAQ,EAAGD,kBAFZ;AAGC,IAAA,eAAe,EAAGF;AAHnB,IAPD,EAYC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGK,qBADR;AAEC,IAAA,KAAK,EAAG,cAAI,OAAJ,CAFT;AAGC,IAAA,IAAI,EAAC;AAHN,IAZD,CADD;AAoBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport URLInput from '../url-input';\n\nexport default function LinkEditor( {\n\tautocompleteRef,\n\tclassName,\n\tonChangeInputValue,\n\tvalue,\n\t...props\n} ) {\n\treturn (\n\t\t<form\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-url-popover__link-editor',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<URLInput\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeInputValue }\n\t\t\t\tautocompleteRef={ autocompleteRef }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t);\n}\n"]}
@@ -22,11 +22,12 @@ var _url = require("@wordpress/url");
22
22
  /**
23
23
  * WordPress dependencies
24
24
  */
25
- function LinkViewerURL({
26
- url,
27
- urlLabel,
28
- className
29
- }) {
25
+ function LinkViewerURL(_ref) {
26
+ let {
27
+ url,
28
+ urlLabel,
29
+ className
30
+ } = _ref;
30
31
  const linkClassName = (0, _classnames.default)(className, 'block-editor-url-popover__link-viewer-url');
31
32
 
32
33
  if (!url) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/link-viewer-url.js"],"names":["LinkViewerURL","url","urlLabel","className","linkClassName"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,aAAT,CAAwB;AAAEC,EAAAA,GAAF;AAAOC,EAAAA,QAAP;AAAiBC,EAAAA;AAAjB,CAAxB,EAAuD;AACrE,QAAMC,aAAa,GAAG,yBACrBD,SADqB,EAErB,2CAFqB,CAAtB;;AAKA,MAAK,CAAEF,GAAP,EAAa;AACZ,WAAO;AAAM,MAAA,SAAS,EAAGG;AAAlB,MAAP;AACA;;AAED,SACC,4BAAC,wBAAD;AAAc,IAAA,SAAS,EAAGA,aAA1B;AAA0C,IAAA,IAAI,EAAGH;AAAjD,KACGC,QAAQ,IAAI,8BAAqB,wBAAeD,GAAf,CAArB,CADf,CADD;AAKA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ExternalLink } from '@wordpress/components';\nimport { safeDecodeURI, filterURLForDisplay } from '@wordpress/url';\n\nexport default function LinkViewerURL( { url, urlLabel, className } ) {\n\tconst linkClassName = classnames(\n\t\tclassName,\n\t\t'block-editor-url-popover__link-viewer-url'\n\t);\n\n\tif ( ! url ) {\n\t\treturn <span className={ linkClassName }></span>;\n\t}\n\n\treturn (\n\t\t<ExternalLink className={ linkClassName } href={ url }>\n\t\t\t{ urlLabel || filterURLForDisplay( safeDecodeURI( url ) ) }\n\t\t</ExternalLink>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/link-viewer-url.js"],"names":["LinkViewerURL","url","urlLabel","className","linkClassName"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,aAAT,OAAuD;AAAA,MAA/B;AAAEC,IAAAA,GAAF;AAAOC,IAAAA,QAAP;AAAiBC,IAAAA;AAAjB,GAA+B;AACrE,QAAMC,aAAa,GAAG,yBACrBD,SADqB,EAErB,2CAFqB,CAAtB;;AAKA,MAAK,CAAEF,GAAP,EAAa;AACZ,WAAO;AAAM,MAAA,SAAS,EAAGG;AAAlB,MAAP;AACA;;AAED,SACC,4BAAC,wBAAD;AAAc,IAAA,SAAS,EAAGA,aAA1B;AAA0C,IAAA,IAAI,EAAGH;AAAjD,KACGC,QAAQ,IAAI,8BAAqB,wBAAeD,GAAf,CAArB,CADf,CADD;AAKA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ExternalLink } from '@wordpress/components';\nimport { safeDecodeURI, filterURLForDisplay } from '@wordpress/url';\n\nexport default function LinkViewerURL( { url, urlLabel, className } ) {\n\tconst linkClassName = classnames(\n\t\tclassName,\n\t\t'block-editor-url-popover__link-viewer-url'\n\t);\n\n\tif ( ! url ) {\n\t\treturn <span className={ linkClassName }></span>;\n\t}\n\n\treturn (\n\t\t<ExternalLink className={ linkClassName } href={ url }>\n\t\t\t{ urlLabel || filterURLForDisplay( safeDecodeURI( url ) ) }\n\t\t</ExternalLink>\n\t);\n}\n"]}
@@ -32,14 +32,15 @@ var _linkViewerUrl = _interopRequireDefault(require("./link-viewer-url"));
32
32
  /**
33
33
  * Internal dependencies
34
34
  */
35
- function LinkViewer({
36
- className,
37
- linkClassName,
38
- onEditLinkClick,
39
- url,
40
- urlLabel,
41
- ...props
42
- }) {
35
+ function LinkViewer(_ref) {
36
+ let {
37
+ className,
38
+ linkClassName,
39
+ onEditLinkClick,
40
+ url,
41
+ urlLabel,
42
+ ...props
43
+ } = _ref;
43
44
  return (0, _element.createElement)("div", (0, _extends2.default)({
44
45
  className: (0, _classnames.default)('block-editor-url-popover__link-viewer', className)
45
46
  }, props), (0, _element.createElement)(_linkViewerUrl.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/link-viewer.js"],"names":["LinkViewer","className","linkClassName","onEditLinkClick","url","urlLabel","props","edit"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,UAAT,CAAqB;AACnCC,EAAAA,SADmC;AAEnCC,EAAAA,aAFmC;AAGnCC,EAAAA,eAHmC;AAInCC,EAAAA,GAJmC;AAKnCC,EAAAA,QALmC;AAMnC,KAAGC;AANgC,CAArB,EAOX;AACH,SACC;AACC,IAAA,SAAS,EAAG,yBACX,uCADW,EAEXL,SAFW;AADb,KAKMK,KALN,GAOC,4BAAC,sBAAD;AACC,IAAA,GAAG,EAAGF,GADP;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,SAAS,EAAGH;AAHb,IAPD,EAYGC,eAAe,IAChB,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGI,WADR;AAEC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ;AAHX,IAbF,CADD;AAsBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { edit } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkViewerURL from './link-viewer-url';\n\nexport default function LinkViewer( {\n\tclassName,\n\tlinkClassName,\n\tonEditLinkClick,\n\turl,\n\turlLabel,\n\t...props\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-url-popover__link-viewer',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<LinkViewerURL\n\t\t\t\turl={ url }\n\t\t\t\turlLabel={ urlLabel }\n\t\t\t\tclassName={ linkClassName }\n\t\t\t/>\n\t\t\t{ onEditLinkClick && (\n\t\t\t\t<Button\n\t\t\t\t\ticon={ edit }\n\t\t\t\t\tlabel={ __( 'Edit' ) }\n\t\t\t\t\tonClick={ onEditLinkClick }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/url-popover/link-viewer.js"],"names":["LinkViewer","className","linkClassName","onEditLinkClick","url","urlLabel","props","edit"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,UAAT,OAOX;AAAA,MAPgC;AACnCC,IAAAA,SADmC;AAEnCC,IAAAA,aAFmC;AAGnCC,IAAAA,eAHmC;AAInCC,IAAAA,GAJmC;AAKnCC,IAAAA,QALmC;AAMnC,OAAGC;AANgC,GAOhC;AACH,SACC;AACC,IAAA,SAAS,EAAG,yBACX,uCADW,EAEXL,SAFW;AADb,KAKMK,KALN,GAOC,4BAAC,sBAAD;AACC,IAAA,GAAG,EAAGF,GADP;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,SAAS,EAAGH;AAHb,IAPD,EAYGC,eAAe,IAChB,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGI,WADR;AAEC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ;AAHX,IAbF,CADD;AAsBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { edit } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkViewerURL from './link-viewer-url';\n\nexport default function LinkViewer( {\n\tclassName,\n\tlinkClassName,\n\tonEditLinkClick,\n\turl,\n\turlLabel,\n\t...props\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-url-popover__link-viewer',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<LinkViewerURL\n\t\t\t\turl={ url }\n\t\t\t\turlLabel={ urlLabel }\n\t\t\t\tclassName={ linkClassName }\n\t\t\t/>\n\t\t\t{ onEditLinkClick && (\n\t\t\t\t<Button\n\t\t\t\t\ticon={ edit }\n\t\t\t\t\tlabel={ __( 'Edit' ) }\n\t\t\t\t\tonClick={ onEditLinkClick }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getNearestBlockIndex = getNearestBlockIndex;
9
8
  exports.default = useBlockDropZone;
9
+ exports.getNearestBlockIndex = getNearestBlockIndex;
10
10
 
11
11
  var _data = require("@wordpress/data");
12
12
 
@@ -83,13 +83,14 @@ function getNearestBlockIndex(elements, position, orientation) {
83
83
  */
84
84
 
85
85
 
86
- function useBlockDropZone({
87
- // An undefined value represents a top-level block. Default to an empty
88
- // string for this so that `targetRootClientId` can be easily compared to
89
- // values returned by the `getRootBlockClientId` selector, which also uses
90
- // an empty string to represent top-level blocks.
91
- rootClientId: targetRootClientId = ''
92
- } = {}) {
86
+ function useBlockDropZone() {
87
+ let {
88
+ // An undefined value represents a top-level block. Default to an empty
89
+ // string for this so that `targetRootClientId` can be easily compared to
90
+ // values returned by the `getRootBlockClientId` selector, which also uses
91
+ // an empty string to represent top-level blocks.
92
+ rootClientId: targetRootClientId = ''
93
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
93
94
  const [targetBlockIndex, setTargetBlockIndex] = (0, _element.useState)(null);
94
95
  const isLockedAll = (0, _data.useSelect)(select => {
95
96
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/use-block-drop-zone/index.js"],"names":["getNearestBlockIndex","elements","position","orientation","allowedEdges","isRightToLeft","candidateIndex","candidateDistance","forEach","element","index","rect","getBoundingClientRect","distance","edge","undefined","isTrailingEdge","offset","useBlockDropZone","rootClientId","targetRootClientId","targetBlockIndex","setTargetBlockIndex","isLockedAll","select","getTemplateLock","blockEditorStore","getBlockListSettings","showInsertionPoint","hideInsertionPoint","onBlockDrop","throttled","event","currentTarget","blockElements","Array","from","children","filter","classList","contains","targetIndex","x","clientX","y","clientY","isDisabled","onDrop","onDragOver","onDragLeave","cancel","onDragEnd"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback, useState } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { getDistanceToNearestEdge } from '../../utils/math';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The orientation of a block list.\n *\n * @typedef {'horizontal'|'vertical'|undefined} WPBlockListOrientation\n */\n\n/**\n * Given a list of block DOM elements finds the index that a block should be dropped\n * at.\n *\n * @param {Element[]} elements Array of DOM elements that represent each block in a block list.\n * @param {WPPoint} position The position of the item being dragged.\n * @param {WPBlockListOrientation} orientation The orientation of a block list.\n *\n * @return {number|undefined} The block index that's closest to the drag position.\n */\nexport function getNearestBlockIndex( elements, position, orientation ) {\n\tconst allowedEdges =\n\t\torientation === 'horizontal'\n\t\t\t? [ 'left', 'right' ]\n\t\t\t: [ 'top', 'bottom' ];\n\n\tconst isRightToLeft = isRTL();\n\n\tlet candidateIndex;\n\tlet candidateDistance;\n\n\telements.forEach( ( element, index ) => {\n\t\tconst rect = element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tallowedEdges\n\t\t);\n\n\t\tif ( candidateDistance === undefined || distance < candidateDistance ) {\n\t\t\t// If the user is dropping to the trailing edge of the block\n\t\t\t// add 1 to the index to represent dragging after.\n\t\t\t// Take RTL languages into account where the left edge is\n\t\t\t// the trailing edge.\n\t\t\tconst isTrailingEdge =\n\t\t\t\tedge === 'bottom' ||\n\t\t\t\t( ! isRightToLeft && edge === 'right' ) ||\n\t\t\t\t( isRightToLeft && edge === 'left' );\n\t\t\tconst offset = isTrailingEdge ? 1 : 0;\n\n\t\t\t// Update the currently known best candidate.\n\t\t\tcandidateDistance = distance;\n\t\t\tcandidateIndex = index + offset;\n\t\t}\n\t} );\n\n\treturn candidateIndex;\n}\n\n/**\n * @typedef {Object} WPBlockDropZoneConfig\n * @property {string} rootClientId The root client id for the block list.\n */\n\n/**\n * A React hook that can be used to make a block list handle drag and drop.\n *\n * @param {WPBlockDropZoneConfig} dropZoneConfig configuration data for the drop zone.\n */\nexport default function useBlockDropZone( {\n\t// An undefined value represents a top-level block. Default to an empty\n\t// string for this so that `targetRootClientId` can be easily compared to\n\t// values returned by the `getRootBlockClientId` selector, which also uses\n\t// an empty string to represent top-level blocks.\n\trootClientId: targetRootClientId = '',\n} = {} ) {\n\tconst [ targetBlockIndex, setTargetBlockIndex ] = useState( null );\n\n\tconst isLockedAll = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTemplateLock } = select( blockEditorStore );\n\t\t\treturn getTemplateLock( targetRootClientId ) === 'all';\n\t\t},\n\t\t[ targetRootClientId ]\n\t);\n\n\tconst { getBlockListSettings } = useSelect( blockEditorStore );\n\tconst { showInsertionPoint, hideInsertionPoint } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\tconst throttled = useThrottle(\n\t\tuseCallback( ( event, currentTarget ) => {\n\t\t\tconst blockElements = Array.from( currentTarget.children ).filter(\n\t\t\t\t// Ensure the element is a block. It should have the `wp-block` class.\n\t\t\t\t( element ) => element.classList.contains( 'wp-block' )\n\t\t\t);\n\t\t\tconst targetIndex = getNearestBlockIndex(\n\t\t\t\tblockElements,\n\t\t\t\t{ x: event.clientX, y: event.clientY },\n\t\t\t\tgetBlockListSettings( targetRootClientId )?.orientation\n\t\t\t);\n\n\t\t\tsetTargetBlockIndex( targetIndex === undefined ? 0 : targetIndex );\n\n\t\t\tif ( targetIndex !== null ) {\n\t\t\t\tshowInsertionPoint( targetRootClientId, targetIndex );\n\t\t\t}\n\t\t}, [] ),\n\t\t200\n\t);\n\n\treturn useDropZone( {\n\t\tisDisabled: isLockedAll,\n\t\tonDrop: onBlockDrop,\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the thottled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\thideInsertionPoint();\n\t\t\tsetTargetBlockIndex( null );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\thideInsertionPoint();\n\t\t\tsetTargetBlockIndex( null );\n\t\t},\n\t} );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/use-block-drop-zone/index.js"],"names":["getNearestBlockIndex","elements","position","orientation","allowedEdges","isRightToLeft","candidateIndex","candidateDistance","forEach","element","index","rect","getBoundingClientRect","distance","edge","undefined","isTrailingEdge","offset","useBlockDropZone","rootClientId","targetRootClientId","targetBlockIndex","setTargetBlockIndex","isLockedAll","select","getTemplateLock","blockEditorStore","getBlockListSettings","showInsertionPoint","hideInsertionPoint","onBlockDrop","throttled","event","currentTarget","blockElements","Array","from","children","filter","classList","contains","targetIndex","x","clientX","y","clientY","isDisabled","onDrop","onDragOver","onDragLeave","cancel","onDragEnd"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback, useState } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { getDistanceToNearestEdge } from '../../utils/math';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The orientation of a block list.\n *\n * @typedef {'horizontal'|'vertical'|undefined} WPBlockListOrientation\n */\n\n/**\n * Given a list of block DOM elements finds the index that a block should be dropped\n * at.\n *\n * @param {Element[]} elements Array of DOM elements that represent each block in a block list.\n * @param {WPPoint} position The position of the item being dragged.\n * @param {WPBlockListOrientation} orientation The orientation of a block list.\n *\n * @return {number|undefined} The block index that's closest to the drag position.\n */\nexport function getNearestBlockIndex( elements, position, orientation ) {\n\tconst allowedEdges =\n\t\torientation === 'horizontal'\n\t\t\t? [ 'left', 'right' ]\n\t\t\t: [ 'top', 'bottom' ];\n\n\tconst isRightToLeft = isRTL();\n\n\tlet candidateIndex;\n\tlet candidateDistance;\n\n\telements.forEach( ( element, index ) => {\n\t\tconst rect = element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tallowedEdges\n\t\t);\n\n\t\tif ( candidateDistance === undefined || distance < candidateDistance ) {\n\t\t\t// If the user is dropping to the trailing edge of the block\n\t\t\t// add 1 to the index to represent dragging after.\n\t\t\t// Take RTL languages into account where the left edge is\n\t\t\t// the trailing edge.\n\t\t\tconst isTrailingEdge =\n\t\t\t\tedge === 'bottom' ||\n\t\t\t\t( ! isRightToLeft && edge === 'right' ) ||\n\t\t\t\t( isRightToLeft && edge === 'left' );\n\t\t\tconst offset = isTrailingEdge ? 1 : 0;\n\n\t\t\t// Update the currently known best candidate.\n\t\t\tcandidateDistance = distance;\n\t\t\tcandidateIndex = index + offset;\n\t\t}\n\t} );\n\n\treturn candidateIndex;\n}\n\n/**\n * @typedef {Object} WPBlockDropZoneConfig\n * @property {string} rootClientId The root client id for the block list.\n */\n\n/**\n * A React hook that can be used to make a block list handle drag and drop.\n *\n * @param {WPBlockDropZoneConfig} dropZoneConfig configuration data for the drop zone.\n */\nexport default function useBlockDropZone( {\n\t// An undefined value represents a top-level block. Default to an empty\n\t// string for this so that `targetRootClientId` can be easily compared to\n\t// values returned by the `getRootBlockClientId` selector, which also uses\n\t// an empty string to represent top-level blocks.\n\trootClientId: targetRootClientId = '',\n} = {} ) {\n\tconst [ targetBlockIndex, setTargetBlockIndex ] = useState( null );\n\n\tconst isLockedAll = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTemplateLock } = select( blockEditorStore );\n\t\t\treturn getTemplateLock( targetRootClientId ) === 'all';\n\t\t},\n\t\t[ targetRootClientId ]\n\t);\n\n\tconst { getBlockListSettings } = useSelect( blockEditorStore );\n\tconst { showInsertionPoint, hideInsertionPoint } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\tconst throttled = useThrottle(\n\t\tuseCallback( ( event, currentTarget ) => {\n\t\t\tconst blockElements = Array.from( currentTarget.children ).filter(\n\t\t\t\t// Ensure the element is a block. It should have the `wp-block` class.\n\t\t\t\t( element ) => element.classList.contains( 'wp-block' )\n\t\t\t);\n\t\t\tconst targetIndex = getNearestBlockIndex(\n\t\t\t\tblockElements,\n\t\t\t\t{ x: event.clientX, y: event.clientY },\n\t\t\t\tgetBlockListSettings( targetRootClientId )?.orientation\n\t\t\t);\n\n\t\t\tsetTargetBlockIndex( targetIndex === undefined ? 0 : targetIndex );\n\n\t\t\tif ( targetIndex !== null ) {\n\t\t\t\tshowInsertionPoint( targetRootClientId, targetIndex );\n\t\t\t}\n\t\t}, [] ),\n\t\t200\n\t);\n\n\treturn useDropZone( {\n\t\tisDisabled: isLockedAll,\n\t\tonDrop: onBlockDrop,\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the thottled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\thideInsertionPoint();\n\t\t\tsetTargetBlockIndex( null );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\thideInsertionPoint();\n\t\t\tsetTargetBlockIndex( null );\n\t\t},\n\t} );\n}\n"]}
@@ -54,12 +54,13 @@ const getAbsolutePosition = element => {
54
54
  */
55
55
 
56
56
 
57
- function useMovingAnimation({
58
- isSelected,
59
- adjustScrolling,
60
- enableAnimation,
61
- triggerAnimationOnChange
62
- }) {
57
+ function useMovingAnimation(_ref) {
58
+ let {
59
+ isSelected,
60
+ adjustScrolling,
61
+ enableAnimation,
62
+ triggerAnimationOnChange
63
+ } = _ref;
63
64
  const ref = (0, _element.useRef)();
64
65
  const prefersReducedMotion = (0, _compose.useReducedMotion)() || !enableAnimation;
65
66
  const [triggeredAnimation, triggerAnimation] = (0, _element.useReducer)(counterReducer, 0);
@@ -118,10 +119,12 @@ function useMovingAnimation({
118
119
  });
119
120
  }, [triggerAnimationOnChange]); // Only called when either the x or y value changes.
120
121
 
121
- function onFrameChange({
122
- x,
123
- y
124
- }) {
122
+ function onFrameChange(_ref2) {
123
+ let {
124
+ x,
125
+ y
126
+ } = _ref2;
127
+
125
128
  if (!ref.current) {
126
129
  return;
127
130
  }
@@ -134,9 +137,10 @@ function useMovingAnimation({
134
137
  } // Called for every frame computed by useSpring.
135
138
 
136
139
 
137
- function onChange({
138
- value
139
- }) {
140
+ function onChange(_ref3) {
141
+ let {
142
+ value
143
+ } = _ref3;
140
144
  let {
141
145
  x,
142
146
  y