@wordpress/block-editor 12.18.2 → 12.19.1

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 (875) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/autocompleters/block.js +1 -2
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +1 -2
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/alignment-control/ui.js +1 -2
  7. package/build/components/alignment-control/ui.js.map +1 -1
  8. package/build/components/autocomplete/index.js +1 -2
  9. package/build/components/autocomplete/index.js.map +1 -1
  10. package/build/components/block-alignment-control/constants.js +2 -4
  11. package/build/components/block-alignment-control/constants.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.js +1 -2
  13. package/build/components/block-alignment-control/ui.js.map +1 -1
  14. package/build/components/block-alignment-control/ui.native.js +1 -2
  15. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.js +1 -2
  17. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  18. package/build/components/block-breadcrumb/index.js +1 -2
  19. package/build/components/block-breadcrumb/index.js.map +1 -1
  20. package/build/components/block-canvas/index.js +1 -2
  21. package/build/components/block-canvas/index.js.map +1 -1
  22. package/build/components/block-caption/index.native.js +1 -2
  23. package/build/components/block-caption/index.native.js.map +1 -1
  24. package/build/components/block-card/index.js +1 -2
  25. package/build/components/block-card/index.js.map +1 -1
  26. package/build/components/block-compare/index.js +1 -2
  27. package/build/components/block-compare/index.js.map +1 -1
  28. package/build/components/block-context/index.js +1 -2
  29. package/build/components/block-context/index.js.map +1 -1
  30. package/build/components/block-controls/groups.js +1 -2
  31. package/build/components/block-controls/groups.js.map +1 -1
  32. package/build/components/block-controls/index.js +1 -2
  33. package/build/components/block-controls/index.js.map +1 -1
  34. package/build/components/block-draggable/dropping-insertion-point.native.js +2 -2
  35. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  36. package/build/components/block-draggable/index.js +1 -2
  37. package/build/components/block-draggable/index.js.map +1 -1
  38. package/build/components/block-draggable/index.native.js +3 -4
  39. package/build/components/block-draggable/index.native.js.map +1 -1
  40. package/build/components/block-edit/context.js +4 -8
  41. package/build/components/block-edit/context.js.map +1 -1
  42. package/build/components/block-edit/edit.js +1 -2
  43. package/build/components/block-edit/edit.js.map +1 -1
  44. package/build/components/block-edit/edit.native.js +1 -2
  45. package/build/components/block-edit/edit.native.js.map +1 -1
  46. package/build/components/block-full-height-alignment-control/index.js +1 -2
  47. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  48. package/build/components/block-icon/index.js +1 -2
  49. package/build/components/block-icon/index.js.map +1 -1
  50. package/build/components/block-icon/index.native.js +1 -2
  51. package/build/components/block-icon/index.native.js.map +1 -1
  52. package/build/components/block-info-slot-fill/index.js +1 -2
  53. package/build/components/block-info-slot-fill/index.js.map +1 -1
  54. package/build/components/block-inspector/index.js +11 -9
  55. package/build/components/block-inspector/index.js.map +1 -1
  56. package/build/components/block-list/block-crash-boundary.js +1 -2
  57. package/build/components/block-list/block-crash-boundary.js.map +1 -1
  58. package/build/components/block-list/block-html.js +1 -2
  59. package/build/components/block-list/block-html.js.map +1 -1
  60. package/build/components/block-list/block-list-context.native.js +1 -2
  61. package/build/components/block-list/block-list-context.native.js.map +1 -1
  62. package/build/components/block-list/block-list-item-cell.native.js +1 -2
  63. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  64. package/build/components/block-list/block-list-item.native.js +1 -2
  65. package/build/components/block-list/block-list-item.native.js.map +1 -1
  66. package/build/components/block-list/block-outline.native.js +1 -2
  67. package/build/components/block-list/block-outline.native.js.map +1 -1
  68. package/build/components/block-list/block-selection-button.native.js +1 -2
  69. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  70. package/build/components/block-list/block.js +32 -21
  71. package/build/components/block-list/block.js.map +1 -1
  72. package/build/components/block-list/block.native.js +7 -6
  73. package/build/components/block-list/block.native.js.map +1 -1
  74. package/build/components/block-list/grid-item.native.js +1 -2
  75. package/build/components/block-list/grid-item.native.js.map +1 -1
  76. package/build/components/block-list/index.js +19 -9
  77. package/build/components/block-list/index.js.map +1 -1
  78. package/build/components/block-list/insertion-point.native.js +1 -2
  79. package/build/components/block-list/insertion-point.native.js.map +1 -1
  80. package/build/components/block-list/layout.js +2 -4
  81. package/build/components/block-list/layout.js.map +1 -1
  82. package/build/components/block-list/private-block-context.js +1 -2
  83. package/build/components/block-list/private-block-context.js.map +1 -1
  84. package/build/components/block-list/subdirectory-icon.js +1 -2
  85. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  86. package/build/components/block-list/use-block-props/index.js +8 -1
  87. package/build/components/block-list/use-block-props/index.js.map +1 -1
  88. package/build/components/block-list/use-scroll-upon-insertion.native.js +1 -2
  89. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  90. package/build/components/block-list-appender/index.js +5 -52
  91. package/build/components/block-list-appender/index.js.map +1 -1
  92. package/build/components/block-media-update-progress/index.native.js +11 -22
  93. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  94. package/build/components/block-mover/button.js +2 -4
  95. package/build/components/block-mover/button.js.map +1 -1
  96. package/build/components/block-mover/index.js +1 -2
  97. package/build/components/block-mover/index.js.map +1 -1
  98. package/build/components/block-mover/index.native.js +3 -6
  99. package/build/components/block-mover/index.native.js.map +1 -1
  100. package/build/components/block-mover/mover-description.native.js +0 -2
  101. package/build/components/block-mover/mover-description.native.js.map +1 -1
  102. package/build/components/block-navigation/dropdown.js +1 -2
  103. package/build/components/block-navigation/dropdown.js.map +1 -1
  104. package/build/components/block-pattern-setup/constants.js +1 -2
  105. package/build/components/block-pattern-setup/constants.js.map +1 -1
  106. package/build/components/block-pattern-setup/index.js +1 -2
  107. package/build/components/block-pattern-setup/index.js.map +1 -1
  108. package/build/components/block-pattern-setup/setup-toolbar.js +1 -2
  109. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  110. package/build/components/block-pattern-setup/use-patterns-setup.js +1 -2
  111. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  112. package/build/components/block-patterns-list/index.js +1 -2
  113. package/build/components/block-patterns-list/index.js.map +1 -1
  114. package/build/components/block-popover/drop-zone.js +1 -2
  115. package/build/components/block-popover/drop-zone.js.map +1 -1
  116. package/build/components/block-popover/inbetween.js +2 -4
  117. package/build/components/block-popover/inbetween.js.map +1 -1
  118. package/build/components/block-popover/index.js +1 -2
  119. package/build/components/block-popover/index.js.map +1 -1
  120. package/build/components/block-popover/use-popover-scroll.js +1 -2
  121. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  122. package/build/components/block-preview/auto.js +2 -1
  123. package/build/components/block-preview/auto.js.map +1 -1
  124. package/build/components/block-preview/index.js +1 -2
  125. package/build/components/block-preview/index.js.map +1 -1
  126. package/build/components/block-removal-warning-modal/index.js +4 -2
  127. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  128. package/build/components/block-settings/button.native.js +1 -2
  129. package/build/components/block-settings/button.native.js.map +1 -1
  130. package/build/components/block-settings/container.native.js +1 -2
  131. package/build/components/block-settings/container.native.js.map +1 -1
  132. package/build/components/block-settings/index.native.js +2 -2
  133. package/build/components/block-settings/index.native.js.map +1 -1
  134. package/build/components/block-settings-menu/block-html-convert-button.js +1 -2
  135. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  136. package/build/components/block-settings-menu/block-mode-toggle.js +1 -2
  137. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  138. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -2
  139. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  140. package/build/components/block-settings-menu/block-settings-menu-first-item.js +1 -2
  141. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  142. package/build/components/block-settings-menu/index.js +1 -2
  143. package/build/components/block-settings-menu/index.js.map +1 -1
  144. package/build/components/block-settings-menu-controls/index.js +1 -2
  145. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  146. package/build/components/block-styles/index.js +1 -2
  147. package/build/components/block-styles/index.js.map +1 -1
  148. package/build/components/block-styles/index.native.js +1 -2
  149. package/build/components/block-styles/index.native.js.map +1 -1
  150. package/build/components/block-styles/preview.native.js +1 -2
  151. package/build/components/block-styles/preview.native.js.map +1 -1
  152. package/build/components/block-switcher/block-transformations-menu.js +1 -2
  153. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  154. package/build/components/block-switcher/block-transformations-menu.native.js +1 -2
  155. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  156. package/build/components/block-switcher/block-variation-transformations.js +1 -2
  157. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  158. package/build/components/block-switcher/index.js +13 -11
  159. package/build/components/block-switcher/index.js.map +1 -1
  160. package/build/components/block-switcher/pattern-transformations-menu.js +1 -2
  161. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  162. package/build/components/block-switcher/use-transformed-patterns.js +1 -2
  163. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  164. package/build/components/block-title/use-block-display-title.js +21 -28
  165. package/build/components/block-title/use-block-display-title.js.map +1 -1
  166. package/build/components/block-toolbar/block-name-context.js +1 -2
  167. package/build/components/block-toolbar/block-name-context.js.map +1 -1
  168. package/build/components/block-toolbar/block-toolbar-last-item.js +1 -2
  169. package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  170. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  171. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  172. package/build/components/block-tools/block-selection-button.js +20 -18
  173. package/build/components/block-tools/block-selection-button.js.map +1 -1
  174. package/build/components/block-tools/index.js +4 -12
  175. package/build/components/block-tools/index.js.map +1 -1
  176. package/build/components/block-tools/insertion-point.js +1 -2
  177. package/build/components/block-tools/insertion-point.js.map +1 -1
  178. package/build/components/block-tools/zoom-out-mode-inserters.js +1 -2
  179. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  180. package/build/components/block-types-list/index.js +1 -2
  181. package/build/components/block-types-list/index.js.map +1 -1
  182. package/build/components/block-variation-picker/index.js +1 -2
  183. package/build/components/block-variation-picker/index.js.map +1 -1
  184. package/build/components/block-variation-picker/index.native.js +1 -2
  185. package/build/components/block-variation-picker/index.native.js.map +1 -1
  186. package/build/components/block-variation-transforms/index.js +1 -2
  187. package/build/components/block-variation-transforms/index.js.map +1 -1
  188. package/build/components/block-vertical-alignment-control/icons.js +5 -10
  189. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  190. package/build/components/block-vertical-alignment-control/ui.js +1 -2
  191. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  192. package/build/components/button-block-appender/index.js +2 -4
  193. package/build/components/button-block-appender/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.native.js +1 -2
  195. package/build/components/button-block-appender/index.native.js.map +1 -1
  196. package/build/components/caption/index.native.js +1 -2
  197. package/build/components/caption/index.native.js.map +1 -1
  198. package/build/components/color-palette/index.js +1 -2
  199. package/build/components/color-palette/index.js.map +1 -1
  200. package/build/components/color-palette/with-color-context.js +1 -2
  201. package/build/components/color-palette/with-color-context.js.map +1 -1
  202. package/build/components/color-style-selector/index.js +1 -2
  203. package/build/components/color-style-selector/index.js.map +1 -1
  204. package/build/components/colors/index.js +2 -2
  205. package/build/components/colors/index.js.map +1 -1
  206. package/build/components/colors-gradients/control.js +1 -3
  207. package/build/components/colors-gradients/control.js.map +1 -1
  208. package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -2
  209. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  210. package/build/components/contrast-checker/index.js +1 -2
  211. package/build/components/contrast-checker/index.js.map +1 -1
  212. package/build/components/contrast-checker/index.native.js +1 -2
  213. package/build/components/contrast-checker/index.native.js.map +1 -1
  214. package/build/components/convert-to-group-buttons/toolbar.js +1 -2
  215. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  216. package/build/components/default-block-appender/index.js +31 -40
  217. package/build/components/default-block-appender/index.js.map +1 -1
  218. package/build/components/default-block-appender/index.native.js +1 -2
  219. package/build/components/default-block-appender/index.native.js.map +1 -1
  220. package/build/components/dimensions-tool/aspect-ratio-tool.js +2 -2
  221. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  222. package/build/components/dimensions-tool/index.js +1 -2
  223. package/build/components/dimensions-tool/index.js.map +1 -1
  224. package/build/components/duotone-control/index.js +1 -2
  225. package/build/components/duotone-control/index.js.map +1 -1
  226. package/build/components/editable-text/index.js +1 -2
  227. package/build/components/editable-text/index.js.map +1 -1
  228. package/build/components/floating-toolbar/index.native.js +1 -2
  229. package/build/components/floating-toolbar/index.native.js.map +1 -1
  230. package/build/components/floating-toolbar/nav-up-icon.js +1 -2
  231. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  232. package/build/components/font-sizes/font-size-picker.js +1 -2
  233. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  234. package/build/components/global-styles/border-panel.js +56 -8
  235. package/build/components/global-styles/border-panel.js.map +1 -1
  236. package/build/components/global-styles/color-panel.native.js +1 -2
  237. package/build/components/global-styles/color-panel.native.js.map +1 -1
  238. package/build/components/global-styles/context.js +2 -4
  239. package/build/components/global-styles/context.js.map +1 -1
  240. package/build/components/global-styles/get-global-styles-changes.js +2 -4
  241. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  242. package/build/components/global-styles/index.js +2 -15
  243. package/build/components/global-styles/index.js.map +1 -1
  244. package/build/components/global-styles/shadow-panel-components.js +133 -0
  245. package/build/components/global-styles/shadow-panel-components.js.map +1 -0
  246. package/build/components/global-styles/typography-panel.js +6 -7
  247. package/build/components/global-styles/typography-panel.js.map +1 -1
  248. package/build/components/global-styles/use-global-styles-output.js +1 -1
  249. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  250. package/build/components/global-styles/utils.js +38 -14
  251. package/build/components/global-styles/utils.js.map +1 -1
  252. package/build/components/iframe/index.js +1 -2
  253. package/build/components/iframe/index.js.map +1 -1
  254. package/build/components/image-editor/constants.js +3 -6
  255. package/build/components/image-editor/constants.js.map +1 -1
  256. package/build/components/image-link-destinations/index.native.js +1 -2
  257. package/build/components/image-link-destinations/index.native.js.map +1 -1
  258. package/build/components/index.js +2 -2
  259. package/build/components/index.js.map +1 -1
  260. package/build/components/index.native.js +2 -2
  261. package/build/components/index.native.js.map +1 -1
  262. package/build/components/inner-blocks/button-block-appender.js +1 -2
  263. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  264. package/build/components/inner-blocks/constants.native.js +1 -2
  265. package/build/components/inner-blocks/constants.native.js.map +1 -1
  266. package/build/components/inner-blocks/default-block-appender.js +1 -2
  267. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  268. package/build/components/inner-blocks/index.js +33 -30
  269. package/build/components/inner-blocks/index.js.map +1 -1
  270. package/build/components/inner-blocks/index.native.js +2 -6
  271. package/build/components/inner-blocks/index.native.js.map +1 -1
  272. package/build/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  273. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  274. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  275. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  276. package/build/components/inner-blocks/with-client-id.js +1 -2
  277. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  278. package/build/components/inserter/block-patterns-explorer/index.js +1 -2
  279. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -2
  281. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  282. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -2
  283. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  284. package/build/components/inserter/block-patterns-tab/index.js +1 -2
  285. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  286. package/build/components/inserter/block-patterns-tab/patterns-filter.js +4 -4
  287. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  288. package/build/components/inserter/block-patterns-tab/utils.js +5 -9
  289. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  290. package/build/components/inserter/block-types-tab.js +1 -2
  291. package/build/components/inserter/block-types-tab.js.map +1 -1
  292. package/build/components/inserter/block-types-tab.native.js +1 -2
  293. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  294. package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -2
  295. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  296. package/build/components/inserter/hooks/use-block-types-state.js +1 -2
  297. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  298. package/build/components/inserter/hooks/use-insertion-point.js +1 -2
  299. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  300. package/build/components/inserter/hooks/use-patterns-state.js +1 -2
  301. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  302. package/build/components/inserter/index.js +2 -4
  303. package/build/components/inserter/index.js.map +1 -1
  304. package/build/components/inserter/index.native.js +1 -2
  305. package/build/components/inserter/index.native.js.map +1 -1
  306. package/build/components/inserter/library.js +1 -2
  307. package/build/components/inserter/library.js.map +1 -1
  308. package/build/components/inserter/media-tab/media-list.js +1 -2
  309. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  310. package/build/components/inserter/media-tab/media-tab.js +1 -2
  311. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  312. package/build/components/inserter/menu.js +1 -2
  313. package/build/components/inserter/menu.js.map +1 -1
  314. package/build/components/inserter/menu.native.js +1 -2
  315. package/build/components/inserter/menu.native.js.map +1 -1
  316. package/build/components/inserter/no-results.js +1 -2
  317. package/build/components/inserter/no-results.js.map +1 -1
  318. package/build/components/inserter/no-results.native.js +1 -2
  319. package/build/components/inserter/no-results.native.js.map +1 -1
  320. package/build/components/inserter/panel.js +1 -2
  321. package/build/components/inserter/panel.js.map +1 -1
  322. package/build/components/inserter/preview-panel.js +1 -2
  323. package/build/components/inserter/preview-panel.js.map +1 -1
  324. package/build/components/inserter/quick-inserter.js +3 -2
  325. package/build/components/inserter/quick-inserter.js.map +1 -1
  326. package/build/components/inserter/reusable-blocks-tab.native.js +1 -2
  327. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  328. package/build/components/inserter/search-items.js +0 -1
  329. package/build/components/inserter/search-items.js.map +1 -1
  330. package/build/components/inserter/search-results.js +1 -2
  331. package/build/components/inserter/search-results.js.map +1 -1
  332. package/build/components/inserter/search-results.native.js +1 -2
  333. package/build/components/inserter/search-results.native.js.map +1 -1
  334. package/build/components/inserter/tabs.js +1 -2
  335. package/build/components/inserter/tabs.js.map +1 -1
  336. package/build/components/inserter/tabs.native.js +1 -2
  337. package/build/components/inserter/tabs.native.js.map +1 -1
  338. package/build/components/inserter/tips.js +1 -2
  339. package/build/components/inserter/tips.js.map +1 -1
  340. package/build/components/inserter-button/index.native.js +1 -2
  341. package/build/components/inserter-button/index.native.js.map +1 -1
  342. package/build/components/inserter-button/sparkles.js +1 -2
  343. package/build/components/inserter-button/sparkles.js.map +1 -1
  344. package/build/components/inserter-draggable-blocks/index.js +11 -2
  345. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  346. package/build/components/inserter-list-item/index.js +1 -2
  347. package/build/components/inserter-list-item/index.js.map +1 -1
  348. package/build/components/inserter-listbox/context.js +1 -2
  349. package/build/components/inserter-listbox/context.js.map +1 -1
  350. package/build/components/inserter-listbox/group.js +1 -2
  351. package/build/components/inserter-listbox/group.js.map +1 -1
  352. package/build/components/inserter-listbox/index.js +1 -2
  353. package/build/components/inserter-listbox/index.js.map +1 -1
  354. package/build/components/inserter-listbox/item.js +1 -2
  355. package/build/components/inserter-listbox/item.js.map +1 -1
  356. package/build/components/inserter-listbox/row.js +1 -2
  357. package/build/components/inserter-listbox/row.js.map +1 -1
  358. package/build/components/inserter-menu-extension/index.js +1 -2
  359. package/build/components/inserter-menu-extension/index.js.map +1 -1
  360. package/build/components/inspector-controls/groups.js +1 -2
  361. package/build/components/inspector-controls/groups.js.map +1 -1
  362. package/build/components/inspector-controls/index.js +1 -2
  363. package/build/components/inspector-controls/index.js.map +1 -1
  364. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -4
  365. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  366. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -2
  367. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  368. package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
  369. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  370. package/build/components/inspector-controls-tabs/styles-tab.js +6 -6
  371. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  372. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +1 -2
  373. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  374. package/build/components/inspector-controls-tabs/utils.js +3 -6
  375. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  376. package/build/components/justify-content-control/ui.js +1 -2
  377. package/build/components/justify-content-control/ui.js.map +1 -1
  378. package/build/components/keyboard-shortcuts/index.js +1 -2
  379. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  380. package/build/components/line-height-control/index.js +1 -2
  381. package/build/components/line-height-control/index.js.map +1 -1
  382. package/build/components/line-height-control/utils.js +4 -8
  383. package/build/components/line-height-control/utils.js.map +1 -1
  384. package/build/components/link-control/constants.js +7 -14
  385. package/build/components/link-control/constants.js.map +1 -1
  386. package/build/components/link-control/index.js +2 -16
  387. package/build/components/link-control/index.js.map +1 -1
  388. package/build/components/link-control/link-preview.js +13 -15
  389. package/build/components/link-control/link-preview.js.map +1 -1
  390. package/build/components/link-control/search-create-button.js +1 -2
  391. package/build/components/link-control/search-create-button.js.map +1 -1
  392. package/build/components/link-control/search-input.js +1 -2
  393. package/build/components/link-control/search-input.js.map +1 -1
  394. package/build/components/link-control/search-item.js +1 -2
  395. package/build/components/link-control/search-item.js.map +1 -1
  396. package/build/components/link-control/settings-drawer.js +1 -2
  397. package/build/components/link-control/settings-drawer.js.map +1 -1
  398. package/build/components/link-control/settings.js +1 -2
  399. package/build/components/link-control/settings.js.map +1 -1
  400. package/build/components/link-control/use-create-page.js +0 -1
  401. package/build/components/link-control/use-create-page.js.map +1 -1
  402. package/build/components/link-control/use-rich-url-data.js +1 -2
  403. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  404. package/build/components/link-control/viewer-slot.js +1 -2
  405. package/build/components/link-control/viewer-slot.js.map +1 -1
  406. package/build/components/list-view/appender.js +1 -2
  407. package/build/components/list-view/appender.js.map +1 -1
  408. package/build/components/list-view/block-contents.js +1 -2
  409. package/build/components/list-view/block-contents.js.map +1 -1
  410. package/build/components/list-view/block-select-button.js +1 -2
  411. package/build/components/list-view/block-select-button.js.map +1 -1
  412. package/build/components/list-view/block.js +33 -28
  413. package/build/components/list-view/block.js.map +1 -1
  414. package/build/components/list-view/branch.js +1 -2
  415. package/build/components/list-view/branch.js.map +1 -1
  416. package/build/components/list-view/context.js +1 -2
  417. package/build/components/list-view/context.js.map +1 -1
  418. package/build/components/list-view/index.js +20 -17
  419. package/build/components/list-view/index.js.map +1 -1
  420. package/build/components/list-view/leaf.js +1 -2
  421. package/build/components/list-view/leaf.js.map +1 -1
  422. package/build/components/list-view/use-clipboard-handler.js +159 -0
  423. package/build/components/list-view/use-clipboard-handler.js.map +1 -0
  424. package/build/components/list-view/use-list-view-drop-zone.js +1 -2
  425. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  426. package/build/components/list-view/utils.js +4 -4
  427. package/build/components/list-view/utils.js.map +1 -1
  428. package/build/components/media-placeholder/index.js +1 -2
  429. package/build/components/media-placeholder/index.js.map +1 -1
  430. package/build/components/media-placeholder/index.native.js +1 -2
  431. package/build/components/media-placeholder/index.native.js.map +1 -1
  432. package/build/components/media-replace-flow/index.js +1 -2
  433. package/build/components/media-replace-flow/index.js.map +1 -1
  434. package/build/components/media-replace-flow/index.native.js +1 -2
  435. package/build/components/media-replace-flow/index.native.js.map +1 -1
  436. package/build/components/media-upload/check.js +1 -2
  437. package/build/components/media-upload/check.js.map +1 -1
  438. package/build/components/media-upload/constants.native.js +8 -16
  439. package/build/components/media-upload/constants.native.js.map +1 -1
  440. package/build/components/media-upload/index.js +1 -2
  441. package/build/components/media-upload/index.js.map +1 -1
  442. package/build/components/media-upload/index.native.js +1 -2
  443. package/build/components/media-upload/index.native.js.map +1 -1
  444. package/build/components/media-upload-progress/constants.js +6 -12
  445. package/build/components/media-upload-progress/constants.js.map +1 -1
  446. package/build/components/media-upload-progress/index.native.js +1 -2
  447. package/build/components/media-upload-progress/index.native.js.map +1 -1
  448. package/build/components/multi-selection-inspector/index.js +1 -2
  449. package/build/components/multi-selection-inspector/index.js.map +1 -1
  450. package/build/components/navigable-toolbar/index.js +5 -2
  451. package/build/components/navigable-toolbar/index.js.map +1 -1
  452. package/build/components/observe-typing/index.js +1 -2
  453. package/build/components/observe-typing/index.js.map +1 -1
  454. package/build/components/panel-color-settings/index.js +1 -2
  455. package/build/components/panel-color-settings/index.js.map +1 -1
  456. package/build/components/plain-text/index.js +1 -2
  457. package/build/components/plain-text/index.js.map +1 -1
  458. package/build/components/provider/block-refs-provider.js +1 -2
  459. package/build/components/provider/block-refs-provider.js.map +1 -1
  460. package/build/components/provider/index.js +3 -5
  461. package/build/components/provider/index.js.map +1 -1
  462. package/build/components/provider/index.native.js +2 -4
  463. package/build/components/provider/index.native.js.map +1 -1
  464. package/build/components/provider/with-registry-provider.js +1 -2
  465. package/build/components/provider/with-registry-provider.js.map +1 -1
  466. package/build/components/publish-date-time-picker/index.js +1 -2
  467. package/build/components/publish-date-time-picker/index.js.map +1 -1
  468. package/build/components/responsive-block-control/index.js +3 -7
  469. package/build/components/responsive-block-control/index.js.map +1 -1
  470. package/build/components/rich-text/embed-handler-picker.native.js +1 -2
  471. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  472. package/build/components/rich-text/format-edit.js +1 -2
  473. package/build/components/rich-text/format-edit.js.map +1 -1
  474. package/build/components/rich-text/format-toolbar/index.js +1 -2
  475. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  476. package/build/components/rich-text/format-toolbar/index.native.js +1 -2
  477. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  478. package/build/components/rich-text/format-toolbar-container.js +1 -2
  479. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  480. package/build/components/rich-text/format-toolbar-container.native.js +1 -2
  481. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  482. package/build/components/rich-text/index.js +6 -7
  483. package/build/components/rich-text/index.js.map +1 -1
  484. package/build/components/rich-text/index.native.js +1 -2
  485. package/build/components/rich-text/index.native.js.map +1 -1
  486. package/build/components/rich-text/multiline.js +1 -2
  487. package/build/components/rich-text/multiline.js.map +1 -1
  488. package/build/components/rich-text/native/index.native.js +1 -6
  489. package/build/components/rich-text/native/index.native.js.map +1 -1
  490. package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -2
  491. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  492. package/build/components/rich-text/use-input-rules.js +1 -30
  493. package/build/components/rich-text/use-input-rules.js.map +1 -1
  494. package/build/components/skip-to-selected-block/index.js +1 -2
  495. package/build/components/skip-to-selected-block/index.js.map +1 -1
  496. package/build/components/spacing-sizes-control/index.js +3 -1
  497. package/build/components/spacing-sizes-control/index.js.map +1 -1
  498. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  499. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  500. package/build/components/spacing-sizes-control/utils.js +5 -10
  501. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  502. package/build/components/tool-selector/index.js +1 -2
  503. package/build/components/tool-selector/index.js.map +1 -1
  504. package/build/components/typewriter/index.js +1 -2
  505. package/build/components/typewriter/index.js.map +1 -1
  506. package/build/components/ungroup-button/index.native.js +1 -2
  507. package/build/components/ungroup-button/index.native.js.map +1 -1
  508. package/build/components/unsupported-block-details/index.native.js +1 -2
  509. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  510. package/build/components/url-input/button.js +1 -2
  511. package/build/components/url-input/button.js.map +1 -1
  512. package/build/components/url-input/index.js +1 -2
  513. package/build/components/url-input/index.js.map +1 -1
  514. package/build/components/url-popover/image-url-input-ui.js +18 -8
  515. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  516. package/build/components/url-popover/index.js +5 -5
  517. package/build/components/url-popover/index.js.map +1 -1
  518. package/build/components/use-block-drop-zone/index.js +15 -5
  519. package/build/components/use-block-drop-zone/index.js.map +1 -1
  520. package/build/components/use-flash-editable-blocks/index.js +60 -0
  521. package/build/components/use-flash-editable-blocks/index.js.map +1 -0
  522. package/build/components/use-moving-animation/index.js +1 -2
  523. package/build/components/use-moving-animation/index.js.map +1 -1
  524. package/build/components/use-on-block-drop/index.js +4 -4
  525. package/build/components/use-on-block-drop/index.js.map +1 -1
  526. package/build/components/use-settings/index.js +3 -162
  527. package/build/components/use-settings/index.js.map +1 -1
  528. package/build/components/video-player/gridicon-play.native.js +1 -2
  529. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  530. package/build/components/video-player/index.native.js +2 -4
  531. package/build/components/video-player/index.native.js.map +1 -1
  532. package/build/components/warning/index.js +1 -2
  533. package/build/components/warning/index.js.map +1 -1
  534. package/build/components/warning/index.native.js +1 -2
  535. package/build/components/warning/index.native.js.map +1 -1
  536. package/build/components/writing-flow/index.js +1 -2
  537. package/build/components/writing-flow/index.js.map +1 -1
  538. package/build/components/writing-flow/use-clipboard-handler.js +3 -48
  539. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  540. package/build/components/writing-flow/use-drag-selection.js +13 -2
  541. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  542. package/build/components/writing-flow/utils.js +86 -0
  543. package/build/components/writing-flow/utils.js.map +1 -0
  544. package/build/hooks/align.js +1 -2
  545. package/build/hooks/align.js.map +1 -1
  546. package/build/hooks/align.native.js +2 -2
  547. package/build/hooks/align.native.js.map +1 -1
  548. package/build/hooks/anchor.js +1 -2
  549. package/build/hooks/anchor.js.map +1 -1
  550. package/build/hooks/aria-label.js +1 -2
  551. package/build/hooks/aria-label.js.map +1 -1
  552. package/build/hooks/background.js +52 -14
  553. package/build/hooks/background.js.map +1 -1
  554. package/build/hooks/block-hooks.js +1 -2
  555. package/build/hooks/block-hooks.js.map +1 -1
  556. package/build/hooks/block-renaming.js +1 -2
  557. package/build/hooks/block-renaming.js.map +1 -1
  558. package/build/hooks/border.js +42 -7
  559. package/build/hooks/border.js.map +1 -1
  560. package/build/hooks/color.js +4 -6
  561. package/build/hooks/color.js.map +1 -1
  562. package/build/hooks/content-lock-ui.js +1 -2
  563. package/build/hooks/content-lock-ui.js.map +1 -1
  564. package/build/hooks/custom-class-name.js +1 -2
  565. package/build/hooks/custom-class-name.js.map +1 -1
  566. package/build/hooks/custom-class-name.native.js +1 -2
  567. package/build/hooks/custom-class-name.native.js.map +1 -1
  568. package/build/hooks/dimensions.js +5 -10
  569. package/build/hooks/dimensions.js.map +1 -1
  570. package/build/hooks/duotone.js +1 -3
  571. package/build/hooks/duotone.js.map +1 -1
  572. package/build/hooks/font-family.js +2 -4
  573. package/build/hooks/font-family.js.map +1 -1
  574. package/build/hooks/font-size.js +25 -31
  575. package/build/hooks/font-size.js.map +1 -1
  576. package/build/hooks/index.js +2 -2
  577. package/build/hooks/index.js.map +1 -1
  578. package/build/hooks/layout-child.js +1 -2
  579. package/build/hooks/layout-child.js.map +1 -1
  580. package/build/hooks/layout.js +2 -4
  581. package/build/hooks/layout.js.map +1 -1
  582. package/build/hooks/line-height.js +1 -2
  583. package/build/hooks/line-height.js.map +1 -1
  584. package/build/hooks/position.js +1 -2
  585. package/build/hooks/position.js.map +1 -1
  586. package/build/hooks/style.js +3 -8
  587. package/build/hooks/style.js.map +1 -1
  588. package/build/hooks/typography.js +4 -6
  589. package/build/hooks/typography.js.map +1 -1
  590. package/build/hooks/typography.native.js +3 -6
  591. package/build/hooks/typography.native.js.map +1 -1
  592. package/build/hooks/use-bindings-attributes.js +11 -10
  593. package/build/hooks/use-bindings-attributes.js.map +1 -1
  594. package/build/layouts/constrained.js +1 -2
  595. package/build/layouts/constrained.js.map +1 -1
  596. package/build/layouts/definitions.js +1 -2
  597. package/build/layouts/definitions.js.map +1 -1
  598. package/build/layouts/flex.js +1 -2
  599. package/build/layouts/flex.js.map +1 -1
  600. package/build/layouts/flow.js +1 -2
  601. package/build/layouts/flow.js.map +1 -1
  602. package/build/layouts/grid.js +1 -2
  603. package/build/layouts/grid.js.map +1 -1
  604. package/build/private-apis.js +8 -5
  605. package/build/private-apis.js.map +1 -1
  606. package/build/private-apis.native.js +3 -4
  607. package/build/private-apis.native.js.map +1 -1
  608. package/build/store/actions.js +2 -4
  609. package/build/store/actions.js.map +1 -1
  610. package/build/store/constants.js +1 -2
  611. package/build/store/constants.js.map +1 -1
  612. package/build/store/defaults.js +2 -4
  613. package/build/store/defaults.js.map +1 -1
  614. package/build/store/defaults.native.js +1 -2
  615. package/build/store/defaults.native.js.map +1 -1
  616. package/build/store/get-block-settings.js +180 -0
  617. package/build/store/get-block-settings.js.map +1 -0
  618. package/build/store/index.js +4 -6
  619. package/build/store/index.js.map +1 -1
  620. package/build/store/private-actions.js +37 -3
  621. package/build/store/private-actions.js.map +1 -1
  622. package/build/store/private-selectors.js +55 -29
  623. package/build/store/private-selectors.js.map +1 -1
  624. package/build/store/reducer.js +29 -7
  625. package/build/store/reducer.js.map +1 -1
  626. package/build/store/selectors.js +98 -102
  627. package/build/store/selectors.js.map +1 -1
  628. package/build/store/undo-ignore.js +1 -2
  629. package/build/store/undo-ignore.js.map +1 -1
  630. package/build/utils/selection.js +1 -2
  631. package/build/utils/selection.js.map +1 -1
  632. package/build/utils/transform-styles/index.js +3 -4
  633. package/build/utils/transform-styles/index.js.map +1 -1
  634. package/build-module/components/block-breadcrumb/index.js +0 -1
  635. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  636. package/build-module/components/block-inspector/index.js +10 -7
  637. package/build-module/components/block-inspector/index.js.map +1 -1
  638. package/build-module/components/block-list/block.js +32 -20
  639. package/build-module/components/block-list/block.js.map +1 -1
  640. package/build-module/components/block-list/block.native.js +6 -4
  641. package/build-module/components/block-list/block.native.js.map +1 -1
  642. package/build-module/components/block-list/index.js +18 -7
  643. package/build-module/components/block-list/index.js.map +1 -1
  644. package/build-module/components/block-list/use-block-props/index.js +8 -1
  645. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  646. package/build-module/components/block-list-appender/index.js +5 -51
  647. package/build-module/components/block-list-appender/index.js.map +1 -1
  648. package/build-module/components/block-mover/mover-description.native.js +0 -2
  649. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  650. package/build-module/components/block-popover/inbetween.js +0 -1
  651. package/build-module/components/block-popover/inbetween.js.map +1 -1
  652. package/build-module/components/block-preview/auto.js +2 -1
  653. package/build-module/components/block-preview/auto.js.map +1 -1
  654. package/build-module/components/block-removal-warning-modal/index.js +4 -2
  655. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  656. package/build-module/components/block-switcher/index.js +12 -9
  657. package/build-module/components/block-switcher/index.js.map +1 -1
  658. package/build-module/components/block-title/use-block-display-title.js +22 -28
  659. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  660. package/build-module/components/block-tools/block-selection-button.js +20 -17
  661. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  662. package/build-module/components/block-tools/index.js +2 -10
  663. package/build-module/components/block-tools/index.js.map +1 -1
  664. package/build-module/components/colors-gradients/control.js +0 -1
  665. package/build-module/components/colors-gradients/control.js.map +1 -1
  666. package/build-module/components/default-block-appender/index.js +30 -37
  667. package/build-module/components/default-block-appender/index.js.map +1 -1
  668. package/build-module/components/global-styles/border-panel.js +57 -9
  669. package/build-module/components/global-styles/border-panel.js.map +1 -1
  670. package/build-module/components/global-styles/get-global-styles-changes.js +2 -4
  671. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  672. package/build-module/components/global-styles/index.js +0 -1
  673. package/build-module/components/global-styles/index.js.map +1 -1
  674. package/build-module/components/global-styles/shadow-panel-components.js +121 -0
  675. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -0
  676. package/build-module/components/global-styles/typography-panel.js +2 -3
  677. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  678. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  679. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  680. package/build-module/components/global-styles/utils.js +30 -1
  681. package/build-module/components/global-styles/utils.js.map +1 -1
  682. package/build-module/components/inner-blocks/index.js +33 -29
  683. package/build-module/components/inner-blocks/index.js.map +1 -1
  684. package/build-module/components/inner-blocks/index.native.js +1 -4
  685. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  686. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  687. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  688. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +4 -4
  689. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  690. package/build-module/components/inserter/block-patterns-tab/utils.js +2 -2
  691. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  692. package/build-module/components/inserter/quick-inserter.js +3 -2
  693. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  694. package/build-module/components/inserter/search-items.js +0 -1
  695. package/build-module/components/inserter/search-items.js.map +1 -1
  696. package/build-module/components/inserter-draggable-blocks/index.js +12 -1
  697. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  698. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -4
  699. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  700. package/build-module/components/link-control/index.js +1 -14
  701. package/build-module/components/link-control/index.js.map +1 -1
  702. package/build-module/components/link-control/link-preview.js +16 -18
  703. package/build-module/components/link-control/link-preview.js.map +1 -1
  704. package/build-module/components/link-control/use-create-page.js +0 -1
  705. package/build-module/components/link-control/use-create-page.js.map +1 -1
  706. package/build-module/components/list-view/block.js +32 -26
  707. package/build-module/components/list-view/block.js.map +1 -1
  708. package/build-module/components/list-view/index.js +17 -11
  709. package/build-module/components/list-view/index.js.map +1 -1
  710. package/build-module/components/list-view/use-clipboard-handler.js +153 -0
  711. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -0
  712. package/build-module/components/list-view/utils.js +4 -4
  713. package/build-module/components/list-view/utils.js.map +1 -1
  714. package/build-module/components/navigable-toolbar/index.js +5 -2
  715. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  716. package/build-module/components/provider/index.js +1 -1
  717. package/build-module/components/provider/index.js.map +1 -1
  718. package/build-module/components/responsive-block-control/index.js +3 -6
  719. package/build-module/components/responsive-block-control/index.js.map +1 -1
  720. package/build-module/components/rich-text/index.js +3 -1
  721. package/build-module/components/rich-text/index.js.map +1 -1
  722. package/build-module/components/rich-text/native/index.native.js +0 -4
  723. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  724. package/build-module/components/rich-text/use-input-rules.js +2 -31
  725. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  726. package/build-module/components/spacing-sizes-control/index.js +4 -2
  727. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  728. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  729. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  730. package/build-module/components/url-popover/image-url-input-ui.js +21 -11
  731. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  732. package/build-module/components/url-popover/index.js +5 -4
  733. package/build-module/components/url-popover/index.js.map +1 -1
  734. package/build-module/components/use-block-drop-zone/index.js +15 -5
  735. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  736. package/build-module/components/use-flash-editable-blocks/index.js +53 -0
  737. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -0
  738. package/build-module/components/use-on-block-drop/index.js +4 -4
  739. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  740. package/build-module/components/use-settings/index.js +3 -159
  741. package/build-module/components/use-settings/index.js.map +1 -1
  742. package/build-module/components/writing-flow/use-clipboard-handler.js +4 -49
  743. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  744. package/build-module/components/writing-flow/use-drag-selection.js +13 -2
  745. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  746. package/build-module/components/writing-flow/utils.js +79 -0
  747. package/build-module/components/writing-flow/utils.js.map +1 -0
  748. package/build-module/hooks/background.js +48 -10
  749. package/build-module/hooks/background.js.map +1 -1
  750. package/build-module/hooks/border.js +38 -3
  751. package/build-module/hooks/border.js.map +1 -1
  752. package/build-module/hooks/duotone.js +0 -1
  753. package/build-module/hooks/duotone.js.map +1 -1
  754. package/build-module/hooks/font-size.js +23 -27
  755. package/build-module/hooks/font-size.js.map +1 -1
  756. package/build-module/hooks/style.js +3 -7
  757. package/build-module/hooks/style.js.map +1 -1
  758. package/build-module/hooks/use-bindings-attributes.js +9 -12
  759. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  760. package/build-module/private-apis.js +5 -1
  761. package/build-module/private-apis.js.map +1 -1
  762. package/build-module/store/get-block-settings.js +171 -0
  763. package/build-module/store/get-block-settings.js.map +1 -0
  764. package/build-module/store/private-actions.js +35 -3
  765. package/build-module/store/private-actions.js.map +1 -1
  766. package/build-module/store/private-selectors.js +42 -19
  767. package/build-module/store/private-selectors.js.map +1 -1
  768. package/build-module/store/reducer.js +26 -3
  769. package/build-module/store/reducer.js.map +1 -1
  770. package/build-module/store/selectors.js +65 -34
  771. package/build-module/store/selectors.js.map +1 -1
  772. package/build-style/content-rtl.css +23 -15
  773. package/build-style/content.css +23 -15
  774. package/build-style/style-rtl.css +61 -60
  775. package/build-style/style.css +61 -60
  776. package/package.json +31 -31
  777. package/src/components/block-canvas/style.scss +1 -1
  778. package/src/components/block-card/style.scss +3 -1
  779. package/src/components/block-controls/README.md +2 -2
  780. package/src/components/block-inspector/index.js +11 -9
  781. package/src/components/block-list/block.js +45 -20
  782. package/src/components/block-list/block.native.js +7 -4
  783. package/src/components/block-list/content.scss +23 -28
  784. package/src/components/block-list/index.js +49 -25
  785. package/src/components/block-list/use-block-props/index.js +8 -0
  786. package/src/components/block-list-appender/index.js +7 -74
  787. package/src/components/block-mover/style.scss +4 -3
  788. package/src/components/block-preview/auto.js +2 -1
  789. package/src/components/block-removal-warning-modal/index.js +17 -10
  790. package/src/components/block-switcher/index.js +22 -13
  791. package/src/components/block-title/test/index.js +86 -85
  792. package/src/components/block-title/use-block-display-title.js +25 -36
  793. package/src/components/block-toolbar/style.scss +8 -1
  794. package/src/components/block-tools/block-selection-button.js +23 -26
  795. package/src/components/block-tools/index.js +2 -12
  796. package/src/components/colors-gradients/control.js +0 -1
  797. package/src/components/default-block-appender/index.js +26 -38
  798. package/src/components/default-block-appender/test/index.js +24 -16
  799. package/src/components/font-sizes/README.MD +0 -9
  800. package/src/components/global-styles/border-panel.js +72 -1
  801. package/src/components/global-styles/get-global-styles-changes.js +2 -8
  802. package/src/components/global-styles/index.js +0 -1
  803. package/src/components/global-styles/shadow-panel-components.js +125 -0
  804. package/src/components/global-styles/style.scss +8 -9
  805. package/src/components/global-styles/test/get-global-styles-changes.js +3 -3
  806. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  807. package/src/components/global-styles/test/utils.js +86 -0
  808. package/src/components/global-styles/typography-panel.js +1 -2
  809. package/src/components/global-styles/use-global-styles-output.js +5 -1
  810. package/src/components/global-styles/utils.js +36 -0
  811. package/src/components/inner-blocks/index.js +31 -32
  812. package/src/components/inner-blocks/index.native.js +3 -9
  813. package/src/components/inner-blocks/use-inner-block-template-sync.js +1 -3
  814. package/src/components/inserter/block-patterns-tab/patterns-filter.js +4 -10
  815. package/src/components/inserter/block-patterns-tab/utils.js +2 -2
  816. package/src/components/inserter/quick-inserter.js +4 -2
  817. package/src/components/inserter/style.scss +3 -13
  818. package/src/components/inserter-draggable-blocks/index.js +12 -1
  819. package/src/components/inspector-controls-tabs/styles-tab.js +4 -2
  820. package/src/components/link-control/index.js +1 -20
  821. package/src/components/link-control/link-preview.js +19 -24
  822. package/src/components/link-control/style.scss +5 -18
  823. package/src/components/link-control/test/index.js +11 -90
  824. package/src/components/list-view/block.js +49 -41
  825. package/src/components/list-view/index.js +22 -9
  826. package/src/components/list-view/use-clipboard-handler.js +199 -0
  827. package/src/components/list-view/utils.js +4 -4
  828. package/src/components/media-replace-flow/style.scss +1 -1
  829. package/src/components/media-replace-flow/test/index.js +1 -1
  830. package/src/components/navigable-toolbar/index.js +8 -4
  831. package/src/components/provider/index.js +1 -1
  832. package/src/components/responsive-block-control/index.js +3 -5
  833. package/src/components/rich-text/index.js +3 -1
  834. package/src/components/rich-text/use-input-rules.js +2 -30
  835. package/src/components/spacing-sizes-control/index.js +2 -1
  836. package/src/components/url-input/style.scss +0 -2
  837. package/src/components/url-popover/image-url-input-ui.js +22 -10
  838. package/src/components/url-popover/index.js +75 -69
  839. package/src/components/url-popover/style.scss +12 -21
  840. package/src/components/use-block-drop-zone/index.js +17 -3
  841. package/src/components/use-flash-editable-blocks/index.js +62 -0
  842. package/src/components/use-on-block-drop/index.js +11 -4
  843. package/src/components/use-settings/index.js +9 -232
  844. package/src/components/writing-flow/use-clipboard-handler.js +6 -78
  845. package/src/components/writing-flow/use-drag-selection.js +12 -3
  846. package/src/components/writing-flow/utils.js +103 -0
  847. package/src/hooks/background.js +53 -8
  848. package/src/hooks/border.js +47 -6
  849. package/src/hooks/font-size.js +33 -33
  850. package/src/hooks/style.js +5 -9
  851. package/src/hooks/test/background.js +50 -0
  852. package/src/hooks/test/font-size.js +164 -0
  853. package/src/hooks/use-bindings-attributes.js +9 -19
  854. package/src/private-apis.js +4 -0
  855. package/src/store/get-block-settings.js +225 -0
  856. package/src/store/private-actions.js +44 -2
  857. package/src/store/private-selectors.js +53 -38
  858. package/src/store/reducer.js +30 -2
  859. package/src/store/selectors.js +74 -48
  860. package/src/store/test/get-block-settings.js +90 -0
  861. package/src/store/test/private-actions.js +18 -0
  862. package/src/store/test/private-selectors.js +19 -0
  863. package/src/store/test/reducer.js +19 -0
  864. package/build/components/global-styles/effects-panel.js +0 -219
  865. package/build/components/global-styles/effects-panel.js.map +0 -1
  866. package/build/hooks/effects.js +0 -66
  867. package/build/hooks/effects.js.map +0 -1
  868. package/build-module/components/global-styles/effects-panel.js +0 -210
  869. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  870. package/build-module/hooks/effects.js +0 -51
  871. package/build-module/hooks/effects.js.map +0 -1
  872. package/src/components/global-styles/effects-panel.js +0 -244
  873. package/src/components/use-settings/test/index.js +0 -141
  874. package/src/hooks/effects.js +0 -57
  875. package/src/hooks/test/effects.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"names":["__","INSERTER_PATTERN_TYPES","user","theme","directory","INSERTER_SYNC_TYPES","full","unsynced","allPatternsCategory","name","label","myPatternsCategory","isPatternFiltered","pattern","sourceFilter","syncFilter","isUserPattern","startsWith","isDirectoryPattern","source","type","syncStatus"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\n\nexport const INSERTER_PATTERN_TYPES = {\n\tuser: 'user',\n\ttheme: 'theme',\n\tdirectory: 'directory',\n};\n\nexport const INSERTER_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nexport const allPatternsCategory = {\n\tname: 'allPatterns',\n\tlabel: __( 'All' ),\n};\n\nexport const myPatternsCategory = {\n\tname: 'myPatterns',\n\tlabel: __( 'My patterns' ),\n};\n\nexport function isPatternFiltered( pattern, sourceFilter, syncFilter ) {\n\tconst isUserPattern = pattern.name.startsWith( 'core/block' );\n\tconst isDirectoryPattern =\n\t\tpattern.source === 'core' ||\n\t\tpattern.source?.startsWith( 'pattern-directory' );\n\n\t// If theme source selected, filter out user created patterns and those from\n\t// the core patterns directory.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.theme &&\n\t\t( isUserPattern || isDirectoryPattern )\n\t) {\n\t\treturn true;\n\t}\n\n\t// If the directory source is selected, filter out user created patterns\n\t// and those bundled with the theme.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.directory &&\n\t\t( isUserPattern || ! isDirectoryPattern )\n\t) {\n\t\treturn true;\n\t}\n\n\t// If user source selected, filter out theme patterns.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.user &&\n\t\tpattern.type !== INSERTER_PATTERN_TYPES.user\n\t) {\n\t\treturn true;\n\t}\n\n\t// Filter by sync status.\n\tif (\n\t\tsyncFilter === INSERTER_SYNC_TYPES.full &&\n\t\tpattern.syncStatus !== ''\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tsyncFilter === INSERTER_SYNC_TYPES.unsynced &&\n\t\tpattern.syncStatus !== 'unsynced' &&\n\t\tisUserPattern\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,OAAO,MAAMC,sBAAsB,GAAG;EACrCC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE;AACZ,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAG;EAClCC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAG;EAClCC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAEV,EAAE,CAAE,KAAM;AAClB,CAAC;AAED,OAAO,MAAMW,kBAAkB,GAAG;EACjCF,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAEV,EAAE,CAAE,aAAc;AAC1B,CAAC;AAED,OAAO,SAASY,iBAAiBA,CAAEC,OAAO,EAAEC,YAAY,EAAEC,UAAU,EAAG;EACtE,MAAMC,aAAa,GAAGH,OAAO,CAACJ,IAAI,CAACQ,UAAU,CAAE,YAAa,CAAC;EAC7D,MAAMC,kBAAkB,GACvBL,OAAO,CAACM,MAAM,KAAK,MAAM,IACzBN,OAAO,CAACM,MAAM,EAAEF,UAAU,CAAE,mBAAoB,CAAC;;EAElD;EACA;EACA,IACCH,YAAY,KAAKb,sBAAsB,CAACE,KAAK,KAC3Ca,aAAa,IAAIE,kBAAkB,CAAE,EACtC;IACD,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,IACCJ,YAAY,KAAKb,sBAAsB,CAACG,SAAS,KAC/CY,aAAa,IAAI,CAAEE,kBAAkB,CAAE,EACxC;IACD,OAAO,IAAI;EACZ;;EAEA;EACA,IACCJ,YAAY,KAAKb,sBAAsB,CAACC,IAAI,IAC5CW,OAAO,CAACO,IAAI,KAAKnB,sBAAsB,CAACC,IAAI,EAC3C;IACD,OAAO,IAAI;EACZ;;EAEA;EACA,IACCa,UAAU,KAAKV,mBAAmB,CAACC,IAAI,IACvCO,OAAO,CAACQ,UAAU,KAAK,EAAE,EACxB;IACD,OAAO,IAAI;EACZ;EAEA,IACCN,UAAU,KAAKV,mBAAmB,CAACE,QAAQ,IAC3CM,OAAO,CAACQ,UAAU,KAAK,UAAU,IACjCL,aAAa,EACZ;IACD,OAAO,IAAI;EACZ;EAEA,OAAO,KAAK;AACb"}
1
+ {"version":3,"names":["__","_x","INSERTER_PATTERN_TYPES","user","theme","directory","INSERTER_SYNC_TYPES","full","unsynced","allPatternsCategory","name","label","myPatternsCategory","isPatternFiltered","pattern","sourceFilter","syncFilter","isUserPattern","startsWith","isDirectoryPattern","source","type","syncStatus"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { __, _x } from '@wordpress/i18n';\n\nexport const INSERTER_PATTERN_TYPES = {\n\tuser: 'user',\n\ttheme: 'theme',\n\tdirectory: 'directory',\n};\n\nexport const INSERTER_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nexport const allPatternsCategory = {\n\tname: 'allPatterns',\n\tlabel: _x( 'All', 'patterns' ),\n};\n\nexport const myPatternsCategory = {\n\tname: 'myPatterns',\n\tlabel: __( 'My patterns' ),\n};\n\nexport function isPatternFiltered( pattern, sourceFilter, syncFilter ) {\n\tconst isUserPattern = pattern.name.startsWith( 'core/block' );\n\tconst isDirectoryPattern =\n\t\tpattern.source === 'core' ||\n\t\tpattern.source?.startsWith( 'pattern-directory' );\n\n\t// If theme source selected, filter out user created patterns and those from\n\t// the core patterns directory.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.theme &&\n\t\t( isUserPattern || isDirectoryPattern )\n\t) {\n\t\treturn true;\n\t}\n\n\t// If the directory source is selected, filter out user created patterns\n\t// and those bundled with the theme.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.directory &&\n\t\t( isUserPattern || ! isDirectoryPattern )\n\t) {\n\t\treturn true;\n\t}\n\n\t// If user source selected, filter out theme patterns.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.user &&\n\t\tpattern.type !== INSERTER_PATTERN_TYPES.user\n\t) {\n\t\treturn true;\n\t}\n\n\t// Filter by sync status.\n\tif (\n\t\tsyncFilter === INSERTER_SYNC_TYPES.full &&\n\t\tpattern.syncStatus !== ''\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tsyncFilter === INSERTER_SYNC_TYPES.unsynced &&\n\t\tpattern.syncStatus !== 'unsynced' &&\n\t\tisUserPattern\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,sBAAsB,GAAG;EACrCC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE;AACZ,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAG;EAClCC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAG;EAClCC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAEV,EAAE,CAAE,KAAK,EAAE,UAAW;AAC9B,CAAC;AAED,OAAO,MAAMW,kBAAkB,GAAG;EACjCF,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAEX,EAAE,CAAE,aAAc;AAC1B,CAAC;AAED,OAAO,SAASa,iBAAiBA,CAAEC,OAAO,EAAEC,YAAY,EAAEC,UAAU,EAAG;EACtE,MAAMC,aAAa,GAAGH,OAAO,CAACJ,IAAI,CAACQ,UAAU,CAAE,YAAa,CAAC;EAC7D,MAAMC,kBAAkB,GACvBL,OAAO,CAACM,MAAM,KAAK,MAAM,IACzBN,OAAO,CAACM,MAAM,EAAEF,UAAU,CAAE,mBAAoB,CAAC;;EAElD;EACA;EACA,IACCH,YAAY,KAAKb,sBAAsB,CAACE,KAAK,KAC3Ca,aAAa,IAAIE,kBAAkB,CAAE,EACtC;IACD,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,IACCJ,YAAY,KAAKb,sBAAsB,CAACG,SAAS,KAC/CY,aAAa,IAAI,CAAEE,kBAAkB,CAAE,EACxC;IACD,OAAO,IAAI;EACZ;;EAEA;EACA,IACCJ,YAAY,KAAKb,sBAAsB,CAACC,IAAI,IAC5CW,OAAO,CAACO,IAAI,KAAKnB,sBAAsB,CAACC,IAAI,EAC3C;IACD,OAAO,IAAI;EACZ;;EAEA;EACA,IACCa,UAAU,KAAKV,mBAAmB,CAACC,IAAI,IACvCO,OAAO,CAACQ,UAAU,KAAK,EAAE,EACxB;IACD,OAAO,IAAI;EACZ;EAEA,IACCN,UAAU,KAAKV,mBAAmB,CAACE,QAAQ,IAC3CM,OAAO,CAACQ,UAAU,KAAK,UAAU,IACjCL,aAAa,EACZ;IACD,OAAO,IAAI;EACZ;EAEA,OAAO,KAAK;AACb"}
@@ -30,7 +30,8 @@ export default function QuickInserter({
30
30
  clientId,
31
31
  isAppender,
32
32
  prioritizePatterns,
33
- selectBlockOnInsert
33
+ selectBlockOnInsert,
34
+ hasSearch = true
34
35
  }) {
35
36
  const [filterValue, setFilterValue] = useState('');
36
37
  const [destinationRootClientId, onInsertBlocks] = useInsertionPoint({
@@ -60,7 +61,7 @@ export default function QuickInserter({
60
61
  };
61
62
  }, [clientId]);
62
63
  const showPatterns = patterns.length && (!!filterValue || prioritizePatterns);
63
- const showSearch = showPatterns && patterns.length > SEARCH_THRESHOLD || blockTypes.length > SEARCH_THRESHOLD;
64
+ const showSearch = hasSearch && (showPatterns && patterns.length > SEARCH_THRESHOLD || blockTypes.length > SEARCH_THRESHOLD);
64
65
  useEffect(() => {
65
66
  if (setInserterIsOpened) {
66
67
  setInserterIsOpened(false);
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION","QuickInserter","onSelect","rootClientId","clientId","isAppender","prioritizePatterns","selectBlockOnInsert","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","settings","index","blockCount","__experimentalSetIsInserterOpened","showPatterns","length","showSearch","onBrowseAll","maxBlockPatterns","createElement","className","__nextHasNoMarginBottom","value","onChange","label","placeholder","maxBlockTypes","isDraggable","onClick"],"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, SearchControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { store as blockEditorStore } from '../../store';\n\nconst SEARCH_THRESHOLD = 6;\nconst SHOWN_BLOCK_TYPES = 6;\nconst SHOWN_BLOCK_PATTERNS = 2;\nconst SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4;\n\nexport default function QuickInserter( {\n\tonSelect,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [ blockTypes ] = useBlockTypesState(\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks\n\t);\n\n\tconst [ patterns ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst { setInserterIsOpened, insertionIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst blockCount = getBlockCount();\n\n\t\t\treturn {\n\t\t\t\tsetInserterIsOpened: settings.__experimentalSetIsInserterOpened,\n\t\t\t\tinsertionIndex: index === -1 ? blockCount : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst showPatterns =\n\t\tpatterns.length && ( !! filterValue || prioritizePatterns );\n\tconst showSearch =\n\t\t( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||\n\t\tblockTypes.length > SEARCH_THRESHOLD;\n\n\tuseEffect( () => {\n\t\tif ( setInserterIsOpened ) {\n\t\t\tsetInserterIsOpened( false );\n\t\t}\n\t}, [ setInserterIsOpened ] );\n\n\t// When clicking Browse All select the appropriate block so as\n\t// the insertion point can work as expected.\n\tconst onBrowseAll = () => {\n\t\tsetInserterIsOpened( { rootClientId, insertionIndex, filterValue } );\n\t};\n\n\tlet maxBlockPatterns = 0;\n\tif ( showPatterns ) {\n\t\tmaxBlockPatterns = prioritizePatterns\n\t\t\t? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION\n\t\t\t: SHOWN_BLOCK_PATTERNS;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-inserter__quick-inserter', {\n\t\t\t\t'has-search': showSearch,\n\t\t\t\t'has-expand': setInserterIsOpened,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ showSearch && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-results\">\n\t\t\t\t<InserterSearchResults\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tmaxBlockPatterns={ maxBlockPatterns }\n\t\t\t\t\tmaxBlockTypes={ SHOWN_BLOCK_TYPES }\n\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{ setInserterIsOpened && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__quick-inserter-expand\"\n\t\t\t\t\tonClick={ onBrowseAll }\n\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t'Browse all. This will open the main inserter panel in the editor toolbar.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Browse all' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION","QuickInserter","onSelect","rootClientId","clientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","settings","index","blockCount","__experimentalSetIsInserterOpened","showPatterns","length","showSearch","onBrowseAll","maxBlockPatterns","createElement","className","__nextHasNoMarginBottom","value","onChange","label","placeholder","maxBlockTypes","isDraggable","onClick"],"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, SearchControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { store as blockEditorStore } from '../../store';\n\nconst SEARCH_THRESHOLD = 6;\nconst SHOWN_BLOCK_TYPES = 6;\nconst SHOWN_BLOCK_PATTERNS = 2;\nconst SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4;\n\nexport default function QuickInserter( {\n\tonSelect,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n\thasSearch = true,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [ blockTypes ] = useBlockTypesState(\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks\n\t);\n\n\tconst [ patterns ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst { setInserterIsOpened, insertionIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst blockCount = getBlockCount();\n\n\t\t\treturn {\n\t\t\t\tsetInserterIsOpened: settings.__experimentalSetIsInserterOpened,\n\t\t\t\tinsertionIndex: index === -1 ? blockCount : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst showPatterns =\n\t\tpatterns.length && ( !! filterValue || prioritizePatterns );\n\tconst showSearch =\n\t\thasSearch &&\n\t\t( ( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||\n\t\t\tblockTypes.length > SEARCH_THRESHOLD );\n\n\tuseEffect( () => {\n\t\tif ( setInserterIsOpened ) {\n\t\t\tsetInserterIsOpened( false );\n\t\t}\n\t}, [ setInserterIsOpened ] );\n\n\t// When clicking Browse All select the appropriate block so as\n\t// the insertion point can work as expected.\n\tconst onBrowseAll = () => {\n\t\tsetInserterIsOpened( { rootClientId, insertionIndex, filterValue } );\n\t};\n\n\tlet maxBlockPatterns = 0;\n\tif ( showPatterns ) {\n\t\tmaxBlockPatterns = prioritizePatterns\n\t\t\t? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION\n\t\t\t: SHOWN_BLOCK_PATTERNS;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-inserter__quick-inserter', {\n\t\t\t\t'has-search': showSearch,\n\t\t\t\t'has-expand': setInserterIsOpened,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ showSearch && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-results\">\n\t\t\t\t<InserterSearchResults\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tmaxBlockPatterns={ maxBlockPatterns }\n\t\t\t\t\tmaxBlockTypes={ SHOWN_BLOCK_TYPES }\n\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{ setInserterIsOpened && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__quick-inserter-expand\"\n\t\t\t\t\tonClick={ onBrowseAll }\n\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t'Browse all. This will open the main inserter panel in the editor toolbar.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Browse all' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -25,7 +25,6 @@ function extractWords(input = '') {
25
25
  // One lowercase or digit, followed by one uppercase.
26
26
  /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase.
27
27
  ],
28
-
29
28
  stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu // Anything that's not a punctuation, symbol or control/format character.
30
29
  }).split(' ').filter(Boolean);
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"names":["removeAccents","noCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","extractWords","input","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","find","slug","getCollection","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tcategories.find( ( { slug } ) => slug === item.category )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["removeAccents","noCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","extractWords","input","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","find","slug","getCollection","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tcategories.find( ( { slug } ) => slug === item.category )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
@@ -4,12 +4,15 @@ import { createElement } from "react";
4
4
  */
5
5
  import { Draggable } from '@wordpress/components';
6
6
  import { createBlock, serialize, store as blocksStore } from '@wordpress/blocks';
7
- import { useSelect } from '@wordpress/data';
7
+ import { useDispatch, useSelect } from '@wordpress/data';
8
+
8
9
  /**
9
10
  * Internal dependencies
10
11
  */
11
12
  import BlockDraggableChip from '../block-draggable/draggable-chip';
12
13
  import { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';
14
+ import { store as blockEditorStore } from '../../store';
15
+ import { unlock } from '../../lock-unlock';
13
16
  const InserterDraggableBlocks = ({
14
17
  isEnabled,
15
18
  blocks,
@@ -27,15 +30,23 @@ const InserterDraggableBlocks = ({
27
30
  } = select(blocksStore);
28
31
  return blocks.length === 1 && getBlockType(blocks[0].name)?.icon;
29
32
  }, [blocks]);
33
+ const {
34
+ startDragging,
35
+ stopDragging
36
+ } = unlock(useDispatch(blockEditorStore));
30
37
  return createElement(Draggable, {
31
38
  __experimentalTransferDataType: "wp-blocks",
32
39
  transferData: transferData,
33
40
  onDragStart: event => {
41
+ startDragging();
34
42
  const parsedBlocks = pattern?.type === INSERTER_PATTERN_TYPES.user && pattern?.syncStatus !== 'unsynced' ? [createBlock('core/block', {
35
43
  ref: pattern.id
36
44
  })] : blocks;
37
45
  event.dataTransfer.setData('text/html', serialize(parsedBlocks));
38
46
  },
47
+ onDragEnd: () => {
48
+ stopDragging();
49
+ },
39
50
  __experimentalDragComponent: createElement(BlockDraggableChip, {
40
51
  count: blocks.length,
41
52
  icon: icon || !pattern && blockTypeIcon,
@@ -1 +1 @@
1
- {"version":3,"names":["Draggable","createBlock","serialize","store","blocksStore","useSelect","BlockDraggableChip","INSERTER_PATTERN_TYPES","InserterDraggableBlocks","isEnabled","blocks","icon","children","pattern","transferData","type","blockTypeIcon","select","getBlockType","length","name","createElement","__experimentalTransferDataType","onDragStart","event","parsedBlocks","user","syncStatus","ref","id","dataTransfer","setData","__experimentalDragComponent","count","isPattern","onDraggableStart","onDraggableEnd","draggable","undefined","onDragEnd"],"sources":["@wordpress/block-editor/src/components/inserter-draggable-blocks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport {\n\tcreateBlock,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\nimport { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tpattern,\n} ) => {\n\tconst transferData = {\n\t\ttype: 'inserter',\n\t\tblocks,\n\t};\n\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tblocks.length === 1 && getBlockType( blocks[ 0 ].name )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tconst parsedBlocks =\n\t\t\t\t\tpattern?.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\t\t\tpattern?.syncStatus !== 'unsynced'\n\t\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t\t: blocks;\n\t\t\t\tevent.dataTransfer.setData(\n\t\t\t\t\t'text/html',\n\t\t\t\t\tserialize( parsedBlocks )\n\t\t\t\t);\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! pattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ !! pattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: isEnabled,\n\t\t\t\t\tonDragStart: isEnabled ? onDraggableStart : undefined,\n\t\t\t\t\tonDragEnd: isEnabled ? onDraggableEnd : undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SACCC,WAAW,EACXC,SAAS,EACTC,KAAK,IAAIC,WAAW,QACd,mBAAmB;AAC1B,SAASC,SAAS,QAAQ,iBAAiB;AAC3C;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,mCAAmC;AAClE,SAASC,sBAAsB,QAAQ,sCAAsC;AAE7E,MAAMC,uBAAuB,GAAGA,CAAE;EACjCC,SAAS;EACTC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,GAAG;IACpBC,IAAI,EAAE,UAAU;IAChBL;EACD,CAAC;EAED,MAAMM,aAAa,GAAGX,SAAS,CAC5BY,MAAM,IAAM;IACb,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAEb,WAAY,CAAC;IAC9C,OACCM,MAAM,CAACS,MAAM,KAAK,CAAC,IAAID,YAAY,CAAER,MAAM,CAAE,CAAC,CAAE,CAACU,IAAK,CAAC,EAAET,IAAI;EAE/D,CAAC,EACD,CAAED,MAAM,CACT,CAAC;EAED,OACCW,aAAA,CAACrB,SAAS;IACTsB,8BAA8B,EAAC,WAAW;IAC1CR,YAAY,EAAGA,YAAc;IAC7BS,WAAW,EAAKC,KAAK,IAAM;MAC1B,MAAMC,YAAY,GACjBZ,OAAO,EAAEE,IAAI,KAAKR,sBAAsB,CAACmB,IAAI,IAC7Cb,OAAO,EAAEc,UAAU,KAAK,UAAU,GAC/B,CAAE1B,WAAW,CAAE,YAAY,EAAE;QAAE2B,GAAG,EAAEf,OAAO,CAACgB;MAAG,CAAE,CAAC,CAAE,GACpDnB,MAAM;MACVc,KAAK,CAACM,YAAY,CAACC,OAAO,CACzB,WAAW,EACX7B,SAAS,CAAEuB,YAAa,CACzB,CAAC;IACF,CAAG;IACHO,2BAA2B,EAC1BX,aAAA,CAACf,kBAAkB;MAClB2B,KAAK,EAAGvB,MAAM,CAACS,MAAQ;MACvBR,IAAI,EAAGA,IAAI,IAAM,CAAEE,OAAO,IAAIG,aAAiB;MAC/CkB,SAAS,EAAG,CAAC,CAAErB;IAAS,CACxB;EACD,GAEC,CAAE;IAAEsB,gBAAgB;IAAEC;EAAe,CAAC,KAAM;IAC7C,OAAOxB,QAAQ,CAAE;MAChByB,SAAS,EAAE5B,SAAS;MACpBc,WAAW,EAAEd,SAAS,GAAG0B,gBAAgB,GAAGG,SAAS;MACrDC,SAAS,EAAE9B,SAAS,GAAG2B,cAAc,GAAGE;IACzC,CAAE,CAAC;EACJ,CACU,CAAC;AAEd,CAAC;AAED,eAAe9B,uBAAuB"}
1
+ {"version":3,"names":["Draggable","createBlock","serialize","store","blocksStore","useDispatch","useSelect","BlockDraggableChip","INSERTER_PATTERN_TYPES","blockEditorStore","unlock","InserterDraggableBlocks","isEnabled","blocks","icon","children","pattern","transferData","type","blockTypeIcon","select","getBlockType","length","name","startDragging","stopDragging","createElement","__experimentalTransferDataType","onDragStart","event","parsedBlocks","user","syncStatus","ref","id","dataTransfer","setData","onDragEnd","__experimentalDragComponent","count","isPattern","onDraggableStart","onDraggableEnd","draggable","undefined"],"sources":["@wordpress/block-editor/src/components/inserter-draggable-blocks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport {\n\tcreateBlock,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\nimport { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tpattern,\n} ) => {\n\tconst transferData = {\n\t\ttype: 'inserter',\n\t\tblocks,\n\t};\n\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tblocks.length === 1 && getBlockType( blocks[ 0 ].name )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blocks ]\n\t);\n\n\tconst { startDragging, stopDragging } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tstartDragging();\n\t\t\t\tconst parsedBlocks =\n\t\t\t\t\tpattern?.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\t\t\tpattern?.syncStatus !== 'unsynced'\n\t\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t\t: blocks;\n\t\t\t\tevent.dataTransfer.setData(\n\t\t\t\t\t'text/html',\n\t\t\t\t\tserialize( parsedBlocks )\n\t\t\t\t);\n\t\t\t} }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDragging();\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! pattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ !! pattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: isEnabled,\n\t\t\t\t\tonDragStart: isEnabled ? onDraggableStart : undefined,\n\t\t\t\t\tonDragEnd: isEnabled ? onDraggableEnd : undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SACCC,WAAW,EACXC,SAAS,EACTC,KAAK,IAAIC,WAAW,QACd,mBAAmB;AAC1B,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,mCAAmC;AAClE,SAASC,sBAAsB,QAAQ,sCAAsC;AAC7E,SAASL,KAAK,IAAIM,gBAAgB,QAAQ,aAAa;AACvD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAMC,uBAAuB,GAAGA,CAAE;EACjCC,SAAS;EACTC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,GAAG;IACpBC,IAAI,EAAE,UAAU;IAChBL;EACD,CAAC;EAED,MAAMM,aAAa,GAAGb,SAAS,CAC5Bc,MAAM,IAAM;IACb,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAEhB,WAAY,CAAC;IAC9C,OACCS,MAAM,CAACS,MAAM,KAAK,CAAC,IAAID,YAAY,CAAER,MAAM,CAAE,CAAC,CAAE,CAACU,IAAK,CAAC,EAAET,IAAI;EAE/D,CAAC,EACD,CAAED,MAAM,CACT,CAAC;EAED,MAAM;IAAEW,aAAa;IAAEC;EAAa,CAAC,GAAGf,MAAM,CAC7CL,WAAW,CAAEI,gBAAiB,CAC/B,CAAC;EAED,OACCiB,aAAA,CAAC1B,SAAS;IACT2B,8BAA8B,EAAC,WAAW;IAC1CV,YAAY,EAAGA,YAAc;IAC7BW,WAAW,EAAKC,KAAK,IAAM;MAC1BL,aAAa,CAAC,CAAC;MACf,MAAMM,YAAY,GACjBd,OAAO,EAAEE,IAAI,KAAKV,sBAAsB,CAACuB,IAAI,IAC7Cf,OAAO,EAAEgB,UAAU,KAAK,UAAU,GAC/B,CAAE/B,WAAW,CAAE,YAAY,EAAE;QAAEgC,GAAG,EAAEjB,OAAO,CAACkB;MAAG,CAAE,CAAC,CAAE,GACpDrB,MAAM;MACVgB,KAAK,CAACM,YAAY,CAACC,OAAO,CACzB,WAAW,EACXlC,SAAS,CAAE4B,YAAa,CACzB,CAAC;IACF,CAAG;IACHO,SAAS,EAAGA,CAAA,KAAM;MACjBZ,YAAY,CAAC,CAAC;IACf,CAAG;IACHa,2BAA2B,EAC1BZ,aAAA,CAACnB,kBAAkB;MAClBgC,KAAK,EAAG1B,MAAM,CAACS,MAAQ;MACvBR,IAAI,EAAGA,IAAI,IAAM,CAAEE,OAAO,IAAIG,aAAiB;MAC/CqB,SAAS,EAAG,CAAC,CAAExB;IAAS,CACxB;EACD,GAEC,CAAE;IAAEyB,gBAAgB;IAAEC;EAAe,CAAC,KAAM;IAC7C,OAAO3B,QAAQ,CAAE;MAChB4B,SAAS,EAAE/B,SAAS;MACpBgB,WAAW,EAAEhB,SAAS,GAAG6B,gBAAgB,GAAGG,SAAS;MACrDP,SAAS,EAAEzB,SAAS,GAAG8B,cAAc,GAAGE;IACzC,CAAE,CAAC;EACJ,CACU,CAAC;AAEd,CAAC;AAED,eAAejC,uBAAuB"}
@@ -12,11 +12,15 @@ import { __ } from '@wordpress/i18n';
12
12
  import BlockStyles from '../block-styles';
13
13
  import DefaultStylePicker from '../default-style-picker';
14
14
  import InspectorControls from '../inspector-controls';
15
+ import { getBorderPanelLabel } from '../../hooks/border';
15
16
  const StylesTab = ({
16
17
  blockName,
17
18
  clientId,
18
19
  hasBlockStyles
19
20
  }) => {
21
+ const borderPanelLabel = getBorderPanelLabel({
22
+ blockName
23
+ });
20
24
  return createElement(Fragment, null, hasBlockStyles && createElement("div", null, createElement(PanelBody, {
21
25
  title: __('Styles')
22
26
  }, createElement(BlockStyles, {
@@ -40,10 +44,7 @@ const StylesTab = ({
40
44
  label: __('Dimensions')
41
45
  }), createElement(InspectorControls.Slot, {
42
46
  group: "border",
43
- label: __('Border')
44
- }), createElement(InspectorControls.Slot, {
45
- group: "effects",
46
- label: __('Effects')
47
+ label: borderPanelLabel
47
48
  }), createElement(InspectorControls.Slot, {
48
49
  group: "styles"
49
50
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["hasBlockSupport","PanelBody","__","BlockStyles","DefaultStylePicker","InspectorControls","StylesTab","blockName","clientId","hasBlockStyles","createElement","Fragment","title","Slot","group","label","className"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport InspectorControls from '../inspector-controls';\n\nconst StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"background\"\n\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ __( 'Border' ) } />\n\t\t\t<InspectorControls.Slot group=\"effects\" label={ __( 'Effects' ) } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,iBAAiB,MAAM,uBAAuB;AAErD,MAAMC,SAAS,GAAGA,CAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAe,CAAC,KAAM;EAChE,OACCC,aAAA,CAAAC,QAAA,QACGF,cAAc,IACfC,aAAA,cACCA,aAAA,CAACT,SAAS;IAACW,KAAK,EAAGV,EAAE,CAAE,QAAS;EAAG,GAClCQ,aAAA,CAACP,WAAW;IAACK,QAAQ,EAAGA;EAAU,CAAE,CAAC,EACnCR,eAAe,CAChBO,SAAS,EACT,oBAAoB,EACpB,IACD,CAAC,IAAIG,aAAA,CAACN,kBAAkB;IAACG,SAAS,EAAGA;EAAW,CAAE,CACxC,CACP,CACL,EACDG,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IACtBC,KAAK,EAAC,OAAO;IACbC,KAAK,EAAGb,EAAE,CAAE,OAAQ,CAAG;IACvBc,SAAS,EAAC;EAA0C,CACpD,CAAC,EACFN,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGb,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFQ,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CAAC,EACzCJ,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGb,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFQ,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGb,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFQ,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IAACC,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAGb,EAAE,CAAE,QAAS;EAAG,CAAE,CAAC,EAClEQ,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IAACC,KAAK,EAAC,SAAS;IAACC,KAAK,EAAGb,EAAE,CAAE,SAAU;EAAG,CAAE,CAAC,EACpEQ,aAAA,CAACL,iBAAiB,CAACQ,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CACvC,CAAC;AAEL,CAAC;AAED,eAAeR,SAAS"}
1
+ {"version":3,"names":["hasBlockSupport","PanelBody","__","BlockStyles","DefaultStylePicker","InspectorControls","getBorderPanelLabel","StylesTab","blockName","clientId","hasBlockStyles","borderPanelLabel","createElement","Fragment","title","Slot","group","label","className"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport InspectorControls from '../inspector-controls';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nconst StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"background\"\n\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ borderPanelLabel } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,SAASC,mBAAmB,QAAQ,oBAAoB;AAExD,MAAMC,SAAS,GAAGA,CAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAe,CAAC,KAAM;EAChE,MAAMC,gBAAgB,GAAGL,mBAAmB,CAAE;IAAEE;EAAU,CAAE,CAAC;EAE7D,OACCI,aAAA,CAAAC,QAAA,QACGH,cAAc,IACfE,aAAA,cACCA,aAAA,CAACX,SAAS;IAACa,KAAK,EAAGZ,EAAE,CAAE,QAAS;EAAG,GAClCU,aAAA,CAACT,WAAW;IAACM,QAAQ,EAAGA;EAAU,CAAE,CAAC,EACnCT,eAAe,CAChBQ,SAAS,EACT,oBAAoB,EACpB,IACD,CAAC,IAAII,aAAA,CAACR,kBAAkB;IAACI,SAAS,EAAGA;EAAW,CAAE,CACxC,CACP,CACL,EACDI,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,OAAO;IACbC,KAAK,EAAGf,EAAE,CAAE,OAAQ,CAAG;IACvBgB,SAAS,EAAC;EAA0C,CACpD,CAAC,EACFN,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGf,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFU,aAAA,CAACP,iBAAiB,CAACU,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CAAC,EACzCJ,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGf,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFU,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGf,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFU,aAAA,CAACP,iBAAiB,CAACU,IAAI;IAACC,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAGN;EAAkB,CAAE,CAAC,EACpEC,aAAA,CAACP,iBAAiB,CAACU,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CACvC,CAAC;AAEL,CAAC;AAED,eAAeT,SAAS"}
@@ -350,19 +350,6 @@ function LinkControl({
350
350
  onEditClick: () => setIsEditingLink(true),
351
351
  hasRichPreviews: hasRichPreviews,
352
352
  hasUnlinkControl: shownUnlinkControl,
353
- additionalControls: () => {
354
- // Expose the "Opens in new tab" settings in the preview
355
- // as it is the most common setting to change.
356
- if (settings?.find(setting => setting.id === 'opensInNewTab')) {
357
- return createElement(LinkSettings, {
358
- value: internalControlValue,
359
- settings: settings?.filter(({
360
- id
361
- }) => id === 'opensInNewTab'),
362
- onChange: onChange
363
- });
364
- }
365
- },
366
353
  onRemove: () => {
367
354
  onRemove();
368
355
  setIsEditingLink(true);
@@ -387,7 +374,7 @@ function LinkControl({
387
374
  onClick: isDisabled ? noop : handleSubmit,
388
375
  className: "block-editor-link-control__search-submit",
389
376
  "aria-disabled": isDisabled
390
- }, __('Save'))), renderControlBottom && renderControlBottom());
377
+ }, __('Save'))), !isCreatingPage && renderControlBottom && renderControlBottom());
391
378
  }
392
379
  LinkControl.ViewerFill = ViewerFill;
393
380
  LinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","Spinner","Notice","TextControl","__experimentalHStack","HStack","__","useRef","useState","useEffect","focus","ENTER","isShallowEqualObjects","useSelect","useDispatch","store","preferencesStore","keyboardReturn","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","LinkSettings","useCreatePage","useInternalValue","ViewerFill","DEFAULT_LINK_SETTINGS","noop","PREFERENCE_SCOPE","PREFERENCE_KEY","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","settingsOpen","setSettingsOpen","advancedSettingsPreference","select","_prefsStore$get","prefsStore","get","set","setPreference","setSettingsOpenWithPreference","prefVal","isSettingsOpen","isMounting","wrapperNode","textInputRef","isEndingEditWithFocus","settingsKeys","map","id","internalControlValue","setInternalControlValue","setInternalURLInputValue","setInternalTextInputValue","createSetInternalSettingValueHandler","valueHasChanges","isEditingLink","setIsEditingLink","url","createPage","isCreatingPage","errorMessage","current","nextFocusTarget","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","nonSettingsChanges","Object","keys","reduce","acc","key","includes","title","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showActions","showTextControl","isEditing","isDisabled","showSettings","createElement","tabIndex","ref","className","Fragment","__nextHasNoMarginBottom","label","onKeyDown","size","currentLink","placeholder","onCreateSuggestion","onSelect","allowDirectEntry","withURLSuggestion","hideLabelFromVision","onClick","icon","status","isDismissible","onEditClick","hasUnlinkControl","additionalControls","setting","filter","justify","variant"],"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tSpinner,\n\tNotice,\n\tTextControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\nimport { isShallowEqualObjects } from '@wordpress/is-shallow-equal';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport LinkSettings from './settings';\nimport useCreatePage from './use-create-page';\nimport useInternalValue from './use-internal-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\nconst PREFERENCE_SCOPE = 'core/block-editor';\nconst PREFERENCE_KEY = 'linkControlSettingsDrawer';\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst [ settingsOpen, setSettingsOpen ] = useState( false );\n\n\tconst { advancedSettingsPreference } = useSelect( ( select ) => {\n\t\tconst prefsStore = select( preferencesStore );\n\n\t\treturn {\n\t\t\tadvancedSettingsPreference:\n\t\t\t\tprefsStore.get( PREFERENCE_SCOPE, PREFERENCE_KEY ) ?? false,\n\t\t};\n\t}, [] );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\t/**\n\t * Sets the open/closed state of the Advanced Settings Drawer,\n\t * optionlly persisting the state to the user's preferences.\n\t *\n\t * Note that Block Editor components can be consumed by non-WordPress\n\t * environments which may not have preferences setup.\n\t * Therefore a local state is also used as a fallback.\n\t *\n\t * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer.\n\t */\n\tconst setSettingsOpenWithPreference = ( prefVal ) => {\n\t\tif ( setPreference ) {\n\t\t\tsetPreference( PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal );\n\t\t}\n\t\tsetSettingsOpen( prefVal );\n\t};\n\n\t// Block Editor components can be consumed by non-WordPress environments\n\t// which may not have these preferences setup.\n\t// Therefore a local state is used as a fallback.\n\tconst isSettingsOpen = advancedSettingsPreference || settingsOpen;\n\n\tconst isMounting = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocus = useRef( false );\n\n\tconst settingsKeys = settings.map( ( { id } ) => id );\n\n\tconst [\n\t\tinternalControlValue,\n\t\tsetInternalControlValue,\n\t\tsetInternalURLInputValue,\n\t\tsetInternalTextInputValue,\n\t\tcreateSetInternalSettingValueHandler,\n\t] = useInternalValue( value );\n\n\tconst valueHasChanges =\n\t\tvalue && ! isShallowEqualObjects( internalControlValue, value );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif ( forceIsEditingLink === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsEditingLink( forceIsEditingLink );\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[ 0 ] ||\n\t\t\twrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocus.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocus.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\t// Suggestions may contains \"settings\" values (e.g. `opensInNewTab`)\n\t\t// which should not overide any existing settings values set by the\n\t\t// user. This filters out any settings values from the suggestion.\n\t\tconst nonSettingsChanges = Object.keys( updatedValue ).reduce(\n\t\t\t( acc, key ) => {\n\t\t\t\tif ( ! settingsKeys.includes( key ) ) {\n\t\t\t\t\tacc[ key ] = updatedValue[ key ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tonChange( {\n\t\t\t...internalControlValue,\n\t\t\t...nonSettingsChanges,\n\t\t\t// As title is not a setting, it must be manually applied\n\t\t\t// in such a way as to preserve the users changes over\n\t\t\t// any \"title\" value provided by the \"suggestion\".\n\t\t\ttitle: internalControlValue?.title || updatedValue?.title,\n\t\t} );\n\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif ( valueHasChanges ) {\n\t\t\t// Submit the original value with new stored values applied\n\t\t\t// on top. URL is a special case as it may also be a prop.\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\t...internalControlValue,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalControlValue( value );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue =\n\t\tpropInputValue || internalControlValue?.url || '';\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showActions = isEditingLink && hasLinkValue;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\tconst isDisabled = ! valueHasChanges || currentInputIsEmpty;\n\tconst showSettings = !! settings?.length && isEditingLink && hasLinkValue;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t\t'has-actions': showActions,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\tvalue={ internalControlValue?.title }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalURLInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision={ ! showTextControl }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! showActions && (\n\t\t\t\t\t\t\t<div className=\"block-editor-link-control__search-enter\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tadditionalControls={ () => {\n\t\t\t\t\t\t// Expose the \"Opens in new tab\" settings in the preview\n\t\t\t\t\t\t// as it is the most common setting to change.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tsettings?.find(\n\t\t\t\t\t\t\t\t( setting ) => setting.id === 'opensInNewTab'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\t\tsettings={ settings?.filter(\n\t\t\t\t\t\t\t\t\t\t( { id } ) => id === 'opensInNewTab'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t/>\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\tonRemove={ () => {\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\tsetIsEditingLink( true );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettings && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t{ ! currentInputIsEmpty && (\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tsettingsOpen={ isSettingsOpen }\n\t\t\t\t\t\t\tsetSettingsOpen={ setSettingsOpenWithPreference }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonChange={ createSetInternalSettingValueHandler(\n\t\t\t\t\t\t\t\t\tsettingsKeys\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</LinkControlSettingsDrawer>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ showActions && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t\tclassName=\"block-editor-link-control__search-actions\"\n\t\t\t\t>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ handleCancel }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t{ renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\nLinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;\n\nexport default LinkControl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","Button","Spinner","Notice","TextControl","__experimentalHStack","HStack","__","useRef","useState","useEffect","focus","ENTER","isShallowEqualObjects","useSelect","useDispatch","store","preferencesStore","keyboardReturn","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","LinkSettings","useCreatePage","useInternalValue","ViewerFill","DEFAULT_LINK_SETTINGS","noop","PREFERENCE_SCOPE","PREFERENCE_KEY","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","settingsOpen","setSettingsOpen","advancedSettingsPreference","select","_prefsStore$get","prefsStore","get","set","setPreference","setSettingsOpenWithPreference","prefVal","isSettingsOpen","isMounting","wrapperNode","textInputRef","isEndingEditWithFocus","settingsKeys","map","id","internalControlValue","setInternalControlValue","setInternalURLInputValue","setInternalTextInputValue","createSetInternalSettingValueHandler","valueHasChanges","isEditingLink","setIsEditingLink","url","createPage","isCreatingPage","errorMessage","current","nextFocusTarget","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","nonSettingsChanges","Object","keys","reduce","acc","key","includes","title","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showActions","showTextControl","isEditing","isDisabled","showSettings","createElement","tabIndex","ref","className","Fragment","__nextHasNoMarginBottom","label","onKeyDown","size","currentLink","placeholder","onCreateSuggestion","onSelect","allowDirectEntry","withURLSuggestion","hideLabelFromVision","onClick","icon","status","isDismissible","onEditClick","hasUnlinkControl","justify","variant"],"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tSpinner,\n\tNotice,\n\tTextControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\nimport { isShallowEqualObjects } from '@wordpress/is-shallow-equal';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport LinkSettings from './settings';\nimport useCreatePage from './use-create-page';\nimport useInternalValue from './use-internal-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\nconst PREFERENCE_SCOPE = 'core/block-editor';\nconst PREFERENCE_KEY = 'linkControlSettingsDrawer';\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst [ settingsOpen, setSettingsOpen ] = useState( false );\n\n\tconst { advancedSettingsPreference } = useSelect( ( select ) => {\n\t\tconst prefsStore = select( preferencesStore );\n\n\t\treturn {\n\t\t\tadvancedSettingsPreference:\n\t\t\t\tprefsStore.get( PREFERENCE_SCOPE, PREFERENCE_KEY ) ?? false,\n\t\t};\n\t}, [] );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\t/**\n\t * Sets the open/closed state of the Advanced Settings Drawer,\n\t * optionlly persisting the state to the user's preferences.\n\t *\n\t * Note that Block Editor components can be consumed by non-WordPress\n\t * environments which may not have preferences setup.\n\t * Therefore a local state is also used as a fallback.\n\t *\n\t * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer.\n\t */\n\tconst setSettingsOpenWithPreference = ( prefVal ) => {\n\t\tif ( setPreference ) {\n\t\t\tsetPreference( PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal );\n\t\t}\n\t\tsetSettingsOpen( prefVal );\n\t};\n\n\t// Block Editor components can be consumed by non-WordPress environments\n\t// which may not have these preferences setup.\n\t// Therefore a local state is used as a fallback.\n\tconst isSettingsOpen = advancedSettingsPreference || settingsOpen;\n\n\tconst isMounting = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocus = useRef( false );\n\n\tconst settingsKeys = settings.map( ( { id } ) => id );\n\n\tconst [\n\t\tinternalControlValue,\n\t\tsetInternalControlValue,\n\t\tsetInternalURLInputValue,\n\t\tsetInternalTextInputValue,\n\t\tcreateSetInternalSettingValueHandler,\n\t] = useInternalValue( value );\n\n\tconst valueHasChanges =\n\t\tvalue && ! isShallowEqualObjects( internalControlValue, value );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif ( forceIsEditingLink === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsEditingLink( forceIsEditingLink );\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[ 0 ] ||\n\t\t\twrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocus.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocus.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\t// Suggestions may contains \"settings\" values (e.g. `opensInNewTab`)\n\t\t// which should not overide any existing settings values set by the\n\t\t// user. This filters out any settings values from the suggestion.\n\t\tconst nonSettingsChanges = Object.keys( updatedValue ).reduce(\n\t\t\t( acc, key ) => {\n\t\t\t\tif ( ! settingsKeys.includes( key ) ) {\n\t\t\t\t\tacc[ key ] = updatedValue[ key ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tonChange( {\n\t\t\t...internalControlValue,\n\t\t\t...nonSettingsChanges,\n\t\t\t// As title is not a setting, it must be manually applied\n\t\t\t// in such a way as to preserve the users changes over\n\t\t\t// any \"title\" value provided by the \"suggestion\".\n\t\t\ttitle: internalControlValue?.title || updatedValue?.title,\n\t\t} );\n\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif ( valueHasChanges ) {\n\t\t\t// Submit the original value with new stored values applied\n\t\t\t// on top. URL is a special case as it may also be a prop.\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\t...internalControlValue,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalControlValue( value );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue =\n\t\tpropInputValue || internalControlValue?.url || '';\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showActions = isEditingLink && hasLinkValue;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\tconst isDisabled = ! valueHasChanges || currentInputIsEmpty;\n\tconst showSettings = !! settings?.length && isEditingLink && hasLinkValue;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t\t'has-actions': showActions,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\tvalue={ internalControlValue?.title }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalURLInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision={ ! showTextControl }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! showActions && (\n\t\t\t\t\t\t\t<div className=\"block-editor-link-control__search-enter\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\tsetIsEditingLink( true );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettings && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t{ ! currentInputIsEmpty && (\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tsettingsOpen={ isSettingsOpen }\n\t\t\t\t\t\t\tsetSettingsOpen={ setSettingsOpenWithPreference }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonChange={ createSetInternalSettingValueHandler(\n\t\t\t\t\t\t\t\t\tsettingsKeys\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</LinkControlSettingsDrawer>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ showActions && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t\tclassName=\"block-editor-link-control__search-actions\"\n\t\t\t\t>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ handleCancel }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t{ ! isCreatingPage && renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\nLinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;\n\nexport default LinkControl;\n"],"mappings":"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"}
@@ -7,11 +7,11 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { __ } from '@wordpress/i18n';
11
- import { Button, ExternalLink, __experimentalTruncate as Truncate, Tooltip } from '@wordpress/components';
10
+ import { __, sprintf } from '@wordpress/i18n';
11
+ import { Button, ExternalLink, __experimentalTruncate as Truncate } from '@wordpress/components';
12
12
  import { useCopyToClipboard } from '@wordpress/compose';
13
13
  import { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';
14
- import { Icon, globe, info, linkOff, edit, copy } from '@wordpress/icons';
14
+ import { Icon, globe, info, linkOff, edit, copySmall } from '@wordpress/icons';
15
15
  import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
16
16
  import { useDispatch } from '@wordpress/data';
17
17
  import { store as noticesStore } from '@wordpress/notices';
@@ -26,8 +26,7 @@ export default function LinkPreview({
26
26
  onEditClick,
27
27
  hasRichPreviews = false,
28
28
  hasUnlinkControl = false,
29
- onRemove,
30
- additionalControls
29
+ onRemove
31
30
  }) {
32
31
  // Avoid fetching if rich previews are not desired.
33
32
  const showRichPreviews = hasRichPreviews ? value?.url : null;
@@ -63,7 +62,7 @@ export default function LinkPreview({
63
62
  createNotice
64
63
  } = useDispatch(noticesStore);
65
64
  const ref = useCopyToClipboard(value.url, () => {
66
- createNotice('info', __('Copied URL to clipboard.'), {
65
+ createNotice('info', __('Link copied to clipboard.'), {
67
66
  isDismissible: true,
68
67
  type: 'snackbar'
69
68
  });
@@ -88,14 +87,12 @@ export default function LinkPreview({
88
87
  })
89
88
  }, icon), createElement("span", {
90
89
  className: "block-editor-link-control__search-item-details"
91
- }, !isEmptyURL ? createElement(Fragment, null, createElement(Tooltip, {
92
- text: value.url
93
- }, createElement(ExternalLink, {
90
+ }, !isEmptyURL ? createElement(Fragment, null, createElement(ExternalLink, {
94
91
  className: "block-editor-link-control__search-item-title",
95
92
  href: value.url
96
93
  }, createElement(Truncate, {
97
94
  numberOfLines: 1
98
- }, displayTitle))), value?.url && displayTitle !== displayURL && createElement("span", {
95
+ }, displayTitle)), value?.url && displayTitle !== displayURL && createElement("span", {
99
96
  className: "block-editor-link-control__search-item-info"
100
97
  }, createElement(Truncate, {
101
98
  numberOfLines: 1
@@ -103,25 +100,26 @@ export default function LinkPreview({
103
100
  className: "block-editor-link-control__search-item-error-notice"
104
101
  }, __('Link is empty')))), createElement(Button, {
105
102
  icon: edit,
106
- label: __('Edit'),
107
- className: "block-editor-link-control__search-item-action",
103
+ label: __('Edit link'),
108
104
  onClick: onEditClick,
109
105
  size: "compact"
110
106
  }), hasUnlinkControl && createElement(Button, {
111
107
  icon: linkOff,
112
- label: __('Unlink'),
113
- className: "block-editor-link-control__search-item-action block-editor-link-control__unlink",
108
+ label: __('Remove link'),
114
109
  onClick: onRemove,
115
110
  size: "compact"
116
111
  }), createElement(Button, {
117
- icon: copy,
118
- label: __('Copy URL'),
119
- className: "block-editor-link-control__search-item-action block-editor-link-control__copy",
112
+ icon: copySmall,
113
+ label: sprintf(
114
+ // Translators: %s is a placeholder for the link URL and an optional colon, (if a Link URL is present).
115
+ __('Copy link%s'),
116
+ // Ends up looking like "Copy link: https://example.com".
117
+ isEmptyURL ? '' : ': ' + value.url),
120
118
  ref: ref,
121
119
  disabled: isEmptyURL,
122
120
  size: "compact"
123
121
  }), createElement(ViewerSlot, {
124
122
  fillProps: value
125
- })), additionalControls && additionalControls());
123
+ })));
126
124
  }
127
125
  //# sourceMappingURL=link-preview.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","Button","ExternalLink","__experimentalTruncate","Truncate","Tooltip","useCopyToClipboard","filterURLForDisplay","safeDecodeURI","Icon","globe","info","linkOff","edit","copy","__unstableStripHTML","stripHTML","useDispatch","store","noticesStore","ViewerSlot","useRichUrlData","LinkPreview","value","onEditClick","hasRichPreviews","hasUnlinkControl","onRemove","additionalControls","showRichPreviews","url","richData","isFetching","hasRichData","Object","keys","length","displayURL","isEmptyURL","displayTitle","title","icon","createElement","src","alt","size","createNotice","ref","isDismissible","type","className","Fragment","text","href","numberOfLines","label","onClick","disabled","fillProps"],"sources":["@wordpress/block-editor/src/components/link-control/link-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n\tTooltip,\n} from '@wordpress/components';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';\nimport { Icon, globe, info, linkOff, edit, copy } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { ViewerSlot } from './viewer-slot';\n\nimport useRichUrlData from './use-rich-url-data';\n\nexport default function LinkPreview( {\n\tvalue,\n\tonEditClick,\n\thasRichPreviews = false,\n\thasUnlinkControl = false,\n\tonRemove,\n\tadditionalControls,\n} ) {\n\t// Avoid fetching if rich previews are not desired.\n\tconst showRichPreviews = hasRichPreviews ? value?.url : null;\n\n\tconst { richData, isFetching } = useRichUrlData( showRichPreviews );\n\n\t// Rich data may be an empty object so test for that.\n\tconst hasRichData = richData && Object.keys( richData ).length;\n\n\tconst displayURL =\n\t\t( value && filterURLForDisplay( safeDecodeURI( value.url ), 24 ) ) ||\n\t\t'';\n\n\t// url can be undefined if the href attribute is unset\n\tconst isEmptyURL = ! value?.url?.length;\n\n\tconst displayTitle =\n\t\t! isEmptyURL &&\n\t\tstripHTML( richData?.title || value?.title || displayURL );\n\n\tlet icon;\n\n\tif ( richData?.icon ) {\n\t\ticon = <img src={ richData?.icon } alt=\"\" />;\n\t} else if ( isEmptyURL ) {\n\t\ticon = <Icon icon={ info } size={ 32 } />;\n\t} else {\n\t\ticon = <Icon icon={ globe } />;\n\t}\n\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( value.url, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\taria-label={ __( 'Currently selected' ) }\n\t\t\tclassName={ classnames( 'block-editor-link-control__search-item', {\n\t\t\t\t'is-current': true,\n\t\t\t\t'is-rich': hasRichData,\n\t\t\t\t'is-fetching': !! isFetching,\n\t\t\t\t'is-preview': true,\n\t\t\t\t'is-error': isEmptyURL,\n\t\t\t\t'is-url-title': displayTitle === displayURL,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div className=\"block-editor-link-control__search-item-top\">\n\t\t\t\t<span className=\"block-editor-link-control__search-item-header\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-link-control__search-item-icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-image': richData?.icon,\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\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"block-editor-link-control__search-item-details\">\n\t\t\t\t\t\t{ ! isEmptyURL ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Tooltip text={ value.url }>\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-title\"\n\t\t\t\t\t\t\t\t\t\thref={ value.url }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ displayTitle }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t{ value?.url && displayTitle !== displayURL && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-info\">\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ displayURL }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-error-notice\">\n\t\t\t\t\t\t\t\t{ __( 'Link is empty' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\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\tclassName=\"block-editor-link-control__search-item-action\"\n\t\t\t\t\tonClick={ onEditClick }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t{ hasUnlinkControl && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\tlabel={ __( 'Unlink' ) }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-action block-editor-link-control__unlink\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Button\n\t\t\t\t\ticon={ copy }\n\t\t\t\t\tlabel={ __( 'Copy URL' ) }\n\t\t\t\t\tclassName=\"block-editor-link-control__search-item-action block-editor-link-control__copy\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tdisabled={ isEmptyURL }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<ViewerSlot fillProps={ value } />\n\t\t\t</div>\n\t\t\t{ additionalControls && additionalControls() }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__","sprintf","Button","ExternalLink","__experimentalTruncate","Truncate","useCopyToClipboard","filterURLForDisplay","safeDecodeURI","Icon","globe","info","linkOff","edit","copySmall","__unstableStripHTML","stripHTML","useDispatch","store","noticesStore","ViewerSlot","useRichUrlData","LinkPreview","value","onEditClick","hasRichPreviews","hasUnlinkControl","onRemove","showRichPreviews","url","richData","isFetching","hasRichData","Object","keys","length","displayURL","isEmptyURL","displayTitle","title","icon","createElement","src","alt","size","createNotice","ref","isDismissible","type","className","Fragment","href","numberOfLines","label","onClick","disabled","fillProps"],"sources":["@wordpress/block-editor/src/components/link-control/link-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';\nimport { Icon, globe, info, linkOff, edit, copySmall } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { ViewerSlot } from './viewer-slot';\n\nimport useRichUrlData from './use-rich-url-data';\n\nexport default function LinkPreview( {\n\tvalue,\n\tonEditClick,\n\thasRichPreviews = false,\n\thasUnlinkControl = false,\n\tonRemove,\n} ) {\n\t// Avoid fetching if rich previews are not desired.\n\tconst showRichPreviews = hasRichPreviews ? value?.url : null;\n\n\tconst { richData, isFetching } = useRichUrlData( showRichPreviews );\n\n\t// Rich data may be an empty object so test for that.\n\tconst hasRichData = richData && Object.keys( richData ).length;\n\n\tconst displayURL =\n\t\t( value && filterURLForDisplay( safeDecodeURI( value.url ), 24 ) ) ||\n\t\t'';\n\n\t// url can be undefined if the href attribute is unset\n\tconst isEmptyURL = ! value?.url?.length;\n\n\tconst displayTitle =\n\t\t! isEmptyURL &&\n\t\tstripHTML( richData?.title || value?.title || displayURL );\n\n\tlet icon;\n\n\tif ( richData?.icon ) {\n\t\ticon = <img src={ richData?.icon } alt=\"\" />;\n\t} else if ( isEmptyURL ) {\n\t\ticon = <Icon icon={ info } size={ 32 } />;\n\t} else {\n\t\ticon = <Icon icon={ globe } />;\n\t}\n\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( value.url, () => {\n\t\tcreateNotice( 'info', __( 'Link copied to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\taria-label={ __( 'Currently selected' ) }\n\t\t\tclassName={ classnames( 'block-editor-link-control__search-item', {\n\t\t\t\t'is-current': true,\n\t\t\t\t'is-rich': hasRichData,\n\t\t\t\t'is-fetching': !! isFetching,\n\t\t\t\t'is-preview': true,\n\t\t\t\t'is-error': isEmptyURL,\n\t\t\t\t'is-url-title': displayTitle === displayURL,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div className=\"block-editor-link-control__search-item-top\">\n\t\t\t\t<span className=\"block-editor-link-control__search-item-header\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-link-control__search-item-icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-image': richData?.icon,\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\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"block-editor-link-control__search-item-details\">\n\t\t\t\t\t\t{ ! isEmptyURL ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-title\"\n\t\t\t\t\t\t\t\t\thref={ value.url }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t{ displayTitle }\n\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t{ value?.url && displayTitle !== displayURL && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-info\">\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ displayURL }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-error-notice\">\n\t\t\t\t\t\t\t\t{ __( 'Link is empty' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ edit }\n\t\t\t\t\tlabel={ __( 'Edit link' ) }\n\t\t\t\t\tonClick={ onEditClick }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t{ hasUnlinkControl && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\tlabel={ __( 'Remove link' ) }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Button\n\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t// Translators: %s is a placeholder for the link URL and an optional colon, (if a Link URL is present).\n\t\t\t\t\t\t__( 'Copy link%s' ), // Ends up looking like \"Copy link: https://example.com\".\n\t\t\t\t\t\tisEmptyURL ? '' : ': ' + value.url\n\t\t\t\t\t) }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tdisabled={ isEmptyURL }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<ViewerSlot fillProps={ value } />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -22,7 +22,6 @@ export default function useCreatePage(handleCreatePage) {
22
22
  if (error && error.isCanceled) {
23
23
  return; // bail if canceled to avoid setting state
24
24
  }
25
-
26
25
  setErrorMessage(error.message || __('An unknown error occurred during creation. Please try again.'));
27
26
  throw error;
28
27
  } finally {