@wordpress/block-editor 8.1.2-next.f435e9e01b.0 → 8.2.1-next.a55ed9455a.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +6 -26
  3. package/build/autocompleters/link.js +78 -0
  4. package/build/autocompleters/link.js.map +1 -0
  5. package/build/components/autocomplete/index.js +3 -1
  6. package/build/components/autocomplete/index.js.map +1 -1
  7. package/build/components/block-actions/index.js +1 -1
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-breadcrumb/index.js +4 -2
  10. package/build/components/block-breadcrumb/index.js.map +1 -1
  11. package/build/components/block-compare/index.js +2 -2
  12. package/build/components/block-compare/index.js.map +1 -1
  13. package/build/components/block-controls/index.js +1 -1
  14. package/build/components/block-controls/index.js.map +1 -1
  15. package/build/components/block-draggable/index.js +1 -1
  16. package/build/components/block-draggable/index.js.map +1 -1
  17. package/build/components/block-edit/edit.js +1 -1
  18. package/build/components/block-edit/edit.js.map +1 -1
  19. package/build/components/block-list/block-html.js +1 -1
  20. package/build/components/block-list/block-html.js.map +1 -1
  21. package/build/components/block-list/block-invalid-warning.js +1 -1
  22. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  23. package/build/components/block-list/block-list-item.native.js +4 -4
  24. package/build/components/block-list/block-list-item.native.js.map +1 -1
  25. package/build/components/block-list/block-selection-button.native.js +4 -3
  26. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  27. package/build/components/block-list/block.js +17 -3
  28. package/build/components/block-list/block.js.map +1 -1
  29. package/build/components/block-list/block.native.js +6 -6
  30. package/build/components/block-list/block.native.js.map +1 -1
  31. package/build/components/block-list/index.native.js +5 -5
  32. package/build/components/block-list/index.native.js.map +1 -1
  33. package/build/components/block-list/use-block-props/use-block-class-names.js +1 -1
  34. package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  35. package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -0
  36. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  37. package/build/components/block-list/use-block-props/use-multi-selection.js +25 -27
  38. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  39. package/build/components/block-media-update-progress/index.native.js +4 -4
  40. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  41. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  42. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  43. package/build/components/block-mobile-toolbar/index.native.js +1 -1
  44. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  45. package/build/components/block-mover/mover-description.js +4 -4
  46. package/build/components/block-mover/mover-description.js.map +1 -1
  47. package/build/components/block-mover/mover-description.native.js +5 -5
  48. package/build/components/block-mover/mover-description.native.js.map +1 -1
  49. package/build/components/block-settings/container.native.js +1 -5
  50. package/build/components/block-settings/container.native.js.map +1 -1
  51. package/build/components/block-settings-menu/block-settings-dropdown.js +7 -12
  52. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  53. package/build/components/block-styles/preview.native.js +1 -1
  54. package/build/components/block-styles/preview.native.js.map +1 -1
  55. package/build/components/block-switcher/index.js +2 -1
  56. package/build/components/block-switcher/index.js.map +1 -1
  57. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  58. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  59. package/build/components/block-title/index.js +7 -62
  60. package/build/components/block-title/index.js.map +1 -1
  61. package/build/components/block-title/use-block-display-title.js +94 -0
  62. package/build/components/block-title/use-block-display-title.js.map +1 -0
  63. package/build/components/block-toolbar/utils.js +9 -1
  64. package/build/components/block-toolbar/utils.js.map +1 -1
  65. package/build/components/block-tools/block-popover.js +1 -1
  66. package/build/components/block-tools/block-popover.js.map +1 -1
  67. package/build/components/block-tools/block-selection-button.js +2 -1
  68. package/build/components/block-tools/block-selection-button.js.map +1 -1
  69. package/build/components/block-types-list/index.native.js +1 -1
  70. package/build/components/block-types-list/index.native.js.map +1 -1
  71. package/build/components/border-radius-control/index.js +2 -2
  72. package/build/components/border-radius-control/index.js.map +1 -1
  73. package/build/components/border-radius-control/utils.js +10 -6
  74. package/build/components/border-radius-control/utils.js.map +1 -1
  75. package/build/components/contrast-checker/index.js +3 -3
  76. package/build/components/contrast-checker/index.js.map +1 -1
  77. package/build/components/convert-to-group-buttons/index.js +1 -1
  78. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  79. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  80. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  81. package/build/components/copy-handler/index.js +3 -3
  82. package/build/components/copy-handler/index.js.map +1 -1
  83. package/build/components/font-sizes/with-font-sizes.js +3 -3
  84. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  85. package/build/components/index.js +9 -0
  86. package/build/components/index.js.map +1 -1
  87. package/build/components/index.native.js +38 -1
  88. package/build/components/index.native.js.map +1 -1
  89. package/build/components/inserter/block-patterns-tab.js +4 -4
  90. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  91. package/build/components/inserter/block-types-tab.js +1 -1
  92. package/build/components/inserter/block-types-tab.js.map +1 -1
  93. package/build/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  94. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  95. package/build/components/inserter/index.js +3 -3
  96. package/build/components/inserter/index.js.map +1 -1
  97. package/build/components/inserter/index.native.js +7 -7
  98. package/build/components/inserter/index.native.js.map +1 -1
  99. package/build/components/inserter/menu.js.map +1 -1
  100. package/build/components/inserter/menu.native.js +3 -3
  101. package/build/components/inserter/menu.native.js.map +1 -1
  102. package/build/components/inserter/quick-inserter.js +20 -8
  103. package/build/components/inserter/quick-inserter.js.map +1 -1
  104. package/build/components/inserter/search-items.js +1 -1
  105. package/build/components/inserter/search-items.js.map +1 -1
  106. package/build/components/inserter/search-results.js +28 -11
  107. package/build/components/inserter/search-results.js.map +1 -1
  108. package/build/components/keyboard-shortcuts/index.js +1 -1
  109. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  110. package/build/components/letter-spacing-control/index.js +3 -3
  111. package/build/components/letter-spacing-control/index.js.map +1 -1
  112. package/build/components/line-height-control/index.js +63 -45
  113. package/build/components/line-height-control/index.js.map +1 -1
  114. package/build/components/line-height-control/index.native.js +3 -1
  115. package/build/components/line-height-control/index.native.js.map +1 -1
  116. package/build/components/link-control/index.js +2 -2
  117. package/build/components/link-control/index.js.map +1 -1
  118. package/build/components/link-control/search-input.js +1 -1
  119. package/build/components/link-control/search-input.js.map +1 -1
  120. package/build/components/link-control/search-results.js +2 -2
  121. package/build/components/link-control/search-results.js.map +1 -1
  122. package/build/components/link-control/use-rich-url-data.js +1 -1
  123. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  124. package/build/components/link-control/use-search-handler.js +2 -2
  125. package/build/components/link-control/use-search-handler.js.map +1 -1
  126. package/build/components/list-view/block-contents.js +8 -4
  127. package/build/components/list-view/block-contents.js.map +1 -1
  128. package/build/components/list-view/block-select-button.js +2 -2
  129. package/build/components/list-view/block-select-button.js.map +1 -1
  130. package/build/components/list-view/block.js +20 -9
  131. package/build/components/list-view/block.js.map +1 -1
  132. package/build/components/list-view/branch.js +2 -1
  133. package/build/components/list-view/branch.js.map +1 -1
  134. package/build/components/list-view/index.js +49 -41
  135. package/build/components/list-view/index.js.map +1 -1
  136. package/build/components/list-view/use-block-selection.js +139 -0
  137. package/build/components/list-view/use-block-selection.js.map +1 -0
  138. package/build/components/list-view/use-list-view-expand-selected-item.js +60 -0
  139. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
  140. package/build/components/list-view/utils.js +29 -1
  141. package/build/components/list-view/utils.js.map +1 -1
  142. package/build/components/media-placeholder/index.native.js +7 -5
  143. package/build/components/media-placeholder/index.native.js.map +1 -1
  144. package/build/components/media-replace-flow/index.js +20 -24
  145. package/build/components/media-replace-flow/index.js.map +1 -1
  146. package/build/components/media-upload/index.native.js +4 -3
  147. package/build/components/media-upload/index.native.js.map +1 -1
  148. package/build/components/media-upload-progress/index.native.js +1 -1
  149. package/build/components/media-upload-progress/index.native.js.map +1 -1
  150. package/build/components/navigable-toolbar/index.js +3 -3
  151. package/build/components/navigable-toolbar/index.js.map +1 -1
  152. package/build/components/plain-text/index.native.js +3 -3
  153. package/build/components/plain-text/index.native.js.map +1 -1
  154. package/build/components/rich-text/format-toolbar-container.js +2 -2
  155. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  156. package/build/components/rich-text/format-toolbar-container.native.js +1 -1
  157. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  158. package/build/components/rich-text/index.js +7 -12
  159. package/build/components/rich-text/index.js.map +1 -1
  160. package/build/components/rich-text/index.native.js +3 -3
  161. package/build/components/rich-text/index.native.js.map +1 -1
  162. package/build/components/rich-text/use-paste-handler.js +7 -12
  163. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  164. package/build/components/url-input/index.js +11 -11
  165. package/build/components/url-input/index.js.map +1 -1
  166. package/build/components/use-moving-animation/index.js +1 -1
  167. package/build/components/use-moving-animation/index.js.map +1 -1
  168. package/build/components/use-on-block-drop/index.js +2 -2
  169. package/build/components/use-on-block-drop/index.js.map +1 -1
  170. package/build/components/writing-flow/index.js +1 -0
  171. package/build/components/writing-flow/index.js.map +1 -1
  172. package/build/components/writing-flow/use-multi-selection.js +22 -24
  173. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  174. package/build/components/writing-flow/use-select-all.js +3 -2
  175. package/build/components/writing-flow/use-select-all.js.map +1 -1
  176. package/build/components/writing-flow/use-tab-nav.js +4 -3
  177. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  178. package/build/hooks/align.js +1 -1
  179. package/build/hooks/align.js.map +1 -1
  180. package/build/hooks/anchor.js +1 -1
  181. package/build/hooks/anchor.js.map +1 -1
  182. package/build/hooks/border.js +2 -14
  183. package/build/hooks/border.js.map +1 -1
  184. package/build/hooks/color.js +2 -2
  185. package/build/hooks/color.js.map +1 -1
  186. package/build/hooks/custom-class-name.js +40 -0
  187. package/build/hooks/custom-class-name.js.map +1 -1
  188. package/build/hooks/generated-class-name.js +3 -3
  189. package/build/hooks/generated-class-name.js.map +1 -1
  190. package/build/hooks/line-height.js +2 -0
  191. package/build/hooks/line-height.js.map +1 -1
  192. package/build/hooks/lock.js +1 -1
  193. package/build/hooks/lock.js.map +1 -1
  194. package/build/hooks/style.js +32 -13
  195. package/build/hooks/style.js.map +1 -1
  196. package/build/layouts/flow.js +7 -5
  197. package/build/layouts/flow.js.map +1 -1
  198. package/build/store/actions.js +55 -48
  199. package/build/store/actions.js.map +1 -1
  200. package/build/store/defaults.js +2 -1
  201. package/build/store/defaults.js.map +1 -1
  202. package/build/store/index.js +1 -2
  203. package/build/store/index.js.map +1 -1
  204. package/build/store/reducer.js +13 -13
  205. package/build/store/reducer.js.map +1 -1
  206. package/build/store/selectors.js +6 -6
  207. package/build/store/selectors.js.map +1 -1
  208. package/build/utils/index.js +0 -14
  209. package/build/utils/index.js.map +1 -1
  210. package/build/utils/parse-css-unit-to-px.js +3 -3
  211. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  212. package/build/utils/pasting.js +91 -0
  213. package/build/utils/pasting.js.map +1 -0
  214. package/build/utils/transform-styles/ast/parse.js +5 -5
  215. package/build/utils/transform-styles/ast/parse.js.map +1 -1
  216. package/build/utils/transform-styles/transforms/url-rewrite.js +2 -2
  217. package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  218. package/build-module/autocompleters/link.js +64 -0
  219. package/build-module/autocompleters/link.js.map +1 -0
  220. package/build-module/components/autocomplete/index.js +2 -1
  221. package/build-module/components/autocomplete/index.js.map +1 -1
  222. package/build-module/components/block-actions/index.js +1 -1
  223. package/build-module/components/block-actions/index.js.map +1 -1
  224. package/build-module/components/block-breadcrumb/index.js +4 -2
  225. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  226. package/build-module/components/block-compare/index.js +2 -2
  227. package/build-module/components/block-compare/index.js.map +1 -1
  228. package/build-module/components/block-controls/index.js +1 -1
  229. package/build-module/components/block-controls/index.js.map +1 -1
  230. package/build-module/components/block-draggable/index.js +1 -1
  231. package/build-module/components/block-draggable/index.js.map +1 -1
  232. package/build-module/components/block-edit/edit.js +1 -1
  233. package/build-module/components/block-edit/edit.js.map +1 -1
  234. package/build-module/components/block-list/block-html.js +1 -1
  235. package/build-module/components/block-list/block-html.js.map +1 -1
  236. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  237. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  238. package/build-module/components/block-list/block-list-item.native.js +4 -4
  239. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  240. package/build-module/components/block-list/block-selection-button.native.js +4 -3
  241. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  242. package/build-module/components/block-list/block.js +18 -4
  243. package/build-module/components/block-list/block.js.map +1 -1
  244. package/build-module/components/block-list/block.native.js +7 -7
  245. package/build-module/components/block-list/block.native.js.map +1 -1
  246. package/build-module/components/block-list/index.native.js +5 -5
  247. package/build-module/components/block-list/index.native.js.map +1 -1
  248. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -1
  249. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  250. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +2 -0
  251. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  252. package/build-module/components/block-list/use-block-props/use-multi-selection.js +23 -28
  253. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  254. package/build-module/components/block-media-update-progress/index.native.js +4 -4
  255. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  256. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  257. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  258. package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
  259. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  260. package/build-module/components/block-mover/mover-description.js +4 -4
  261. package/build-module/components/block-mover/mover-description.js.map +1 -1
  262. package/build-module/components/block-mover/mover-description.native.js +5 -5
  263. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  264. package/build-module/components/block-settings/container.native.js +2 -6
  265. package/build-module/components/block-settings/container.native.js.map +1 -1
  266. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -13
  267. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  268. package/build-module/components/block-styles/preview.native.js +1 -1
  269. package/build-module/components/block-styles/preview.native.js.map +1 -1
  270. package/build-module/components/block-switcher/index.js +2 -1
  271. package/build-module/components/block-switcher/index.js.map +1 -1
  272. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  273. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  274. package/build-module/components/block-title/index.js +7 -58
  275. package/build-module/components/block-title/index.js.map +1 -1
  276. package/build-module/components/block-title/use-block-display-title.js +80 -0
  277. package/build-module/components/block-title/use-block-display-title.js.map +1 -0
  278. package/build-module/components/block-toolbar/utils.js +9 -1
  279. package/build-module/components/block-toolbar/utils.js.map +1 -1
  280. package/build-module/components/block-tools/block-popover.js +1 -1
  281. package/build-module/components/block-tools/block-popover.js.map +1 -1
  282. package/build-module/components/block-tools/block-selection-button.js +2 -1
  283. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  284. package/build-module/components/block-types-list/index.native.js +1 -1
  285. package/build-module/components/block-types-list/index.native.js.map +1 -1
  286. package/build-module/components/border-radius-control/index.js +3 -3
  287. package/build-module/components/border-radius-control/index.js.map +1 -1
  288. package/build-module/components/border-radius-control/utils.js +11 -7
  289. package/build-module/components/border-radius-control/utils.js.map +1 -1
  290. package/build-module/components/contrast-checker/index.js +3 -3
  291. package/build-module/components/contrast-checker/index.js.map +1 -1
  292. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  293. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  294. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  295. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  296. package/build-module/components/copy-handler/index.js +2 -2
  297. package/build-module/components/copy-handler/index.js.map +1 -1
  298. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  299. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  300. package/build-module/components/index.js +1 -0
  301. package/build-module/components/index.js.map +1 -1
  302. package/build-module/components/index.native.js +5 -4
  303. package/build-module/components/index.native.js.map +1 -1
  304. package/build-module/components/inserter/block-patterns-tab.js +4 -4
  305. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  306. package/build-module/components/inserter/block-types-tab.js +1 -1
  307. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  308. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  309. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  310. package/build-module/components/inserter/index.js +3 -3
  311. package/build-module/components/inserter/index.js.map +1 -1
  312. package/build-module/components/inserter/index.native.js +7 -7
  313. package/build-module/components/inserter/index.native.js.map +1 -1
  314. package/build-module/components/inserter/menu.js.map +1 -1
  315. package/build-module/components/inserter/menu.native.js +3 -3
  316. package/build-module/components/inserter/menu.native.js.map +1 -1
  317. package/build-module/components/inserter/quick-inserter.js +20 -8
  318. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  319. package/build-module/components/inserter/search-items.js +1 -1
  320. package/build-module/components/inserter/search-items.js.map +1 -1
  321. package/build-module/components/inserter/search-results.js +28 -11
  322. package/build-module/components/inserter/search-results.js.map +1 -1
  323. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  324. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  325. package/build-module/components/letter-spacing-control/index.js +3 -3
  326. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  327. package/build-module/components/line-height-control/index.js +61 -45
  328. package/build-module/components/line-height-control/index.js.map +1 -1
  329. package/build-module/components/line-height-control/index.native.js +3 -1
  330. package/build-module/components/line-height-control/index.native.js.map +1 -1
  331. package/build-module/components/link-control/index.js +2 -2
  332. package/build-module/components/link-control/index.js.map +1 -1
  333. package/build-module/components/link-control/search-input.js +1 -1
  334. package/build-module/components/link-control/search-input.js.map +1 -1
  335. package/build-module/components/link-control/search-results.js +2 -2
  336. package/build-module/components/link-control/search-results.js.map +1 -1
  337. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  338. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  339. package/build-module/components/link-control/use-search-handler.js +2 -2
  340. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  341. package/build-module/components/list-view/block-contents.js +8 -4
  342. package/build-module/components/list-view/block-contents.js.map +1 -1
  343. package/build-module/components/list-view/block-select-button.js +2 -2
  344. package/build-module/components/list-view/block-select-button.js.map +1 -1
  345. package/build-module/components/list-view/block.js +20 -9
  346. package/build-module/components/list-view/block.js.map +1 -1
  347. package/build-module/components/list-view/branch.js +2 -1
  348. package/build-module/components/list-view/branch.js.map +1 -1
  349. package/build-module/components/list-view/index.js +46 -42
  350. package/build-module/components/list-view/index.js.map +1 -1
  351. package/build-module/components/list-view/use-block-selection.js +123 -0
  352. package/build-module/components/list-view/use-block-selection.js.map +1 -0
  353. package/build-module/components/list-view/use-list-view-expand-selected-item.js +50 -0
  354. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
  355. package/build-module/components/list-view/utils.js +25 -0
  356. package/build-module/components/list-view/utils.js.map +1 -1
  357. package/build-module/components/media-placeholder/index.native.js +7 -5
  358. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  359. package/build-module/components/media-replace-flow/index.js +22 -27
  360. package/build-module/components/media-replace-flow/index.js.map +1 -1
  361. package/build-module/components/media-upload/index.native.js +4 -3
  362. package/build-module/components/media-upload/index.native.js.map +1 -1
  363. package/build-module/components/media-upload-progress/index.native.js +1 -1
  364. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  365. package/build-module/components/navigable-toolbar/index.js +3 -3
  366. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  367. package/build-module/components/plain-text/index.native.js +3 -3
  368. package/build-module/components/plain-text/index.native.js.map +1 -1
  369. package/build-module/components/rich-text/format-toolbar-container.js +2 -2
  370. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  371. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  372. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  373. package/build-module/components/rich-text/index.js +7 -12
  374. package/build-module/components/rich-text/index.js.map +1 -1
  375. package/build-module/components/rich-text/index.native.js +3 -3
  376. package/build-module/components/rich-text/index.native.js.map +1 -1
  377. package/build-module/components/rich-text/use-paste-handler.js +6 -12
  378. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  379. package/build-module/components/url-input/index.js +11 -11
  380. package/build-module/components/url-input/index.js.map +1 -1
  381. package/build-module/components/use-moving-animation/index.js +1 -1
  382. package/build-module/components/use-moving-animation/index.js.map +1 -1
  383. package/build-module/components/use-on-block-drop/index.js +2 -2
  384. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  385. package/build-module/components/writing-flow/index.js +1 -0
  386. package/build-module/components/writing-flow/index.js.map +1 -1
  387. package/build-module/components/writing-flow/use-multi-selection.js +21 -21
  388. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  389. package/build-module/components/writing-flow/use-select-all.js +3 -2
  390. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  391. package/build-module/components/writing-flow/use-tab-nav.js +4 -3
  392. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  393. package/build-module/hooks/align.js +1 -1
  394. package/build-module/hooks/align.js.map +1 -1
  395. package/build-module/hooks/anchor.js +1 -1
  396. package/build-module/hooks/anchor.js.map +1 -1
  397. package/build-module/hooks/border.js +2 -14
  398. package/build-module/hooks/border.js.map +1 -1
  399. package/build-module/hooks/color.js +2 -2
  400. package/build-module/hooks/color.js.map +1 -1
  401. package/build-module/hooks/custom-class-name.js +38 -0
  402. package/build-module/hooks/custom-class-name.js.map +1 -1
  403. package/build-module/hooks/generated-class-name.js +3 -3
  404. package/build-module/hooks/generated-class-name.js.map +1 -1
  405. package/build-module/hooks/line-height.js +2 -0
  406. package/build-module/hooks/line-height.js.map +1 -1
  407. package/build-module/hooks/lock.js +1 -1
  408. package/build-module/hooks/lock.js.map +1 -1
  409. package/build-module/hooks/style.js +31 -13
  410. package/build-module/hooks/style.js.map +1 -1
  411. package/build-module/layouts/flow.js +7 -5
  412. package/build-module/layouts/flow.js.map +1 -1
  413. package/build-module/store/actions.js +52 -45
  414. package/build-module/store/actions.js.map +1 -1
  415. package/build-module/store/defaults.js +2 -1
  416. package/build-module/store/defaults.js.map +1 -1
  417. package/build-module/store/index.js +1 -2
  418. package/build-module/store/index.js.map +1 -1
  419. package/build-module/store/reducer.js +13 -13
  420. package/build-module/store/reducer.js.map +1 -1
  421. package/build-module/store/selectors.js +6 -6
  422. package/build-module/store/selectors.js.map +1 -1
  423. package/build-module/utils/index.js +0 -1
  424. package/build-module/utils/index.js.map +1 -1
  425. package/build-module/utils/parse-css-unit-to-px.js +3 -3
  426. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  427. package/build-module/utils/pasting.js +80 -0
  428. package/build-module/utils/pasting.js.map +1 -0
  429. package/build-module/utils/transform-styles/ast/parse.js +5 -5
  430. package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
  431. package/build-module/utils/transform-styles/transforms/url-rewrite.js +2 -2
  432. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  433. package/build-style/style-rtl.css +10 -12
  434. package/build-style/style.css +10 -12
  435. package/package.json +27 -26
  436. package/src/autocompleters/link.js +62 -0
  437. package/src/autocompleters/style.scss +8 -0
  438. package/src/components/alignment-control/test/index.js +2 -2
  439. package/src/components/autocomplete/index.js +2 -0
  440. package/src/components/block-actions/index.js +1 -1
  441. package/src/components/block-alignment-control/test/index.js +1 -1
  442. package/src/components/block-breadcrumb/index.js +5 -2
  443. package/src/components/block-compare/index.js +2 -2
  444. package/src/components/block-controls/index.js +1 -1
  445. package/src/components/block-draggable/index.js +1 -1
  446. package/src/components/block-draggable/stories/index.js +1 -1
  447. package/src/components/block-edit/edit.js +1 -1
  448. package/src/components/block-list/block-html.js +1 -1
  449. package/src/components/block-list/block-invalid-warning.js +1 -1
  450. package/src/components/block-list/block-list-item.native.js +4 -4
  451. package/src/components/block-list/block-selection-button.native.js +3 -3
  452. package/src/components/block-list/block.js +28 -4
  453. package/src/components/block-list/block.native.js +7 -6
  454. package/src/components/block-list/index.native.js +5 -5
  455. package/src/components/block-list/style.scss +3 -1
  456. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -1
  457. package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -0
  458. package/src/components/block-list/use-block-props/use-multi-selection.js +22 -30
  459. package/src/components/block-media-update-progress/index.native.js +4 -4
  460. package/src/components/block-media-update-progress/test/index.native.js +2 -2
  461. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  462. package/src/components/block-mobile-toolbar/index.native.js +2 -2
  463. package/src/components/block-mover/mover-description.js +4 -4
  464. package/src/components/block-mover/mover-description.native.js +5 -5
  465. package/src/components/block-settings/container.native.js +5 -6
  466. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -8
  467. package/src/components/block-styles/preview.native.js +1 -1
  468. package/src/components/block-switcher/index.js +4 -1
  469. package/src/components/block-switcher/use-transformed-patterns.js +0 -1
  470. package/src/components/block-title/README.md +17 -1
  471. package/src/components/block-title/index.js +7 -62
  472. package/src/components/block-title/test/index.js +21 -3
  473. package/src/components/block-title/use-block-display-title.js +83 -0
  474. package/src/components/block-toolbar/utils.js +12 -2
  475. package/src/components/block-tools/block-popover.js +1 -1
  476. package/src/components/block-tools/block-selection-button.js +4 -1
  477. package/src/components/block-types-list/index.native.js +1 -1
  478. package/src/components/border-radius-control/index.js +5 -3
  479. package/src/components/border-radius-control/test/utils.js +10 -10
  480. package/src/components/border-radius-control/utils.js +10 -8
  481. package/src/components/contrast-checker/index.js +3 -3
  482. package/src/components/convert-to-group-buttons/index.js +1 -1
  483. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -6
  484. package/src/components/copy-handler/index.js +2 -2
  485. package/src/components/font-sizes/with-font-sizes.js +3 -3
  486. package/src/components/image-size-control/test/index.js +1 -1
  487. package/src/components/index.js +1 -0
  488. package/src/components/index.native.js +11 -4
  489. package/src/components/inserter/block-patterns-tab.js +13 -17
  490. package/src/components/inserter/block-types-tab.js +1 -1
  491. package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  492. package/src/components/inserter/index.js +3 -3
  493. package/src/components/inserter/index.native.js +7 -7
  494. package/src/components/inserter/menu.js +1 -1
  495. package/src/components/inserter/menu.native.js +3 -3
  496. package/src/components/inserter/quick-inserter.js +32 -10
  497. package/src/components/inserter/search-items.js +1 -1
  498. package/src/components/inserter/search-results.js +55 -43
  499. package/src/components/inserter/test/fixtures/index.native.js +1 -1
  500. package/src/components/inserter/test/reusable-blocks-tab.js +2 -2
  501. package/src/components/justify-content-control/README.md +1 -1
  502. package/src/components/keyboard-shortcuts/index.js +1 -1
  503. package/src/components/letter-spacing-control/index.js +1 -1
  504. package/src/components/line-height-control/README.md +13 -2
  505. package/src/components/line-height-control/index.js +66 -43
  506. package/src/components/line-height-control/index.native.js +2 -0
  507. package/src/components/line-height-control/stories/index.js +33 -0
  508. package/src/components/line-height-control/test/index.js +61 -0
  509. package/src/components/link-control/index.js +2 -2
  510. package/src/components/link-control/search-input.js +1 -1
  511. package/src/components/link-control/search-results.js +2 -2
  512. package/src/components/link-control/test/index.js +142 -144
  513. package/src/components/link-control/use-rich-url-data.js +1 -1
  514. package/src/components/link-control/use-search-handler.js +2 -2
  515. package/src/components/list-view/README.md +2 -2
  516. package/src/components/list-view/block-contents.js +10 -3
  517. package/src/components/list-view/block-select-button.js +1 -2
  518. package/src/components/list-view/block.js +30 -10
  519. package/src/components/list-view/branch.js +1 -0
  520. package/src/components/list-view/index.js +56 -30
  521. package/src/components/list-view/test/utils.js +50 -0
  522. package/src/components/list-view/use-block-selection.js +163 -0
  523. package/src/components/list-view/use-list-view-expand-selected-item.js +58 -0
  524. package/src/components/list-view/utils.js +31 -0
  525. package/src/components/media-placeholder/index.native.js +11 -9
  526. package/src/components/media-replace-flow/README.md +7 -0
  527. package/src/components/media-replace-flow/index.js +20 -26
  528. package/src/components/media-replace-flow/test/index.js +100 -0
  529. package/src/components/media-upload/index.native.js +3 -2
  530. package/src/components/media-upload-progress/index.native.js +1 -1
  531. package/src/components/navigable-toolbar/index.js +3 -3
  532. package/src/components/plain-text/index.native.js +3 -3
  533. package/src/components/responsive-block-control/test/index.js +6 -6
  534. package/src/components/rich-text/format-toolbar-container.js +2 -2
  535. package/src/components/rich-text/format-toolbar-container.native.js +1 -1
  536. package/src/components/rich-text/index.js +7 -14
  537. package/src/components/rich-text/index.native.js +3 -3
  538. package/src/components/rich-text/use-paste-handler.js +7 -14
  539. package/src/components/url-input/index.js +11 -11
  540. package/src/components/use-block-drop-zone/test/index.js +1 -1
  541. package/src/components/use-moving-animation/index.js +1 -1
  542. package/src/components/use-on-block-drop/index.js +2 -2
  543. package/src/components/writing-flow/index.js +1 -0
  544. package/src/components/writing-flow/use-multi-selection.js +17 -20
  545. package/src/components/writing-flow/use-select-all.js +6 -2
  546. package/src/components/writing-flow/use-tab-nav.js +6 -3
  547. package/src/hooks/align.js +1 -1
  548. package/src/hooks/anchor.js +1 -1
  549. package/src/hooks/border.js +8 -19
  550. package/src/hooks/color.js +2 -2
  551. package/src/hooks/custom-class-name.js +45 -0
  552. package/src/hooks/generated-class-name.js +3 -3
  553. package/src/hooks/line-height.js +2 -0
  554. package/src/hooks/lock.js +1 -1
  555. package/src/hooks/style.js +31 -13
  556. package/src/hooks/test/align.js +1 -1
  557. package/src/hooks/typography.scss +0 -4
  558. package/src/layouts/flow.js +10 -5
  559. package/src/store/actions.js +24 -14
  560. package/src/store/defaults.js +2 -2
  561. package/src/store/index.js +0 -1
  562. package/src/store/reducer.js +13 -12
  563. package/src/store/selectors.js +6 -6
  564. package/src/store/test/actions.js +2 -2
  565. package/src/store/test/reducer.js +10 -1
  566. package/src/store/test/selectors.js +1 -1
  567. package/src/style.scss +0 -1
  568. package/src/utils/index.js +0 -1
  569. package/src/utils/parse-css-unit-to-px.js +3 -3
  570. package/src/utils/pasting.js +77 -0
  571. package/src/utils/test/parse-css-unit-to-px.js +5 -5
  572. package/src/utils/test/pasting.js +84 -0
  573. package/src/utils/transform-styles/ast/parse.js +5 -5
  574. package/src/utils/transform-styles/transforms/url-rewrite.js +2 -2
  575. package/build/utils/get-paste-event-data.js +0 -56
  576. package/build/utils/get-paste-event-data.js.map +0 -1
  577. package/build/utils/theme.js +0 -63
  578. package/build/utils/theme.js.map +0 -1
  579. package/build-module/utils/get-paste-event-data.js +0 -47
  580. package/build-module/utils/get-paste-event-data.js.map +0 -1
  581. package/build-module/utils/theme.js +0 -53
  582. package/build-module/utils/theme.js.map +0 -1
  583. package/src/components/line-height-control/style.scss +0 -8
  584. package/src/components/writing-flow/test/use-multi-selection.js +0 -36
  585. package/src/utils/get-paste-event-data.js +0 -42
  586. package/src/utils/theme.js +0 -48
@@ -24,20 +24,6 @@ Object.defineProperty(exports, "transformStyles", {
24
24
 
25
25
  var _transformStyles = _interopRequireDefault(require("./transform-styles"));
26
26
 
27
- var _theme = require("./theme");
28
-
29
- Object.keys(_theme).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
32
- if (key in exports && exports[key] === _theme[key]) return;
33
- Object.defineProperty(exports, key, {
34
- enumerable: true,
35
- get: function () {
36
- return _theme[key];
37
- }
38
- });
39
- });
40
-
41
27
  var _blockVariationTransforms = require("./block-variation-transforms");
42
28
 
43
29
  Object.keys(_blockVariationTransforms).forEach(function (key) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA","sourcesContent":["export { default as transformStyles } from './transform-styles';\nexport * from './theme';\nexport * from './block-variation-transforms';\nexport { default as getPxFromCssUnit } from './parse-css-unit-to-px';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA","sourcesContent":["export { default as transformStyles } from './transform-styles';\nexport * from './block-variation-transforms';\nexport { default as getPxFromCssUnit } from './parse-css-unit-to-px';\n"]}
@@ -104,7 +104,7 @@ function parseUnitFunction(cssUnit) {
104
104
  if (matches[0]) {
105
105
  const functionUnitValue = getFunctionUnitValue(matches[0]);
106
106
  cssUnit = cssUnit.replace(matches[0], functionUnitValue);
107
- } // if the unit hasn't been modified or we have a single value break free.
107
+ } // If the unit hasn't been modified or we have a single value break free.
108
108
 
109
109
 
110
110
  if (cssUnit === currentCssUnit || parseFloat(cssUnit)) {
@@ -149,7 +149,7 @@ function evalMathExpression(cssUnit) {
149
149
  const parsedUnit = parseUnit(getPxFromCssUnit(unit));
150
150
 
151
151
  if (!parseFloat(parsedUnit.value)) {
152
- errorFound = true; // end early since we are dealing with a null value.
152
+ errorFound = true; // End early since we are dealing with a null value.
153
153
 
154
154
  break;
155
155
  }
@@ -190,7 +190,7 @@ function convertParsedUnitToPx(parsedUnit, options) {
190
190
  ch: 8,
191
191
  // The advance measure (width) of the glyph "0" of the element's font. Approximate
192
192
  ex: 7.15625,
193
- // x-height of the element's font. Approximate
193
+ // X-height of the element's font. Approximate.
194
194
  lh: setOptions.lineHeight
195
195
  };
196
196
  const absoluteUnits = {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/utils/parse-css-unit-to-px.js"],"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","toFixed","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty"],"mappings":"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","sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\treturn Function( `'use strict'; return (${ expression })` )();\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer onces.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// if the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\tconst cssUnitsBits = cssUnit.split( /[+-/*/]/g ).filter( Boolean );\n\tfor ( const unit of cssUnitsBits ) {\n\t\t// Standardize the unit to px and extract the value.\n\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\terrorFound = true;\n\t\t\t// end early since we are dealing with a null value.\n\t\t\tbreak;\n\t\t}\n\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t}\n\n\treturn errorFound ? null : calculate( cssUnit ).toFixed( 0 ) + 'px';\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // x-height of the element's font. Approximate\n\t\tlh: setOptions.lineHeight,\n\t};\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit, options );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/parse-css-unit-to-px.js"],"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","toFixed","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty"],"mappings":"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","sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\treturn Function( `'use strict'; return (${ expression })` )();\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer onces.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\tconst cssUnitsBits = cssUnit.split( /[+-/*/]/g ).filter( Boolean );\n\tfor ( const unit of cssUnitsBits ) {\n\t\t// Standardize the unit to px and extract the value.\n\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\terrorFound = true;\n\t\t\t// End early since we are dealing with a null value.\n\t\t\tbreak;\n\t\t}\n\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t}\n\n\treturn errorFound ? null : calculate( cssUnit ).toFixed( 0 ) + 'px';\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit, options );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPasteEventData = getPasteEventData;
7
+ exports.shouldDismissPastedFiles = shouldDismissPastedFiles;
8
+
9
+ var _blob = require("@wordpress/blob");
10
+
11
+ var _dom = require("@wordpress/dom");
12
+
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+ function getPasteEventData(_ref) {
17
+ let {
18
+ clipboardData
19
+ } = _ref;
20
+ let plainText = '';
21
+ let html = ''; // IE11 only supports `Text` as an argument for `getData` and will
22
+ // otherwise throw an invalid argument error, so we try the standard
23
+ // arguments first, then fallback to `Text` if they fail.
24
+
25
+ try {
26
+ plainText = clipboardData.getData('text/plain');
27
+ html = clipboardData.getData('text/html');
28
+ } catch (error1) {
29
+ try {
30
+ html = clipboardData.getData('Text');
31
+ } catch (error2) {
32
+ // Some browsers like UC Browser paste plain text by default and
33
+ // don't support clipboardData at all, so allow default
34
+ // behaviour.
35
+ return;
36
+ }
37
+ }
38
+
39
+ const files = (0, _dom.getFilesFromDataTransfer)(clipboardData).filter(_ref2 => {
40
+ let {
41
+ type
42
+ } = _ref2;
43
+ return /^image\/(?:jpe?g|png|gif|webp)$/.test(type);
44
+ });
45
+
46
+ if (files.length && !shouldDismissPastedFiles(files, html, plainText)) {
47
+ html = files.map(file => `<img src="${(0, _blob.createBlobURL)(file)}">`).join('');
48
+ plainText = '';
49
+ }
50
+
51
+ return {
52
+ html,
53
+ plainText
54
+ };
55
+ }
56
+ /**
57
+ * Given a collection of DataTransfer files and HTML and plain text strings,
58
+ * determine whether the files are to be dismissed in favor of the HTML.
59
+ *
60
+ * Certain office-type programs, like Microsoft Word or Apple Numbers,
61
+ * will, upon copy, generate a screenshot of the content being copied and
62
+ * attach it to the clipboard alongside the actual rich text that the user
63
+ * sought to copy. In those cases, we should let Gutenberg handle the rich text
64
+ * content and not the screenshot, since this allows Gutenberg to insert
65
+ * meaningful blocks, like paragraphs, lists or even tables.
66
+ *
67
+ * @param {File[]} files File objects obtained from a paste event
68
+ * @param {string} html HTML content obtained from a paste event
69
+ * @return {boolean} True if the files should be dismissed
70
+ */
71
+
72
+
73
+ function shouldDismissPastedFiles(files, html
74
+ /*, plainText */
75
+ ) {
76
+ // The question is only relevant when there is actual HTML content and when
77
+ // there is exactly one image file.
78
+ if (html && (files === null || files === void 0 ? void 0 : files.length) === 1 && files[0].type.indexOf('image/') === 0) {
79
+ var _html$match;
80
+
81
+ // A single <img> tag found in the HTML source suggests that the
82
+ // content being pasted revolves around an image. Sometimes there are
83
+ // other elements found, like <figure>, but we assume that the user's
84
+ // intention is to paste the actual image file.
85
+ const IMAGE_TAG = /<\s*img\b/gi;
86
+ return ((_html$match = html.match(IMAGE_TAG)) === null || _html$match === void 0 ? void 0 : _html$match.length) !== 1;
87
+ }
88
+
89
+ return false;
90
+ }
91
+ //# sourceMappingURL=pasting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/pasting.js"],"names":["getPasteEventData","clipboardData","plainText","html","getData","error1","error2","files","filter","type","test","length","shouldDismissPastedFiles","map","file","join","indexOf","IMAGE_TAG","match"],"mappings":";;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIO,SAASA,iBAAT,OAAgD;AAAA,MAApB;AAAEC,IAAAA;AAAF,GAAoB;AACtD,MAAIC,SAAS,GAAG,EAAhB;AACA,MAAIC,IAAI,GAAG,EAAX,CAFsD,CAItD;AACA;AACA;;AACA,MAAI;AACHD,IAAAA,SAAS,GAAGD,aAAa,CAACG,OAAd,CAAuB,YAAvB,CAAZ;AACAD,IAAAA,IAAI,GAAGF,aAAa,CAACG,OAAd,CAAuB,WAAvB,CAAP;AACA,GAHD,CAGE,OAAQC,MAAR,EAAiB;AAClB,QAAI;AACHF,MAAAA,IAAI,GAAGF,aAAa,CAACG,OAAd,CAAuB,MAAvB,CAAP;AACA,KAFD,CAEE,OAAQE,MAAR,EAAiB;AAClB;AACA;AACA;AACA;AACA;AACD;;AAED,QAAMC,KAAK,GAAG,mCACbN,aADa,EAEZO,MAFY,CAEJ;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WAAgB,kCAAkCC,IAAlC,CAAwCD,IAAxC,CAAhB;AAAA,GAFI,CAAd;;AAIA,MACCF,KAAK,CAACI,MAAN,IACA,CAAEC,wBAAwB,CAAEL,KAAF,EAASJ,IAAT,EAAeD,SAAf,CAF3B,EAGE;AACDC,IAAAA,IAAI,GAAGI,KAAK,CACVM,GADK,CACEC,IAAF,IAAa,aAAa,yBAAeA,IAAf,CAAuB,IADjD,EAELC,IAFK,CAEC,EAFD,CAAP;AAGAb,IAAAA,SAAS,GAAG,EAAZ;AACA;;AAED,SAAO;AAAEC,IAAAA,IAAF;AAAQD,IAAAA;AAAR,GAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASU,wBAAT,CAAmCL,KAAnC,EAA0CJ;AAAK;AAA/C,EAAkE;AACxE;AACA;AACA,MACCA,IAAI,IACJ,CAAAI,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEI,MAAP,MAAkB,CADlB,IAEAJ,KAAK,CAAE,CAAF,CAAL,CAAWE,IAAX,CAAgBO,OAAhB,CAAyB,QAAzB,MAAwC,CAHzC,EAIE;AAAA;;AACD;AACA;AACA;AACA;AACA,UAAMC,SAAS,GAAG,aAAlB;AACA,WAAO,gBAAAd,IAAI,CAACe,KAAL,CAAYD,SAAZ,6DAAyBN,MAAzB,MAAoC,CAA3C;AACA;;AAED,SAAO,KAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\n\nexport function getPasteEventData( { clipboardData } ) {\n\tlet plainText = '';\n\tlet html = '';\n\n\t// IE11 only supports `Text` as an argument for `getData` and will\n\t// otherwise throw an invalid argument error, so we try the standard\n\t// arguments first, then fallback to `Text` if they fail.\n\ttry {\n\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\thtml = clipboardData.getData( 'text/html' );\n\t} catch ( error1 ) {\n\t\ttry {\n\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t} catch ( error2 ) {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst files = getFilesFromDataTransfer(\n\t\tclipboardData\n\t).filter( ( { type } ) => /^image\\/(?:jpe?g|png|gif|webp)$/.test( type ) );\n\n\tif (\n\t\tfiles.length &&\n\t\t! shouldDismissPastedFiles( files, html, plainText )\n\t) {\n\t\thtml = files\n\t\t\t.map( ( file ) => `<img src=\"${ createBlobURL( file ) }\">` )\n\t\t\t.join( '' );\n\t\tplainText = '';\n\t}\n\n\treturn { html, plainText };\n}\n\n/**\n * Given a collection of DataTransfer files and HTML and plain text strings,\n * determine whether the files are to be dismissed in favor of the HTML.\n *\n * Certain office-type programs, like Microsoft Word or Apple Numbers,\n * will, upon copy, generate a screenshot of the content being copied and\n * attach it to the clipboard alongside the actual rich text that the user\n * sought to copy. In those cases, we should let Gutenberg handle the rich text\n * content and not the screenshot, since this allows Gutenberg to insert\n * meaningful blocks, like paragraphs, lists or even tables.\n *\n * @param {File[]} files File objects obtained from a paste event\n * @param {string} html HTML content obtained from a paste event\n * @return {boolean} True if the files should be dismissed\n */\nexport function shouldDismissPastedFiles( files, html /*, plainText */ ) {\n\t// The question is only relevant when there is actual HTML content and when\n\t// there is exactly one image file.\n\tif (\n\t\thtml &&\n\t\tfiles?.length === 1 &&\n\t\tfiles[ 0 ].type.indexOf( 'image/' ) === 0\n\t) {\n\t\t// A single <img> tag found in the HTML source suggests that the\n\t\t// content being pasted revolves around an image. Sometimes there are\n\t\t// other elements found, like <figure>, but we assume that the user's\n\t\t// intention is to paste the actual image file.\n\t\tconst IMAGE_TAG = /<\\s*img\\b/gi;\n\t\treturn html.match( IMAGE_TAG )?.length !== 1;\n\t}\n\n\treturn false;\n}\n"]}
@@ -243,7 +243,7 @@ function _default(css, options) {
243
243
 
244
244
 
245
245
  function declaration() {
246
- const pos = position(); // prop
246
+ const pos = position(); // prop.
247
247
 
248
248
  let prop = match(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);
249
249
 
@@ -255,7 +255,7 @@ function _default(css, options) {
255
255
 
256
256
  if (!match(/^:\s*/)) {
257
257
  return error("property missing ':'");
258
- } // val
258
+ } // val.
259
259
 
260
260
 
261
261
  const val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/);
@@ -280,7 +280,7 @@ function _default(css, options) {
280
280
  return error("missing '{'");
281
281
  }
282
282
 
283
- comments(decls); // declarations
283
+ comments(decls); // declarations.
284
284
 
285
285
  let decl; // eslint-disable-next-line no-cond-assign
286
286
 
@@ -496,7 +496,7 @@ function _default(css, options) {
496
496
  return error("@page missing '{'");
497
497
  }
498
498
 
499
- let decls = comments(); // declarations
499
+ let decls = comments(); // declarations.
500
500
 
501
501
  let decl; // eslint-disable-next-line no-cond-assign
502
502
 
@@ -565,7 +565,7 @@ function _default(css, options) {
565
565
  return error("@font-face missing '{'");
566
566
  }
567
567
 
568
- let decls = comments(); // declarations
568
+ let decls = comments(); // declarations.
569
569
 
570
570
  let decl; // eslint-disable-next-line no-cond-assign
571
571
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/utils/transform-styles/ast/parse.js"],"names":["commentre","css","options","lineno","column","updatePosition","str","lines","match","length","i","lastIndexOf","position","start","line","node","Position","whitespace","end","source","prototype","content","errorsList","error","msg","err","Error","reason","filename","silent","push","stylesheet","rulesList","rules","type","parsingErrors","open","close","accumulator","comments","charAt","atrule","rule","re","m","exec","slice","c","comment","pos","selector","trim","replace","matched","split","map","s","declaration","prop","val","ret","property","value","declarations","decls","decl","keyframe","vals","values","atkeyframes","vendor","name","frame","frames","concat","keyframes","atsupports","supports","style","athost","atmedia","media","atcustommedia","atpage","sel","selectors","atdocument","doc","document","atfontface","atimport","_compileAtrule","atcharset","atnamespace","RegExp","addParent","obj","parent","isNode","childParent","k","Array","isArray","forEach","v","Object","defineProperty","configurable","writable","enumerable"],"mappings":"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","sourcesContent":["/* eslint-disable @wordpress/no-unused-vars-before-return */\n\n// Adapted from https://github.com/reworkcss/css\n// because we needed to remove source map support.\n\n// http://www.w3.org/TR/CSS21/grammar.htm\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nconst commentre = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nexport default function ( css, options ) {\n\toptions = options || {};\n\n\t/**\n\t * Positional.\n\t */\n\n\tlet lineno = 1;\n\tlet column = 1;\n\n\t/**\n\t * Update lineno and column based on `str`.\n\t */\n\n\tfunction updatePosition( str ) {\n\t\tconst lines = str.match( /\\n/g );\n\t\tif ( lines ) {\n\t\t\tlineno += lines.length;\n\t\t}\n\t\tconst i = str.lastIndexOf( '\\n' );\n\t\t// eslint-disable-next-line no-bitwise\n\t\tcolumn = ~i ? str.length - i : column + str.length;\n\t}\n\n\t/**\n\t * Mark position and patch `node.position`.\n\t */\n\n\tfunction position() {\n\t\tconst start = { line: lineno, column };\n\t\treturn function ( node ) {\n\t\t\tnode.position = new Position( start );\n\t\t\twhitespace();\n\t\t\treturn node;\n\t\t};\n\t}\n\n\t/**\n\t * Store position information for a node\n\t */\n\n\tfunction Position( start ) {\n\t\tthis.start = start;\n\t\tthis.end = { line: lineno, column };\n\t\tthis.source = options.source;\n\t}\n\n\t/**\n\t * Non-enumerable source string\n\t */\n\n\tPosition.prototype.content = css;\n\n\t/**\n\t * Error `msg`.\n\t */\n\n\tconst errorsList = [];\n\n\tfunction error( msg ) {\n\t\tconst err = new Error(\n\t\t\toptions.source + ':' + lineno + ':' + column + ': ' + msg\n\t\t);\n\t\terr.reason = msg;\n\t\terr.filename = options.source;\n\t\terr.line = lineno;\n\t\terr.column = column;\n\t\terr.source = css;\n\n\t\tif ( options.silent ) {\n\t\t\terrorsList.push( err );\n\t\t} else {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\t/**\n\t * Parse stylesheet.\n\t */\n\n\tfunction stylesheet() {\n\t\tconst rulesList = rules();\n\n\t\treturn {\n\t\t\ttype: 'stylesheet',\n\t\t\tstylesheet: {\n\t\t\t\tsource: options.source,\n\t\t\t\trules: rulesList,\n\t\t\t\tparsingErrors: errorsList,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Opening brace.\n\t */\n\n\tfunction open() {\n\t\treturn match( /^{\\s*/ );\n\t}\n\n\t/**\n\t * Closing brace.\n\t */\n\n\tfunction close() {\n\t\treturn match( /^}/ );\n\t}\n\n\t/**\n\t * Parse ruleset.\n\t */\n\n\tfunction rules() {\n\t\tlet node;\n\t\tconst accumulator = [];\n\t\twhitespace();\n\t\tcomments( accumulator );\n\t\twhile (\n\t\t\tcss.length &&\n\t\t\tcss.charAt( 0 ) !== '}' &&\n\t\t\t( node = atrule() || rule() )\n\t\t) {\n\t\t\tif ( node !== false ) {\n\t\t\t\taccumulator.push( node );\n\t\t\t\tcomments( accumulator );\n\t\t\t}\n\t\t}\n\t\treturn accumulator;\n\t}\n\n\t/**\n\t * Match `re` and return captures.\n\t */\n\n\tfunction match( re ) {\n\t\tconst m = re.exec( css );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst str = m[ 0 ];\n\t\tupdatePosition( str );\n\t\tcss = css.slice( str.length );\n\t\treturn m;\n\t}\n\n\t/**\n\t * Parse whitespace.\n\t */\n\n\tfunction whitespace() {\n\t\tmatch( /^\\s*/ );\n\t}\n\n\t/**\n\t * Parse comments;\n\t */\n\n\tfunction comments( accumulator ) {\n\t\tlet c;\n\t\taccumulator = accumulator || [];\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( c = comment() ) ) {\n\t\t\tif ( c !== false ) {\n\t\t\t\taccumulator.push( c );\n\t\t\t}\n\t\t}\n\t\treturn accumulator;\n\t}\n\n\t/**\n\t * Parse comment.\n\t */\n\n\tfunction comment() {\n\t\tconst pos = position();\n\t\tif ( '/' !== css.charAt( 0 ) || '*' !== css.charAt( 1 ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet i = 2;\n\t\twhile (\n\t\t\t'' !== css.charAt( i ) &&\n\t\t\t( '*' !== css.charAt( i ) || '/' !== css.charAt( i + 1 ) )\n\t\t) {\n\t\t\t++i;\n\t\t}\n\t\ti += 2;\n\n\t\tif ( '' === css.charAt( i - 1 ) ) {\n\t\t\treturn error( 'End of comment missing' );\n\t\t}\n\n\t\tconst str = css.slice( 2, i - 2 );\n\t\tcolumn += 2;\n\t\tupdatePosition( str );\n\t\tcss = css.slice( i );\n\t\tcolumn += 2;\n\n\t\treturn pos( {\n\t\t\ttype: 'comment',\n\t\t\tcomment: str,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse selector.\n\t */\n\n\tfunction selector() {\n\t\tconst m = match( /^([^{]+)/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\t// FIXME: Remove all comments from selectors http://ostermiller.org/findcomment.html\n\t\treturn trim( m[ 0 ] )\n\t\t\t.replace( /\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*\\/+/g, '' )\n\t\t\t.replace( /\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'/g, function ( matched ) {\n\t\t\t\treturn matched.replace( /,/g, '\\u200C' );\n\t\t\t} )\n\t\t\t.split( /\\s*(?![^(]*\\)),\\s*/ )\n\t\t\t.map( function ( s ) {\n\t\t\t\treturn s.replace( /\\u200C/g, ',' );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Parse declaration.\n\t */\n\n\tfunction declaration() {\n\t\tconst pos = position();\n\n\t\t// prop\n\t\tlet prop = match( /^(\\*?[-#\\/\\*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/ );\n\t\tif ( ! prop ) {\n\t\t\treturn;\n\t\t}\n\t\tprop = trim( prop[ 0 ] );\n\n\t\t// :\n\t\tif ( ! match( /^:\\s*/ ) ) {\n\t\t\treturn error( \"property missing ':'\" );\n\t\t}\n\n\t\t// val\n\t\tconst val = match(\n\t\t\t/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^\\)]*?\\)|[^};])+)/\n\t\t);\n\n\t\tconst ret = pos( {\n\t\t\ttype: 'declaration',\n\t\t\tproperty: prop.replace( commentre, '' ),\n\t\t\tvalue: val ? trim( val[ 0 ] ).replace( commentre, '' ) : '',\n\t\t} );\n\n\t\t// ;\n\t\tmatch( /^[;\\s]*/ );\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Parse declarations.\n\t */\n\n\tfunction declarations() {\n\t\tconst decls = [];\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"missing '{'\" );\n\t\t}\n\t\tcomments( decls );\n\n\t\t// declarations\n\t\tlet decl;\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( decl = declaration() ) ) {\n\t\t\tif ( decl !== false ) {\n\t\t\t\tdecls.push( decl );\n\t\t\t\tcomments( decls );\n\t\t\t}\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"missing '}'\" );\n\t\t}\n\t\treturn decls;\n\t}\n\n\t/**\n\t * Parse keyframe.\n\t */\n\n\tfunction keyframe() {\n\t\tlet m;\n\t\tconst vals = [];\n\t\tconst pos = position();\n\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( m = match( /^((\\d+\\.\\d+|\\.\\d+|\\d+)%?|[a-z]+)\\s*/ ) ) ) {\n\t\t\tvals.push( m[ 1 ] );\n\t\t\tmatch( /^,\\s*/ );\n\t\t}\n\n\t\tif ( ! vals.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'keyframe',\n\t\t\tvalues: vals,\n\t\t\tdeclarations: declarations(),\n\t\t} );\n\t}\n\n\t/**\n\t * Parse keyframes.\n\t */\n\n\tfunction atkeyframes() {\n\t\tconst pos = position();\n\t\tlet m = match( /^@([-\\w]+)?keyframes\\s*/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst vendor = m[ 1 ];\n\n\t\t// identifier\n\t\tm = match( /^([-\\w]+)\\s*/ );\n\t\tif ( ! m ) {\n\t\t\treturn error( '@keyframes missing name' );\n\t\t}\n\t\tconst name = m[ 1 ];\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@keyframes missing '{'\" );\n\t\t}\n\n\t\tlet frame;\n\t\tlet frames = comments();\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( frame = keyframe() ) ) {\n\t\t\tframes.push( frame );\n\t\t\tframes = frames.concat( comments() );\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@keyframes missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'keyframes',\n\t\t\tname,\n\t\t\tvendor,\n\t\t\tkeyframes: frames,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse supports.\n\t */\n\n\tfunction atsupports() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@supports *([^{]+)/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst supports = trim( m[ 1 ] );\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@supports missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@supports missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'supports',\n\t\t\tsupports,\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse host.\n\t */\n\n\tfunction athost() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@host\\s*/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@host missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@host missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'host',\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse media.\n\t */\n\n\tfunction atmedia() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@media *([^{]+)/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst media = trim( m[ 1 ] );\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@media missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@media missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'media',\n\t\t\tmedia,\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse custom-media.\n\t */\n\n\tfunction atcustommedia() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@custom-media\\s+(--[^\\s]+)\\s*([^{;]+);/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'custom-media',\n\t\t\tname: trim( m[ 1 ] ),\n\t\t\tmedia: trim( m[ 2 ] ),\n\t\t} );\n\t}\n\n\t/**\n\t * Parse paged media.\n\t */\n\n\tfunction atpage() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@page */ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sel = selector() || [];\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@page missing '{'\" );\n\t\t}\n\t\tlet decls = comments();\n\n\t\t// declarations\n\t\tlet decl;\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( decl = declaration() ) ) {\n\t\t\tdecls.push( decl );\n\t\t\tdecls = decls.concat( comments() );\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@page missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'page',\n\t\t\tselectors: sel,\n\t\t\tdeclarations: decls,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse document.\n\t */\n\n\tfunction atdocument() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@([-\\w]+)?document *([^{]+)/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst vendor = trim( m[ 1 ] );\n\t\tconst doc = trim( m[ 2 ] );\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@document missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@document missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'document',\n\t\t\tdocument: doc,\n\t\t\tvendor,\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse font-face.\n\t */\n\n\tfunction atfontface() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@font-face\\s*/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@font-face missing '{'\" );\n\t\t}\n\t\tlet decls = comments();\n\n\t\t// declarations\n\t\tlet decl;\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( decl = declaration() ) ) {\n\t\t\tdecls.push( decl );\n\t\t\tdecls = decls.concat( comments() );\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@font-face missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'font-face',\n\t\t\tdeclarations: decls,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse import\n\t */\n\n\tconst atimport = _compileAtrule( 'import' );\n\n\t/**\n\t * Parse charset\n\t */\n\n\tconst atcharset = _compileAtrule( 'charset' );\n\n\t/**\n\t * Parse namespace\n\t */\n\n\tconst atnamespace = _compileAtrule( 'namespace' );\n\n\t/**\n\t * Parse non-block at-rules\n\t */\n\n\tfunction _compileAtrule( name ) {\n\t\tconst re = new RegExp( '^@' + name + '\\\\s*([^;]+);' );\n\t\treturn function () {\n\t\t\tconst pos = position();\n\t\t\tconst m = match( re );\n\t\t\tif ( ! m ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst ret = { type: name };\n\t\t\tret[ name ] = m[ 1 ].trim();\n\t\t\treturn pos( ret );\n\t\t};\n\t}\n\n\t/**\n\t * Parse at rule.\n\t */\n\n\tfunction atrule() {\n\t\tif ( css[ 0 ] !== '@' ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tatkeyframes() ||\n\t\t\tatmedia() ||\n\t\t\tatcustommedia() ||\n\t\t\tatsupports() ||\n\t\t\tatimport() ||\n\t\t\tatcharset() ||\n\t\t\tatnamespace() ||\n\t\t\tatdocument() ||\n\t\t\tatpage() ||\n\t\t\tathost() ||\n\t\t\tatfontface()\n\t\t);\n\t}\n\n\t/**\n\t * Parse rule.\n\t */\n\n\tfunction rule() {\n\t\tconst pos = position();\n\t\tconst sel = selector();\n\n\t\tif ( ! sel ) {\n\t\t\treturn error( 'selector missing' );\n\t\t}\n\t\tcomments();\n\n\t\treturn pos( {\n\t\t\ttype: 'rule',\n\t\t\tselectors: sel,\n\t\t\tdeclarations: declarations(),\n\t\t} );\n\t}\n\n\treturn addParent( stylesheet() );\n}\n\n/**\n * Trim `str`.\n */\n\nfunction trim( str ) {\n\treturn str ? str.replace( /^\\s+|\\s+$/g, '' ) : '';\n}\n\n/**\n * Adds non-enumerable parent node reference to each node.\n */\n\nfunction addParent( obj, parent ) {\n\tconst isNode = obj && typeof obj.type === 'string';\n\tconst childParent = isNode ? obj : parent;\n\n\tfor ( const k in obj ) {\n\t\tconst value = obj[ k ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\tvalue.forEach( function ( v ) {\n\t\t\t\taddParent( v, childParent );\n\t\t\t} );\n\t\t} else if ( value && typeof value === 'object' ) {\n\t\t\taddParent( value, childParent );\n\t\t}\n\t}\n\n\tif ( isNode ) {\n\t\tObject.defineProperty( obj, 'parent', {\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: parent || null,\n\t\t} );\n\t}\n\n\treturn obj;\n}\n\n/* eslint-enable @wordpress/no-unused-vars-before-return */\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/transform-styles/ast/parse.js"],"names":["commentre","css","options","lineno","column","updatePosition","str","lines","match","length","i","lastIndexOf","position","start","line","node","Position","whitespace","end","source","prototype","content","errorsList","error","msg","err","Error","reason","filename","silent","push","stylesheet","rulesList","rules","type","parsingErrors","open","close","accumulator","comments","charAt","atrule","rule","re","m","exec","slice","c","comment","pos","selector","trim","replace","matched","split","map","s","declaration","prop","val","ret","property","value","declarations","decls","decl","keyframe","vals","values","atkeyframes","vendor","name","frame","frames","concat","keyframes","atsupports","supports","style","athost","atmedia","media","atcustommedia","atpage","sel","selectors","atdocument","doc","document","atfontface","atimport","_compileAtrule","atcharset","atnamespace","RegExp","addParent","obj","parent","isNode","childParent","k","Array","isArray","forEach","v","Object","defineProperty","configurable","writable","enumerable"],"mappings":"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","sourcesContent":["/* eslint-disable @wordpress/no-unused-vars-before-return */\n\n// Adapted from https://github.com/reworkcss/css\n// because we needed to remove source map support.\n\n// http://www.w3.org/TR/CSS21/grammar.htm\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nconst commentre = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nexport default function ( css, options ) {\n\toptions = options || {};\n\n\t/**\n\t * Positional.\n\t */\n\n\tlet lineno = 1;\n\tlet column = 1;\n\n\t/**\n\t * Update lineno and column based on `str`.\n\t */\n\n\tfunction updatePosition( str ) {\n\t\tconst lines = str.match( /\\n/g );\n\t\tif ( lines ) {\n\t\t\tlineno += lines.length;\n\t\t}\n\t\tconst i = str.lastIndexOf( '\\n' );\n\t\t// eslint-disable-next-line no-bitwise\n\t\tcolumn = ~i ? str.length - i : column + str.length;\n\t}\n\n\t/**\n\t * Mark position and patch `node.position`.\n\t */\n\n\tfunction position() {\n\t\tconst start = { line: lineno, column };\n\t\treturn function ( node ) {\n\t\t\tnode.position = new Position( start );\n\t\t\twhitespace();\n\t\t\treturn node;\n\t\t};\n\t}\n\n\t/**\n\t * Store position information for a node\n\t */\n\n\tfunction Position( start ) {\n\t\tthis.start = start;\n\t\tthis.end = { line: lineno, column };\n\t\tthis.source = options.source;\n\t}\n\n\t/**\n\t * Non-enumerable source string\n\t */\n\n\tPosition.prototype.content = css;\n\n\t/**\n\t * Error `msg`.\n\t */\n\n\tconst errorsList = [];\n\n\tfunction error( msg ) {\n\t\tconst err = new Error(\n\t\t\toptions.source + ':' + lineno + ':' + column + ': ' + msg\n\t\t);\n\t\terr.reason = msg;\n\t\terr.filename = options.source;\n\t\terr.line = lineno;\n\t\terr.column = column;\n\t\terr.source = css;\n\n\t\tif ( options.silent ) {\n\t\t\terrorsList.push( err );\n\t\t} else {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\t/**\n\t * Parse stylesheet.\n\t */\n\n\tfunction stylesheet() {\n\t\tconst rulesList = rules();\n\n\t\treturn {\n\t\t\ttype: 'stylesheet',\n\t\t\tstylesheet: {\n\t\t\t\tsource: options.source,\n\t\t\t\trules: rulesList,\n\t\t\t\tparsingErrors: errorsList,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Opening brace.\n\t */\n\n\tfunction open() {\n\t\treturn match( /^{\\s*/ );\n\t}\n\n\t/**\n\t * Closing brace.\n\t */\n\n\tfunction close() {\n\t\treturn match( /^}/ );\n\t}\n\n\t/**\n\t * Parse ruleset.\n\t */\n\n\tfunction rules() {\n\t\tlet node;\n\t\tconst accumulator = [];\n\t\twhitespace();\n\t\tcomments( accumulator );\n\t\twhile (\n\t\t\tcss.length &&\n\t\t\tcss.charAt( 0 ) !== '}' &&\n\t\t\t( node = atrule() || rule() )\n\t\t) {\n\t\t\tif ( node !== false ) {\n\t\t\t\taccumulator.push( node );\n\t\t\t\tcomments( accumulator );\n\t\t\t}\n\t\t}\n\t\treturn accumulator;\n\t}\n\n\t/**\n\t * Match `re` and return captures.\n\t */\n\n\tfunction match( re ) {\n\t\tconst m = re.exec( css );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst str = m[ 0 ];\n\t\tupdatePosition( str );\n\t\tcss = css.slice( str.length );\n\t\treturn m;\n\t}\n\n\t/**\n\t * Parse whitespace.\n\t */\n\n\tfunction whitespace() {\n\t\tmatch( /^\\s*/ );\n\t}\n\n\t/**\n\t * Parse comments;\n\t */\n\n\tfunction comments( accumulator ) {\n\t\tlet c;\n\t\taccumulator = accumulator || [];\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( c = comment() ) ) {\n\t\t\tif ( c !== false ) {\n\t\t\t\taccumulator.push( c );\n\t\t\t}\n\t\t}\n\t\treturn accumulator;\n\t}\n\n\t/**\n\t * Parse comment.\n\t */\n\n\tfunction comment() {\n\t\tconst pos = position();\n\t\tif ( '/' !== css.charAt( 0 ) || '*' !== css.charAt( 1 ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet i = 2;\n\t\twhile (\n\t\t\t'' !== css.charAt( i ) &&\n\t\t\t( '*' !== css.charAt( i ) || '/' !== css.charAt( i + 1 ) )\n\t\t) {\n\t\t\t++i;\n\t\t}\n\t\ti += 2;\n\n\t\tif ( '' === css.charAt( i - 1 ) ) {\n\t\t\treturn error( 'End of comment missing' );\n\t\t}\n\n\t\tconst str = css.slice( 2, i - 2 );\n\t\tcolumn += 2;\n\t\tupdatePosition( str );\n\t\tcss = css.slice( i );\n\t\tcolumn += 2;\n\n\t\treturn pos( {\n\t\t\ttype: 'comment',\n\t\t\tcomment: str,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse selector.\n\t */\n\n\tfunction selector() {\n\t\tconst m = match( /^([^{]+)/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\t// FIXME: Remove all comments from selectors http://ostermiller.org/findcomment.html\n\t\treturn trim( m[ 0 ] )\n\t\t\t.replace( /\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*\\/+/g, '' )\n\t\t\t.replace( /\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'/g, function ( matched ) {\n\t\t\t\treturn matched.replace( /,/g, '\\u200C' );\n\t\t\t} )\n\t\t\t.split( /\\s*(?![^(]*\\)),\\s*/ )\n\t\t\t.map( function ( s ) {\n\t\t\t\treturn s.replace( /\\u200C/g, ',' );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Parse declaration.\n\t */\n\n\tfunction declaration() {\n\t\tconst pos = position();\n\n\t\t// prop.\n\t\tlet prop = match( /^(\\*?[-#\\/\\*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/ );\n\t\tif ( ! prop ) {\n\t\t\treturn;\n\t\t}\n\t\tprop = trim( prop[ 0 ] );\n\n\t\t// :\n\t\tif ( ! match( /^:\\s*/ ) ) {\n\t\t\treturn error( \"property missing ':'\" );\n\t\t}\n\n\t\t// val.\n\t\tconst val = match(\n\t\t\t/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^\\)]*?\\)|[^};])+)/\n\t\t);\n\n\t\tconst ret = pos( {\n\t\t\ttype: 'declaration',\n\t\t\tproperty: prop.replace( commentre, '' ),\n\t\t\tvalue: val ? trim( val[ 0 ] ).replace( commentre, '' ) : '',\n\t\t} );\n\n\t\t// ;\n\t\tmatch( /^[;\\s]*/ );\n\n\t\treturn ret;\n\t}\n\n\t/**\n\t * Parse declarations.\n\t */\n\n\tfunction declarations() {\n\t\tconst decls = [];\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"missing '{'\" );\n\t\t}\n\t\tcomments( decls );\n\n\t\t// declarations.\n\t\tlet decl;\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( decl = declaration() ) ) {\n\t\t\tif ( decl !== false ) {\n\t\t\t\tdecls.push( decl );\n\t\t\t\tcomments( decls );\n\t\t\t}\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"missing '}'\" );\n\t\t}\n\t\treturn decls;\n\t}\n\n\t/**\n\t * Parse keyframe.\n\t */\n\n\tfunction keyframe() {\n\t\tlet m;\n\t\tconst vals = [];\n\t\tconst pos = position();\n\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( m = match( /^((\\d+\\.\\d+|\\.\\d+|\\d+)%?|[a-z]+)\\s*/ ) ) ) {\n\t\t\tvals.push( m[ 1 ] );\n\t\t\tmatch( /^,\\s*/ );\n\t\t}\n\n\t\tif ( ! vals.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'keyframe',\n\t\t\tvalues: vals,\n\t\t\tdeclarations: declarations(),\n\t\t} );\n\t}\n\n\t/**\n\t * Parse keyframes.\n\t */\n\n\tfunction atkeyframes() {\n\t\tconst pos = position();\n\t\tlet m = match( /^@([-\\w]+)?keyframes\\s*/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst vendor = m[ 1 ];\n\n\t\t// identifier\n\t\tm = match( /^([-\\w]+)\\s*/ );\n\t\tif ( ! m ) {\n\t\t\treturn error( '@keyframes missing name' );\n\t\t}\n\t\tconst name = m[ 1 ];\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@keyframes missing '{'\" );\n\t\t}\n\n\t\tlet frame;\n\t\tlet frames = comments();\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( frame = keyframe() ) ) {\n\t\t\tframes.push( frame );\n\t\t\tframes = frames.concat( comments() );\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@keyframes missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'keyframes',\n\t\t\tname,\n\t\t\tvendor,\n\t\t\tkeyframes: frames,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse supports.\n\t */\n\n\tfunction atsupports() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@supports *([^{]+)/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst supports = trim( m[ 1 ] );\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@supports missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@supports missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'supports',\n\t\t\tsupports,\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse host.\n\t */\n\n\tfunction athost() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@host\\s*/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@host missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@host missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'host',\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse media.\n\t */\n\n\tfunction atmedia() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@media *([^{]+)/ );\n\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\t\tconst media = trim( m[ 1 ] );\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@media missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@media missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'media',\n\t\t\tmedia,\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse custom-media.\n\t */\n\n\tfunction atcustommedia() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@custom-media\\s+(--[^\\s]+)\\s*([^{;]+);/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'custom-media',\n\t\t\tname: trim( m[ 1 ] ),\n\t\t\tmedia: trim( m[ 2 ] ),\n\t\t} );\n\t}\n\n\t/**\n\t * Parse paged media.\n\t */\n\n\tfunction atpage() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@page */ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sel = selector() || [];\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@page missing '{'\" );\n\t\t}\n\t\tlet decls = comments();\n\n\t\t// declarations.\n\t\tlet decl;\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( decl = declaration() ) ) {\n\t\t\tdecls.push( decl );\n\t\t\tdecls = decls.concat( comments() );\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@page missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'page',\n\t\t\tselectors: sel,\n\t\t\tdeclarations: decls,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse document.\n\t */\n\n\tfunction atdocument() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@([-\\w]+)?document *([^{]+)/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst vendor = trim( m[ 1 ] );\n\t\tconst doc = trim( m[ 2 ] );\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@document missing '{'\" );\n\t\t}\n\n\t\tconst style = comments().concat( rules() );\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@document missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'document',\n\t\t\tdocument: doc,\n\t\t\tvendor,\n\t\t\trules: style,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse font-face.\n\t */\n\n\tfunction atfontface() {\n\t\tconst pos = position();\n\t\tconst m = match( /^@font-face\\s*/ );\n\t\tif ( ! m ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! open() ) {\n\t\t\treturn error( \"@font-face missing '{'\" );\n\t\t}\n\t\tlet decls = comments();\n\n\t\t// declarations.\n\t\tlet decl;\n\t\t// eslint-disable-next-line no-cond-assign\n\t\twhile ( ( decl = declaration() ) ) {\n\t\t\tdecls.push( decl );\n\t\t\tdecls = decls.concat( comments() );\n\t\t}\n\n\t\tif ( ! close() ) {\n\t\t\treturn error( \"@font-face missing '}'\" );\n\t\t}\n\n\t\treturn pos( {\n\t\t\ttype: 'font-face',\n\t\t\tdeclarations: decls,\n\t\t} );\n\t}\n\n\t/**\n\t * Parse import\n\t */\n\n\tconst atimport = _compileAtrule( 'import' );\n\n\t/**\n\t * Parse charset\n\t */\n\n\tconst atcharset = _compileAtrule( 'charset' );\n\n\t/**\n\t * Parse namespace\n\t */\n\n\tconst atnamespace = _compileAtrule( 'namespace' );\n\n\t/**\n\t * Parse non-block at-rules\n\t */\n\n\tfunction _compileAtrule( name ) {\n\t\tconst re = new RegExp( '^@' + name + '\\\\s*([^;]+);' );\n\t\treturn function () {\n\t\t\tconst pos = position();\n\t\t\tconst m = match( re );\n\t\t\tif ( ! m ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst ret = { type: name };\n\t\t\tret[ name ] = m[ 1 ].trim();\n\t\t\treturn pos( ret );\n\t\t};\n\t}\n\n\t/**\n\t * Parse at rule.\n\t */\n\n\tfunction atrule() {\n\t\tif ( css[ 0 ] !== '@' ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tatkeyframes() ||\n\t\t\tatmedia() ||\n\t\t\tatcustommedia() ||\n\t\t\tatsupports() ||\n\t\t\tatimport() ||\n\t\t\tatcharset() ||\n\t\t\tatnamespace() ||\n\t\t\tatdocument() ||\n\t\t\tatpage() ||\n\t\t\tathost() ||\n\t\t\tatfontface()\n\t\t);\n\t}\n\n\t/**\n\t * Parse rule.\n\t */\n\n\tfunction rule() {\n\t\tconst pos = position();\n\t\tconst sel = selector();\n\n\t\tif ( ! sel ) {\n\t\t\treturn error( 'selector missing' );\n\t\t}\n\t\tcomments();\n\n\t\treturn pos( {\n\t\t\ttype: 'rule',\n\t\t\tselectors: sel,\n\t\t\tdeclarations: declarations(),\n\t\t} );\n\t}\n\n\treturn addParent( stylesheet() );\n}\n\n/**\n * Trim `str`.\n */\n\nfunction trim( str ) {\n\treturn str ? str.replace( /^\\s+|\\s+$/g, '' ) : '';\n}\n\n/**\n * Adds non-enumerable parent node reference to each node.\n */\n\nfunction addParent( obj, parent ) {\n\tconst isNode = obj && typeof obj.type === 'string';\n\tconst childParent = isNode ? obj : parent;\n\n\tfor ( const k in obj ) {\n\t\tconst value = obj[ k ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\tvalue.forEach( function ( v ) {\n\t\t\t\taddParent( v, childParent );\n\t\t\t} );\n\t\t} else if ( value && typeof value === 'object' ) {\n\t\t\taddParent( value, childParent );\n\t\t}\n\t}\n\n\tif ( isNode ) {\n\t\tObject.defineProperty( obj, 'parent', {\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: parent || null,\n\t\t} );\n\t}\n\n\treturn obj;\n}\n\n/* eslint-enable @wordpress/no-unused-vars-before-return */\n"]}
@@ -37,14 +37,14 @@ function isAbsolutePath(filePath) {
37
37
 
38
38
 
39
39
  function isValidURL(meta) {
40
- // ignore hashes or data uris
40
+ // Ignore hashes or data uris.
41
41
  if (meta.value.indexOf('data:') === 0 || meta.value.indexOf('#') === 0) {
42
42
  return false;
43
43
  }
44
44
 
45
45
  if (isAbsolutePath(meta.value)) {
46
46
  return false;
47
- } // do not handle the http/https urls if `includeRemote` is false
47
+ } // Do not handle the http/https urls if `includeRemote` is false.
48
48
 
49
49
 
50
50
  if (isRemotePath(meta.value)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/utils/transform-styles/transforms/url-rewrite.js"],"names":["isRemotePath","filePath","test","isAbsolutePath","isValidURL","meta","value","indexOf","getResourcePath","str","baseURL","URL","toString","processURL","newUrl","before","quote","after","getURLs","reg","match","URLs","exec","source","push","replaceURLs","raw","forEach","item","replace","rewrite","rootURL","node","type","updatedURLs","map"],"mappings":"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","sourcesContent":["/**\n * Return `true` if the given path is http/https.\n *\n * @param {string} filePath path\n *\n * @return {boolean} is remote path.\n */\nfunction isRemotePath( filePath ) {\n\treturn /^(?:https?:)?\\/\\//.test( filePath );\n}\n\n/**\n * Return `true` if the given filePath is an absolute url.\n *\n * @param {string} filePath path\n *\n * @return {boolean} is absolute path.\n */\nfunction isAbsolutePath( filePath ) {\n\treturn /^\\/(?!\\/)/.test( filePath );\n}\n\n/**\n * Whether or not the url should be inluded.\n *\n * @param {Object} meta url meta info\n *\n * @return {boolean} is valid.\n */\nfunction isValidURL( meta ) {\n\t// ignore hashes or data uris\n\tif (\n\t\tmeta.value.indexOf( 'data:' ) === 0 ||\n\t\tmeta.value.indexOf( '#' ) === 0\n\t) {\n\t\treturn false;\n\t}\n\n\tif ( isAbsolutePath( meta.value ) ) {\n\t\treturn false;\n\t}\n\n\t// do not handle the http/https urls if `includeRemote` is false\n\tif ( isRemotePath( meta.value ) ) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Get the absolute path of the url, relative to the basePath\n *\n * @param {string} str the url\n * @param {string} baseURL base URL\n *\n * @return {string} the full path to the file\n */\nfunction getResourcePath( str, baseURL ) {\n\treturn new URL( str, baseURL ).toString();\n}\n\n/**\n * Process the single `url()` pattern\n *\n * @param {string} baseURL the base URL for relative URLs.\n *\n * @return {Promise} the Promise.\n */\nfunction processURL( baseURL ) {\n\treturn ( meta ) => ( {\n\t\t...meta,\n\t\tnewUrl:\n\t\t\t'url(' +\n\t\t\tmeta.before +\n\t\t\tmeta.quote +\n\t\t\tgetResourcePath( meta.value, baseURL ) +\n\t\t\tmeta.quote +\n\t\t\tmeta.after +\n\t\t\t')',\n\t} );\n}\n\n/**\n * Get all `url()`s, and return the meta info\n *\n * @param {string} value decl.value.\n *\n * @return {Array} the urls.\n */\nfunction getURLs( value ) {\n\tconst reg = /url\\((\\s*)(['\"]?)(.+?)\\2(\\s*)\\)/g;\n\tlet match;\n\tconst URLs = [];\n\n\twhile ( ( match = reg.exec( value ) ) !== null ) {\n\t\tconst meta = {\n\t\t\tsource: match[ 0 ],\n\t\t\tbefore: match[ 1 ],\n\t\t\tquote: match[ 2 ],\n\t\t\tvalue: match[ 3 ],\n\t\t\tafter: match[ 4 ],\n\t\t};\n\t\tif ( isValidURL( meta ) ) {\n\t\t\tURLs.push( meta );\n\t\t}\n\t}\n\treturn URLs;\n}\n\n/**\n * Replace the raw value's `url()` segment to the new value\n *\n * @param {string} raw the raw value.\n * @param {Array} URLs the URLs to replace.\n *\n * @return {string} the new value.\n */\nfunction replaceURLs( raw, URLs ) {\n\tURLs.forEach( ( item ) => {\n\t\traw = raw.replace( item.source, item.newUrl );\n\t} );\n\n\treturn raw;\n}\n\nconst rewrite = ( rootURL ) => ( node ) => {\n\tif ( node.type === 'declaration' ) {\n\t\tconst updatedURLs = getURLs( node.value ).map( processURL( rootURL ) );\n\t\treturn {\n\t\t\t...node,\n\t\t\tvalue: replaceURLs( node.value, updatedURLs ),\n\t\t};\n\t}\n\n\treturn node;\n};\n\nexport default rewrite;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/transform-styles/transforms/url-rewrite.js"],"names":["isRemotePath","filePath","test","isAbsolutePath","isValidURL","meta","value","indexOf","getResourcePath","str","baseURL","URL","toString","processURL","newUrl","before","quote","after","getURLs","reg","match","URLs","exec","source","push","replaceURLs","raw","forEach","item","replace","rewrite","rootURL","node","type","updatedURLs","map"],"mappings":"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","sourcesContent":["/**\n * Return `true` if the given path is http/https.\n *\n * @param {string} filePath path\n *\n * @return {boolean} is remote path.\n */\nfunction isRemotePath( filePath ) {\n\treturn /^(?:https?:)?\\/\\//.test( filePath );\n}\n\n/**\n * Return `true` if the given filePath is an absolute url.\n *\n * @param {string} filePath path\n *\n * @return {boolean} is absolute path.\n */\nfunction isAbsolutePath( filePath ) {\n\treturn /^\\/(?!\\/)/.test( filePath );\n}\n\n/**\n * Whether or not the url should be inluded.\n *\n * @param {Object} meta url meta info\n *\n * @return {boolean} is valid.\n */\nfunction isValidURL( meta ) {\n\t// Ignore hashes or data uris.\n\tif (\n\t\tmeta.value.indexOf( 'data:' ) === 0 ||\n\t\tmeta.value.indexOf( '#' ) === 0\n\t) {\n\t\treturn false;\n\t}\n\n\tif ( isAbsolutePath( meta.value ) ) {\n\t\treturn false;\n\t}\n\n\t// Do not handle the http/https urls if `includeRemote` is false.\n\tif ( isRemotePath( meta.value ) ) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Get the absolute path of the url, relative to the basePath\n *\n * @param {string} str the url\n * @param {string} baseURL base URL\n *\n * @return {string} the full path to the file\n */\nfunction getResourcePath( str, baseURL ) {\n\treturn new URL( str, baseURL ).toString();\n}\n\n/**\n * Process the single `url()` pattern\n *\n * @param {string} baseURL the base URL for relative URLs.\n *\n * @return {Promise} the Promise.\n */\nfunction processURL( baseURL ) {\n\treturn ( meta ) => ( {\n\t\t...meta,\n\t\tnewUrl:\n\t\t\t'url(' +\n\t\t\tmeta.before +\n\t\t\tmeta.quote +\n\t\t\tgetResourcePath( meta.value, baseURL ) +\n\t\t\tmeta.quote +\n\t\t\tmeta.after +\n\t\t\t')',\n\t} );\n}\n\n/**\n * Get all `url()`s, and return the meta info\n *\n * @param {string} value decl.value.\n *\n * @return {Array} the urls.\n */\nfunction getURLs( value ) {\n\tconst reg = /url\\((\\s*)(['\"]?)(.+?)\\2(\\s*)\\)/g;\n\tlet match;\n\tconst URLs = [];\n\n\twhile ( ( match = reg.exec( value ) ) !== null ) {\n\t\tconst meta = {\n\t\t\tsource: match[ 0 ],\n\t\t\tbefore: match[ 1 ],\n\t\t\tquote: match[ 2 ],\n\t\t\tvalue: match[ 3 ],\n\t\t\tafter: match[ 4 ],\n\t\t};\n\t\tif ( isValidURL( meta ) ) {\n\t\t\tURLs.push( meta );\n\t\t}\n\t}\n\treturn URLs;\n}\n\n/**\n * Replace the raw value's `url()` segment to the new value\n *\n * @param {string} raw the raw value.\n * @param {Array} URLs the URLs to replace.\n *\n * @return {string} the new value.\n */\nfunction replaceURLs( raw, URLs ) {\n\tURLs.forEach( ( item ) => {\n\t\traw = raw.replace( item.source, item.newUrl );\n\t} );\n\n\treturn raw;\n}\n\nconst rewrite = ( rootURL ) => ( node ) => {\n\tif ( node.type === 'declaration' ) {\n\t\tconst updatedURLs = getURLs( node.value ).map( processURL( rootURL ) );\n\t\treturn {\n\t\t\t...node,\n\t\t\tvalue: replaceURLs( node.value, updatedURLs ),\n\t\t};\n\t}\n\n\treturn node;\n};\n\nexport default rewrite;\n"]}
@@ -0,0 +1,64 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import apiFetch from '@wordpress/api-fetch';
7
+ import { addQueryArgs } from '@wordpress/url';
8
+ import { Icon, page, post } from '@wordpress/icons';
9
+ const SHOWN_SUGGESTIONS = 10;
10
+ /** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */
11
+
12
+ /**
13
+ * Creates a suggestion list for links to posts or pages.
14
+ *
15
+ * @return {WPCompleter} A links completer.
16
+ */
17
+
18
+ function createLinkCompleter() {
19
+ return {
20
+ name: 'links',
21
+ className: 'block-editor-autocompleters__link',
22
+ triggerPrefix: '[[',
23
+ options: async letters => {
24
+ let options = await apiFetch({
25
+ path: addQueryArgs('/wp/v2/search', {
26
+ per_page: SHOWN_SUGGESTIONS,
27
+ search: letters,
28
+ type: 'post',
29
+ order_by: 'menu_order'
30
+ })
31
+ });
32
+ options = options.filter(option => option.title !== '');
33
+ return options;
34
+ },
35
+
36
+ getOptionKeywords(item) {
37
+ const expansionWords = item.title.split(/\s+/);
38
+ return [...expansionWords];
39
+ },
40
+
41
+ getOptionLabel(item) {
42
+ return createElement(Fragment, null, createElement(Icon, {
43
+ key: "icon",
44
+ icon: item.subtype === 'page' ? page : post
45
+ }), item.title);
46
+ },
47
+
48
+ getOptionCompletion(item) {
49
+ return createElement("a", {
50
+ href: item.url
51
+ }, item.title);
52
+ }
53
+
54
+ };
55
+ }
56
+ /**
57
+ * Creates a suggestion list for links to posts or pages..
58
+ *
59
+ * @return {WPCompleter} A link completer.
60
+ */
61
+
62
+
63
+ export default createLinkCompleter();
64
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/autocompleters/link.js"],"names":["apiFetch","addQueryArgs","Icon","page","post","SHOWN_SUGGESTIONS","createLinkCompleter","name","className","triggerPrefix","options","letters","path","per_page","search","type","order_by","filter","option","title","getOptionKeywords","item","expansionWords","split","getOptionLabel","subtype","getOptionCompletion","url"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,QAAP,MAAqB,sBAArB;AACA,SAASC,YAAT,QAA6B,gBAA7B;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,IAArB,QAAiC,kBAAjC;AAEA,MAAMC,iBAAiB,GAAG,EAA1B;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,GAA+B;AAC9B,SAAO;AACNC,IAAAA,IAAI,EAAE,OADA;AAENC,IAAAA,SAAS,EAAE,mCAFL;AAGNC,IAAAA,aAAa,EAAE,IAHT;AAINC,IAAAA,OAAO,EAAE,MAAQC,OAAR,IAAqB;AAC7B,UAAID,OAAO,GAAG,MAAMV,QAAQ,CAAE;AAC7BY,QAAAA,IAAI,EAAEX,YAAY,CAAE,eAAF,EAAmB;AACpCY,UAAAA,QAAQ,EAAER,iBAD0B;AAEpCS,UAAAA,MAAM,EAAEH,OAF4B;AAGpCI,UAAAA,IAAI,EAAE,MAH8B;AAIpCC,UAAAA,QAAQ,EAAE;AAJ0B,SAAnB;AADW,OAAF,CAA5B;AASAN,MAAAA,OAAO,GAAGA,OAAO,CAACO,MAAR,CAAkBC,MAAF,IAAcA,MAAM,CAACC,KAAP,KAAiB,EAA/C,CAAV;AAEA,aAAOT,OAAP;AACA,KAjBK;;AAkBNU,IAAAA,iBAAiB,CAAEC,IAAF,EAAS;AACzB,YAAMC,cAAc,GAAGD,IAAI,CAACF,KAAL,CAAWI,KAAX,CAAkB,KAAlB,CAAvB;AACA,aAAO,CAAE,GAAGD,cAAL,CAAP;AACA,KArBK;;AAsBNE,IAAAA,cAAc,CAAEH,IAAF,EAAS;AACtB,aACC,8BACC,cAAC,IAAD;AACC,QAAA,GAAG,EAAC,MADL;AAEC,QAAA,IAAI,EAAGA,IAAI,CAACI,OAAL,KAAiB,MAAjB,GAA0BtB,IAA1B,GAAiCC;AAFzC,QADD,EAKGiB,IAAI,CAACF,KALR,CADD;AASA,KAhCK;;AAiCNO,IAAAA,mBAAmB,CAAEL,IAAF,EAAS;AAC3B,aAAO;AAAG,QAAA,IAAI,EAAGA,IAAI,CAACM;AAAf,SAAuBN,IAAI,CAACF,KAA5B,CAAP;AACA;;AAnCK,GAAP;AAqCA;AAED;AACA;AACA;AACA;AACA;;;AACA,eAAeb,mBAAmB,EAAlC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Icon, page, post } from '@wordpress/icons';\n\nconst SHOWN_SUGGESTIONS = 10;\n\n/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */\n\n/**\n * Creates a suggestion list for links to posts or pages.\n *\n * @return {WPCompleter} A links completer.\n */\nfunction createLinkCompleter() {\n\treturn {\n\t\tname: 'links',\n\t\tclassName: 'block-editor-autocompleters__link',\n\t\ttriggerPrefix: '[[',\n\t\toptions: async ( letters ) => {\n\t\t\tlet options = await apiFetch( {\n\t\t\t\tpath: addQueryArgs( '/wp/v2/search', {\n\t\t\t\t\tper_page: SHOWN_SUGGESTIONS,\n\t\t\t\t\tsearch: letters,\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\torder_by: 'menu_order',\n\t\t\t\t} ),\n\t\t\t} );\n\n\t\t\toptions = options.filter( ( option ) => option.title !== '' );\n\n\t\t\treturn options;\n\t\t},\n\t\tgetOptionKeywords( item ) {\n\t\t\tconst expansionWords = item.title.split( /\\s+/ );\n\t\t\treturn [ ...expansionWords ];\n\t\t},\n\t\tgetOptionLabel( item ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\ticon={ item.subtype === 'page' ? page : post }\n\t\t\t\t\t/>\n\t\t\t\t\t{ item.title }\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t\tgetOptionCompletion( item ) {\n\t\t\treturn <a href={ item.url }>{ item.title }</a>;\n\t\t},\n\t};\n}\n\n/**\n * Creates a suggestion list for links to posts or pages..\n *\n * @return {WPCompleter} A link completer.\n */\nexport default createLinkCompleter();\n"]}
@@ -19,6 +19,7 @@ import { getDefaultBlockName, getBlockSupport } from '@wordpress/blocks';
19
19
 
20
20
  import { useBlockEditContext } from '../block-edit/context';
21
21
  import blockAutocompleter from '../../autocompleters/block';
22
+ import linkAutocompleter from '../../autocompleters/link';
22
23
  /**
23
24
  * Shared reference to an empty array for cases where it is important to avoid
24
25
  * returning a new array reference on every invocation.
@@ -39,7 +40,7 @@ function useCompleters(_ref) {
39
40
  let filteredCompleters = completers;
40
41
 
41
42
  if (name === getDefaultBlockName() || getBlockSupport(name, '__experimentalSlashInserter', false)) {
42
- filteredCompleters = filteredCompleters.concat([blockAutocompleter]);
43
+ filteredCompleters = filteredCompleters.concat([blockAutocompleter, linkAutocompleter]);
43
44
  }
44
45
 
45
46
  if (hasFilter('editor.Autocomplete.completers')) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/autocomplete/index.js"],"names":["clone","applyFilters","hasFilter","Autocomplete","__unstableUseAutocompleteProps","useAutocompleteProps","useMemo","getDefaultBlockName","getBlockSupport","useBlockEditContext","blockAutocompleter","EMPTY_ARRAY","useCompleters","completers","name","filteredCompleters","concat","map","useBlockEditorAutocompleteProps","props","BlockEditorAutocomplete"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,QAAtB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,kBAAxC;AACA,SACCC,YADD,EAECC,8BAA8B,IAAIC,oBAFnC,QAGO,uBAHP;AAIA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,mBAAT,EAA8BC,eAA9B,QAAqD,mBAArD;AAEA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,OAAOC,kBAAP,MAA+B,4BAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,aAAT,OAAuD;AAAA,MAA/B;AAAEC,IAAAA,UAAU,GAAGF;AAAf,GAA+B;AACtD,QAAM;AAAEG,IAAAA;AAAF,MAAWL,mBAAmB,EAApC;AACA,SAAOH,OAAO,CAAE,MAAM;AACrB,QAAIS,kBAAkB,GAAGF,UAAzB;;AAEA,QACCC,IAAI,KAAKP,mBAAmB,EAA5B,IACAC,eAAe,CAAEM,IAAF,EAAQ,6BAAR,EAAuC,KAAvC,CAFhB,EAGE;AACDC,MAAAA,kBAAkB,GAAGA,kBAAkB,CAACC,MAAnB,CAA2B,CAC/CN,kBAD+C,CAA3B,CAArB;AAGA;;AAED,QAAKR,SAAS,CAAE,gCAAF,CAAd,EAAqD;AACpD;AACA,UAAKa,kBAAkB,KAAKF,UAA5B,EAAyC;AACxCE,QAAAA,kBAAkB,GAAGA,kBAAkB,CAACE,GAAnB,CAAwBjB,KAAxB,CAArB;AACA;;AAEDe,MAAAA,kBAAkB,GAAGd,YAAY,CAChC,gCADgC,EAEhCc,kBAFgC,EAGhCD,IAHgC,CAAjC;AAKA;;AAED,WAAOC,kBAAP;AACA,GA1Ba,EA0BX,CAAEF,UAAF,EAAcC,IAAd,CA1BW,CAAd;AA2BA;;AAED,OAAO,SAASI,+BAAT,CAA0CC,KAA1C,EAAkD;AACxD,SAAOd,oBAAoB,CAAE,EAC5B,GAAGc,KADyB;AAE5BN,IAAAA,UAAU,EAAED,aAAa,CAAEO,KAAF;AAFG,GAAF,CAA3B;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uBAAT,CAAkCD,KAAlC,EAA0C;AACzC,SAAO,cAAC,YAAD,eAAmBA,KAAnB;AAA2B,IAAA,UAAU,EAAGP,aAAa,CAAEO,KAAF;AAArD,KAAP;AACA;AAED;AACA;AACA;;;AACA,eAAeC,uBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, hasFilter } from '@wordpress/hooks';\nimport {\n\tAutocomplete,\n\t__unstableUseAutocompleteProps as useAutocompleteProps,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { getDefaultBlockName, getBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit/context';\nimport blockAutocompleter from '../../autocompleters/block';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction useCompleters( { completers = EMPTY_ARRAY } ) {\n\tconst { name } = useBlockEditContext();\n\treturn useMemo( () => {\n\t\tlet filteredCompleters = completers;\n\n\t\tif (\n\t\t\tname === getDefaultBlockName() ||\n\t\t\tgetBlockSupport( name, '__experimentalSlashInserter', false )\n\t\t) {\n\t\t\tfilteredCompleters = filteredCompleters.concat( [\n\t\t\t\tblockAutocompleter,\n\t\t\t] );\n\t\t}\n\n\t\tif ( hasFilter( 'editor.Autocomplete.completers' ) ) {\n\t\t\t// Provide copies so filters may directly modify them.\n\t\t\tif ( filteredCompleters === completers ) {\n\t\t\t\tfilteredCompleters = filteredCompleters.map( clone );\n\t\t\t}\n\n\t\t\tfilteredCompleters = applyFilters(\n\t\t\t\t'editor.Autocomplete.completers',\n\t\t\t\tfilteredCompleters,\n\t\t\t\tname\n\t\t\t);\n\t\t}\n\n\t\treturn filteredCompleters;\n\t}, [ completers, name ] );\n}\n\nexport function useBlockEditorAutocompleteProps( props ) {\n\treturn useAutocompleteProps( {\n\t\t...props,\n\t\tcompleters: useCompleters( props ),\n\t} );\n}\n\n/**\n * Wrap the default Autocomplete component with one that supports a filter hook\n * for customizing its list of autocompleters.\n *\n * @type {import('react').FC}\n */\nfunction BlockEditorAutocomplete( props ) {\n\treturn <Autocomplete { ...props } completers={ useCompleters( props ) } />;\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/autocomplete/README.md\n */\nexport default BlockEditorAutocomplete;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/autocomplete/index.js"],"names":["clone","applyFilters","hasFilter","Autocomplete","__unstableUseAutocompleteProps","useAutocompleteProps","useMemo","getDefaultBlockName","getBlockSupport","useBlockEditContext","blockAutocompleter","linkAutocompleter","EMPTY_ARRAY","useCompleters","completers","name","filteredCompleters","concat","map","useBlockEditorAutocompleteProps","props","BlockEditorAutocomplete"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,QAAtB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,kBAAxC;AACA,SACCC,YADD,EAECC,8BAA8B,IAAIC,oBAFnC,QAGO,uBAHP;AAIA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,mBAAT,EAA8BC,eAA9B,QAAqD,mBAArD;AAEA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,OAAOC,kBAAP,MAA+B,4BAA/B;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,aAAT,OAAuD;AAAA,MAA/B;AAAEC,IAAAA,UAAU,GAAGF;AAAf,GAA+B;AACtD,QAAM;AAAEG,IAAAA;AAAF,MAAWN,mBAAmB,EAApC;AACA,SAAOH,OAAO,CAAE,MAAM;AACrB,QAAIU,kBAAkB,GAAGF,UAAzB;;AAEA,QACCC,IAAI,KAAKR,mBAAmB,EAA5B,IACAC,eAAe,CAAEO,IAAF,EAAQ,6BAAR,EAAuC,KAAvC,CAFhB,EAGE;AACDC,MAAAA,kBAAkB,GAAGA,kBAAkB,CAACC,MAAnB,CAA2B,CAC/CP,kBAD+C,EAE/CC,iBAF+C,CAA3B,CAArB;AAIA;;AAED,QAAKT,SAAS,CAAE,gCAAF,CAAd,EAAqD;AACpD;AACA,UAAKc,kBAAkB,KAAKF,UAA5B,EAAyC;AACxCE,QAAAA,kBAAkB,GAAGA,kBAAkB,CAACE,GAAnB,CAAwBlB,KAAxB,CAArB;AACA;;AAEDgB,MAAAA,kBAAkB,GAAGf,YAAY,CAChC,gCADgC,EAEhCe,kBAFgC,EAGhCD,IAHgC,CAAjC;AAKA;;AAED,WAAOC,kBAAP;AACA,GA3Ba,EA2BX,CAAEF,UAAF,EAAcC,IAAd,CA3BW,CAAd;AA4BA;;AAED,OAAO,SAASI,+BAAT,CAA0CC,KAA1C,EAAkD;AACxD,SAAOf,oBAAoB,CAAE,EAC5B,GAAGe,KADyB;AAE5BN,IAAAA,UAAU,EAAED,aAAa,CAAEO,KAAF;AAFG,GAAF,CAA3B;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uBAAT,CAAkCD,KAAlC,EAA0C;AACzC,SAAO,cAAC,YAAD,eAAmBA,KAAnB;AAA2B,IAAA,UAAU,EAAGP,aAAa,CAAEO,KAAF;AAArD,KAAP;AACA;AAED;AACA;AACA;;;AACA,eAAeC,uBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, hasFilter } from '@wordpress/hooks';\nimport {\n\tAutocomplete,\n\t__unstableUseAutocompleteProps as useAutocompleteProps,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { getDefaultBlockName, getBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit/context';\nimport blockAutocompleter from '../../autocompleters/block';\nimport linkAutocompleter from '../../autocompleters/link';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction useCompleters( { completers = EMPTY_ARRAY } ) {\n\tconst { name } = useBlockEditContext();\n\treturn useMemo( () => {\n\t\tlet filteredCompleters = completers;\n\n\t\tif (\n\t\t\tname === getDefaultBlockName() ||\n\t\t\tgetBlockSupport( name, '__experimentalSlashInserter', false )\n\t\t) {\n\t\t\tfilteredCompleters = filteredCompleters.concat( [\n\t\t\t\tblockAutocompleter,\n\t\t\t\tlinkAutocompleter,\n\t\t\t] );\n\t\t}\n\n\t\tif ( hasFilter( 'editor.Autocomplete.completers' ) ) {\n\t\t\t// Provide copies so filters may directly modify them.\n\t\t\tif ( filteredCompleters === completers ) {\n\t\t\t\tfilteredCompleters = filteredCompleters.map( clone );\n\t\t\t}\n\n\t\t\tfilteredCompleters = applyFilters(\n\t\t\t\t'editor.Autocomplete.completers',\n\t\t\t\tfilteredCompleters,\n\t\t\t\tname\n\t\t\t);\n\t\t}\n\n\t\treturn filteredCompleters;\n\t}, [ completers, name ] );\n}\n\nexport function useBlockEditorAutocompleteProps( props ) {\n\treturn useAutocompleteProps( {\n\t\t...props,\n\t\tcompleters: useCompleters( props ),\n\t} );\n}\n\n/**\n * Wrap the default Autocomplete component with one that supports a filter hook\n * for customizing its list of autocompleters.\n *\n * @type {import('react').FC}\n */\nfunction BlockEditorAutocomplete( props ) {\n\treturn <Autocomplete { ...props } completers={ useCompleters( props ) } />;\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/autocomplete/README.md\n */\nexport default BlockEditorAutocomplete;\n"]}
@@ -86,7 +86,7 @@ export default function BlockActions(_ref) {
86
86
  return;
87
87
  }
88
88
 
89
- const groupingBlockName = getGroupingBlockName(); // Activate the `transform` on `core/group` which does the conversion
89
+ const groupingBlockName = getGroupingBlockName(); // Activate the `transform` on `core/group` which does the conversion.
90
90
 
91
91
  const newBlocks = switchToBlockType(blocks, groupingBlockName);
92
92