@wordpress/block-editor 8.1.2 → 8.3.0-next.e230fbab09.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 (591) hide show
  1. package/CHANGELOG.md +10 -0
  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 +2 -2
  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/duotone.js +22 -4
  189. package/build/hooks/duotone.js.map +1 -1
  190. package/build/hooks/generated-class-name.js +3 -3
  191. package/build/hooks/generated-class-name.js.map +1 -1
  192. package/build/hooks/line-height.js +2 -0
  193. package/build/hooks/line-height.js.map +1 -1
  194. package/build/hooks/lock.js +1 -1
  195. package/build/hooks/lock.js.map +1 -1
  196. package/build/hooks/style.js +32 -13
  197. package/build/hooks/style.js.map +1 -1
  198. package/build/layouts/flow.js +7 -5
  199. package/build/layouts/flow.js.map +1 -1
  200. package/build/store/actions.js +55 -48
  201. package/build/store/actions.js.map +1 -1
  202. package/build/store/defaults.js +2 -1
  203. package/build/store/defaults.js.map +1 -1
  204. package/build/store/index.js +1 -2
  205. package/build/store/index.js.map +1 -1
  206. package/build/store/reducer.js +13 -13
  207. package/build/store/reducer.js.map +1 -1
  208. package/build/store/selectors.js +6 -6
  209. package/build/store/selectors.js.map +1 -1
  210. package/build/utils/index.js +0 -14
  211. package/build/utils/index.js.map +1 -1
  212. package/build/utils/parse-css-unit-to-px.js +3 -3
  213. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  214. package/build/utils/pasting.js +91 -0
  215. package/build/utils/pasting.js.map +1 -0
  216. package/build/utils/transform-styles/ast/parse.js +5 -5
  217. package/build/utils/transform-styles/ast/parse.js.map +1 -1
  218. package/build/utils/transform-styles/transforms/url-rewrite.js +2 -2
  219. package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  220. package/build-module/autocompleters/link.js +64 -0
  221. package/build-module/autocompleters/link.js.map +1 -0
  222. package/build-module/components/autocomplete/index.js +2 -1
  223. package/build-module/components/autocomplete/index.js.map +1 -1
  224. package/build-module/components/block-actions/index.js +1 -1
  225. package/build-module/components/block-actions/index.js.map +1 -1
  226. package/build-module/components/block-breadcrumb/index.js +4 -2
  227. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  228. package/build-module/components/block-compare/index.js +2 -2
  229. package/build-module/components/block-compare/index.js.map +1 -1
  230. package/build-module/components/block-controls/index.js +1 -1
  231. package/build-module/components/block-controls/index.js.map +1 -1
  232. package/build-module/components/block-draggable/index.js +1 -1
  233. package/build-module/components/block-draggable/index.js.map +1 -1
  234. package/build-module/components/block-edit/edit.js +1 -1
  235. package/build-module/components/block-edit/edit.js.map +1 -1
  236. package/build-module/components/block-list/block-html.js +1 -1
  237. package/build-module/components/block-list/block-html.js.map +1 -1
  238. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  239. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  240. package/build-module/components/block-list/block-list-item.native.js +4 -4
  241. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  242. package/build-module/components/block-list/block-selection-button.native.js +4 -3
  243. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  244. package/build-module/components/block-list/block.js +18 -4
  245. package/build-module/components/block-list/block.js.map +1 -1
  246. package/build-module/components/block-list/block.native.js +7 -7
  247. package/build-module/components/block-list/block.native.js.map +1 -1
  248. package/build-module/components/block-list/index.native.js +5 -5
  249. package/build-module/components/block-list/index.native.js.map +1 -1
  250. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -1
  251. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  252. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +2 -0
  253. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  254. package/build-module/components/block-list/use-block-props/use-multi-selection.js +23 -28
  255. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  256. package/build-module/components/block-media-update-progress/index.native.js +4 -4
  257. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  258. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  259. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  260. package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
  261. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  262. package/build-module/components/block-mover/mover-description.js +4 -4
  263. package/build-module/components/block-mover/mover-description.js.map +1 -1
  264. package/build-module/components/block-mover/mover-description.native.js +5 -5
  265. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  266. package/build-module/components/block-settings/container.native.js +2 -6
  267. package/build-module/components/block-settings/container.native.js.map +1 -1
  268. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -13
  269. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  270. package/build-module/components/block-styles/preview.native.js +1 -1
  271. package/build-module/components/block-styles/preview.native.js.map +1 -1
  272. package/build-module/components/block-switcher/index.js +2 -1
  273. package/build-module/components/block-switcher/index.js.map +1 -1
  274. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  275. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  276. package/build-module/components/block-title/index.js +7 -58
  277. package/build-module/components/block-title/index.js.map +1 -1
  278. package/build-module/components/block-title/use-block-display-title.js +80 -0
  279. package/build-module/components/block-title/use-block-display-title.js.map +1 -0
  280. package/build-module/components/block-toolbar/utils.js +9 -1
  281. package/build-module/components/block-toolbar/utils.js.map +1 -1
  282. package/build-module/components/block-tools/block-popover.js +1 -1
  283. package/build-module/components/block-tools/block-popover.js.map +1 -1
  284. package/build-module/components/block-tools/block-selection-button.js +2 -1
  285. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  286. package/build-module/components/block-types-list/index.native.js +1 -1
  287. package/build-module/components/block-types-list/index.native.js.map +1 -1
  288. package/build-module/components/border-radius-control/index.js +3 -3
  289. package/build-module/components/border-radius-control/index.js.map +1 -1
  290. package/build-module/components/border-radius-control/utils.js +11 -7
  291. package/build-module/components/border-radius-control/utils.js.map +1 -1
  292. package/build-module/components/contrast-checker/index.js +3 -3
  293. package/build-module/components/contrast-checker/index.js.map +1 -1
  294. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  295. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  296. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  297. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  298. package/build-module/components/copy-handler/index.js +2 -2
  299. package/build-module/components/copy-handler/index.js.map +1 -1
  300. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  301. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  302. package/build-module/components/index.js +1 -0
  303. package/build-module/components/index.js.map +1 -1
  304. package/build-module/components/index.native.js +5 -4
  305. package/build-module/components/index.native.js.map +1 -1
  306. package/build-module/components/inserter/block-patterns-tab.js +4 -4
  307. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  308. package/build-module/components/inserter/block-types-tab.js +1 -1
  309. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  310. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  311. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  312. package/build-module/components/inserter/index.js +3 -3
  313. package/build-module/components/inserter/index.js.map +1 -1
  314. package/build-module/components/inserter/index.native.js +7 -7
  315. package/build-module/components/inserter/index.native.js.map +1 -1
  316. package/build-module/components/inserter/menu.js.map +1 -1
  317. package/build-module/components/inserter/menu.native.js +3 -3
  318. package/build-module/components/inserter/menu.native.js.map +1 -1
  319. package/build-module/components/inserter/quick-inserter.js +20 -8
  320. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  321. package/build-module/components/inserter/search-items.js +1 -1
  322. package/build-module/components/inserter/search-items.js.map +1 -1
  323. package/build-module/components/inserter/search-results.js +28 -11
  324. package/build-module/components/inserter/search-results.js.map +1 -1
  325. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  326. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  327. package/build-module/components/letter-spacing-control/index.js +3 -3
  328. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  329. package/build-module/components/line-height-control/index.js +61 -45
  330. package/build-module/components/line-height-control/index.js.map +1 -1
  331. package/build-module/components/line-height-control/index.native.js +3 -1
  332. package/build-module/components/line-height-control/index.native.js.map +1 -1
  333. package/build-module/components/link-control/index.js +2 -2
  334. package/build-module/components/link-control/index.js.map +1 -1
  335. package/build-module/components/link-control/search-input.js +1 -1
  336. package/build-module/components/link-control/search-input.js.map +1 -1
  337. package/build-module/components/link-control/search-results.js +2 -2
  338. package/build-module/components/link-control/search-results.js.map +1 -1
  339. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  340. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  341. package/build-module/components/link-control/use-search-handler.js +2 -2
  342. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  343. package/build-module/components/list-view/block-contents.js +8 -4
  344. package/build-module/components/list-view/block-contents.js.map +1 -1
  345. package/build-module/components/list-view/block-select-button.js +2 -2
  346. package/build-module/components/list-view/block-select-button.js.map +1 -1
  347. package/build-module/components/list-view/block.js +20 -9
  348. package/build-module/components/list-view/block.js.map +1 -1
  349. package/build-module/components/list-view/branch.js +2 -1
  350. package/build-module/components/list-view/branch.js.map +1 -1
  351. package/build-module/components/list-view/index.js +46 -42
  352. package/build-module/components/list-view/index.js.map +1 -1
  353. package/build-module/components/list-view/use-block-selection.js +123 -0
  354. package/build-module/components/list-view/use-block-selection.js.map +1 -0
  355. package/build-module/components/list-view/use-list-view-expand-selected-item.js +50 -0
  356. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
  357. package/build-module/components/list-view/utils.js +25 -0
  358. package/build-module/components/list-view/utils.js.map +1 -1
  359. package/build-module/components/media-placeholder/index.native.js +7 -5
  360. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  361. package/build-module/components/media-replace-flow/index.js +22 -27
  362. package/build-module/components/media-replace-flow/index.js.map +1 -1
  363. package/build-module/components/media-upload/index.native.js +4 -3
  364. package/build-module/components/media-upload/index.native.js.map +1 -1
  365. package/build-module/components/media-upload-progress/index.native.js +2 -2
  366. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  367. package/build-module/components/navigable-toolbar/index.js +3 -3
  368. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  369. package/build-module/components/plain-text/index.native.js +3 -3
  370. package/build-module/components/plain-text/index.native.js.map +1 -1
  371. package/build-module/components/rich-text/format-toolbar-container.js +2 -2
  372. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  373. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  374. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  375. package/build-module/components/rich-text/index.js +7 -12
  376. package/build-module/components/rich-text/index.js.map +1 -1
  377. package/build-module/components/rich-text/index.native.js +3 -3
  378. package/build-module/components/rich-text/index.native.js.map +1 -1
  379. package/build-module/components/rich-text/use-paste-handler.js +6 -12
  380. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  381. package/build-module/components/url-input/index.js +11 -11
  382. package/build-module/components/url-input/index.js.map +1 -1
  383. package/build-module/components/use-moving-animation/index.js +1 -1
  384. package/build-module/components/use-moving-animation/index.js.map +1 -1
  385. package/build-module/components/use-on-block-drop/index.js +2 -2
  386. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  387. package/build-module/components/writing-flow/index.js +1 -0
  388. package/build-module/components/writing-flow/index.js.map +1 -1
  389. package/build-module/components/writing-flow/use-multi-selection.js +21 -21
  390. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  391. package/build-module/components/writing-flow/use-select-all.js +3 -2
  392. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  393. package/build-module/components/writing-flow/use-tab-nav.js +4 -3
  394. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  395. package/build-module/hooks/align.js +1 -1
  396. package/build-module/hooks/align.js.map +1 -1
  397. package/build-module/hooks/anchor.js +1 -1
  398. package/build-module/hooks/anchor.js.map +1 -1
  399. package/build-module/hooks/border.js +2 -14
  400. package/build-module/hooks/border.js.map +1 -1
  401. package/build-module/hooks/color.js +2 -2
  402. package/build-module/hooks/color.js.map +1 -1
  403. package/build-module/hooks/custom-class-name.js +38 -0
  404. package/build-module/hooks/custom-class-name.js.map +1 -1
  405. package/build-module/hooks/duotone.js +23 -5
  406. package/build-module/hooks/duotone.js.map +1 -1
  407. package/build-module/hooks/generated-class-name.js +3 -3
  408. package/build-module/hooks/generated-class-name.js.map +1 -1
  409. package/build-module/hooks/line-height.js +2 -0
  410. package/build-module/hooks/line-height.js.map +1 -1
  411. package/build-module/hooks/lock.js +1 -1
  412. package/build-module/hooks/lock.js.map +1 -1
  413. package/build-module/hooks/style.js +31 -13
  414. package/build-module/hooks/style.js.map +1 -1
  415. package/build-module/layouts/flow.js +7 -5
  416. package/build-module/layouts/flow.js.map +1 -1
  417. package/build-module/store/actions.js +52 -45
  418. package/build-module/store/actions.js.map +1 -1
  419. package/build-module/store/defaults.js +2 -1
  420. package/build-module/store/defaults.js.map +1 -1
  421. package/build-module/store/index.js +1 -2
  422. package/build-module/store/index.js.map +1 -1
  423. package/build-module/store/reducer.js +13 -13
  424. package/build-module/store/reducer.js.map +1 -1
  425. package/build-module/store/selectors.js +6 -6
  426. package/build-module/store/selectors.js.map +1 -1
  427. package/build-module/utils/index.js +0 -1
  428. package/build-module/utils/index.js.map +1 -1
  429. package/build-module/utils/parse-css-unit-to-px.js +3 -3
  430. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  431. package/build-module/utils/pasting.js +80 -0
  432. package/build-module/utils/pasting.js.map +1 -0
  433. package/build-module/utils/transform-styles/ast/parse.js +5 -5
  434. package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
  435. package/build-module/utils/transform-styles/transforms/url-rewrite.js +2 -2
  436. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  437. package/build-style/style-rtl.css +10 -12
  438. package/build-style/style.css +10 -12
  439. package/package.json +27 -26
  440. package/src/autocompleters/link.js +62 -0
  441. package/src/autocompleters/style.scss +8 -0
  442. package/src/components/alignment-control/test/index.js +2 -2
  443. package/src/components/autocomplete/index.js +2 -0
  444. package/src/components/block-actions/index.js +1 -1
  445. package/src/components/block-alignment-control/test/index.js +1 -1
  446. package/src/components/block-breadcrumb/index.js +5 -2
  447. package/src/components/block-compare/index.js +2 -2
  448. package/src/components/block-controls/index.js +1 -1
  449. package/src/components/block-draggable/index.js +1 -1
  450. package/src/components/block-draggable/stories/index.js +1 -1
  451. package/src/components/block-edit/edit.js +1 -1
  452. package/src/components/block-list/block-html.js +1 -1
  453. package/src/components/block-list/block-invalid-warning.js +1 -1
  454. package/src/components/block-list/block-list-item.native.js +4 -4
  455. package/src/components/block-list/block-selection-button.native.js +3 -3
  456. package/src/components/block-list/block.js +28 -4
  457. package/src/components/block-list/block.native.js +7 -6
  458. package/src/components/block-list/index.native.js +5 -5
  459. package/src/components/block-list/style.scss +3 -1
  460. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -1
  461. package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -0
  462. package/src/components/block-list/use-block-props/use-multi-selection.js +22 -30
  463. package/src/components/block-media-update-progress/index.native.js +4 -4
  464. package/src/components/block-media-update-progress/test/index.native.js +2 -2
  465. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  466. package/src/components/block-mobile-toolbar/index.native.js +2 -2
  467. package/src/components/block-mover/mover-description.js +4 -4
  468. package/src/components/block-mover/mover-description.native.js +5 -5
  469. package/src/components/block-settings/container.native.js +5 -6
  470. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -8
  471. package/src/components/block-styles/preview.native.js +1 -1
  472. package/src/components/block-switcher/index.js +4 -1
  473. package/src/components/block-switcher/use-transformed-patterns.js +0 -1
  474. package/src/components/block-title/README.md +17 -1
  475. package/src/components/block-title/index.js +7 -62
  476. package/src/components/block-title/test/index.js +21 -3
  477. package/src/components/block-title/use-block-display-title.js +83 -0
  478. package/src/components/block-toolbar/utils.js +12 -2
  479. package/src/components/block-tools/block-popover.js +1 -1
  480. package/src/components/block-tools/block-selection-button.js +4 -1
  481. package/src/components/block-types-list/index.native.js +1 -1
  482. package/src/components/border-radius-control/index.js +5 -3
  483. package/src/components/border-radius-control/test/utils.js +10 -10
  484. package/src/components/border-radius-control/utils.js +10 -8
  485. package/src/components/contrast-checker/index.js +3 -3
  486. package/src/components/convert-to-group-buttons/index.js +1 -1
  487. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -6
  488. package/src/components/copy-handler/index.js +2 -2
  489. package/src/components/font-sizes/with-font-sizes.js +3 -3
  490. package/src/components/image-size-control/test/index.js +1 -1
  491. package/src/components/index.js +1 -0
  492. package/src/components/index.native.js +11 -4
  493. package/src/components/inserter/block-patterns-tab.js +13 -17
  494. package/src/components/inserter/block-types-tab.js +1 -1
  495. package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  496. package/src/components/inserter/index.js +3 -3
  497. package/src/components/inserter/index.native.js +7 -7
  498. package/src/components/inserter/menu.js +1 -1
  499. package/src/components/inserter/menu.native.js +3 -3
  500. package/src/components/inserter/quick-inserter.js +32 -10
  501. package/src/components/inserter/search-items.js +1 -1
  502. package/src/components/inserter/search-results.js +55 -43
  503. package/src/components/inserter/test/fixtures/index.native.js +1 -1
  504. package/src/components/inserter/test/reusable-blocks-tab.js +2 -2
  505. package/src/components/justify-content-control/README.md +1 -1
  506. package/src/components/keyboard-shortcuts/index.js +1 -1
  507. package/src/components/letter-spacing-control/index.js +1 -1
  508. package/src/components/line-height-control/README.md +13 -2
  509. package/src/components/line-height-control/index.js +66 -43
  510. package/src/components/line-height-control/index.native.js +2 -0
  511. package/src/components/line-height-control/stories/index.js +33 -0
  512. package/src/components/line-height-control/test/index.js +61 -0
  513. package/src/components/link-control/index.js +2 -2
  514. package/src/components/link-control/search-input.js +1 -1
  515. package/src/components/link-control/search-results.js +2 -2
  516. package/src/components/link-control/test/index.js +142 -144
  517. package/src/components/link-control/use-rich-url-data.js +1 -1
  518. package/src/components/link-control/use-search-handler.js +2 -2
  519. package/src/components/list-view/README.md +2 -2
  520. package/src/components/list-view/block-contents.js +10 -3
  521. package/src/components/list-view/block-select-button.js +1 -2
  522. package/src/components/list-view/block.js +30 -10
  523. package/src/components/list-view/branch.js +1 -0
  524. package/src/components/list-view/index.js +56 -30
  525. package/src/components/list-view/test/utils.js +50 -0
  526. package/src/components/list-view/use-block-selection.js +163 -0
  527. package/src/components/list-view/use-list-view-expand-selected-item.js +58 -0
  528. package/src/components/list-view/utils.js +31 -0
  529. package/src/components/media-placeholder/index.native.js +11 -9
  530. package/src/components/media-replace-flow/README.md +7 -0
  531. package/src/components/media-replace-flow/index.js +20 -26
  532. package/src/components/media-replace-flow/test/index.js +100 -0
  533. package/src/components/media-upload/index.native.js +3 -2
  534. package/src/components/media-upload-progress/index.native.js +2 -2
  535. package/src/components/navigable-toolbar/index.js +3 -3
  536. package/src/components/plain-text/index.native.js +3 -3
  537. package/src/components/responsive-block-control/test/index.js +6 -6
  538. package/src/components/rich-text/format-toolbar-container.js +2 -2
  539. package/src/components/rich-text/format-toolbar-container.native.js +1 -1
  540. package/src/components/rich-text/index.js +7 -14
  541. package/src/components/rich-text/index.native.js +3 -3
  542. package/src/components/rich-text/use-paste-handler.js +7 -14
  543. package/src/components/url-input/index.js +11 -11
  544. package/src/components/use-block-drop-zone/test/index.js +1 -1
  545. package/src/components/use-moving-animation/index.js +1 -1
  546. package/src/components/use-on-block-drop/index.js +2 -2
  547. package/src/components/writing-flow/index.js +1 -0
  548. package/src/components/writing-flow/use-multi-selection.js +17 -20
  549. package/src/components/writing-flow/use-select-all.js +6 -2
  550. package/src/components/writing-flow/use-tab-nav.js +6 -3
  551. package/src/hooks/align.js +1 -1
  552. package/src/hooks/anchor.js +1 -1
  553. package/src/hooks/border.js +8 -19
  554. package/src/hooks/color.js +2 -2
  555. package/src/hooks/custom-class-name.js +45 -0
  556. package/src/hooks/duotone.js +27 -3
  557. package/src/hooks/generated-class-name.js +3 -3
  558. package/src/hooks/line-height.js +2 -0
  559. package/src/hooks/lock.js +1 -1
  560. package/src/hooks/style.js +31 -13
  561. package/src/hooks/test/align.js +1 -1
  562. package/src/hooks/typography.scss +0 -4
  563. package/src/layouts/flow.js +10 -5
  564. package/src/store/actions.js +24 -14
  565. package/src/store/defaults.js +2 -2
  566. package/src/store/index.js +0 -1
  567. package/src/store/reducer.js +13 -12
  568. package/src/store/selectors.js +6 -6
  569. package/src/store/test/actions.js +2 -2
  570. package/src/store/test/reducer.js +10 -1
  571. package/src/store/test/selectors.js +1 -1
  572. package/src/style.scss +0 -1
  573. package/src/utils/index.js +0 -1
  574. package/src/utils/parse-css-unit-to-px.js +3 -3
  575. package/src/utils/pasting.js +77 -0
  576. package/src/utils/test/parse-css-unit-to-px.js +5 -5
  577. package/src/utils/test/pasting.js +84 -0
  578. package/src/utils/transform-styles/ast/parse.js +5 -5
  579. package/src/utils/transform-styles/transforms/url-rewrite.js +2 -2
  580. package/build/utils/get-paste-event-data.js +0 -56
  581. package/build/utils/get-paste-event-data.js.map +0 -1
  582. package/build/utils/theme.js +0 -63
  583. package/build/utils/theme.js.map +0 -1
  584. package/build-module/utils/get-paste-event-data.js +0 -47
  585. package/build-module/utils/get-paste-event-data.js.map +0 -1
  586. package/build-module/utils/theme.js +0 -53
  587. package/build-module/utils/theme.js.map +0 -1
  588. package/src/components/line-height-control/style.scss +0 -8
  589. package/src/components/writing-flow/test/use-multi-selection.js +0 -36
  590. package/src/utils/get-paste-event-data.js +0 -42
  591. package/src/utils/theme.js +0 -48
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/utils/index.js"],"names":["default","transformStyles","getPxFromCssUnit"],"mappings":"AAAA,SAASA,OAAO,IAAIC,eAApB,QAA2C,oBAA3C;AACA,cAAc,SAAd;AACA,cAAc,8BAAd;AACA,SAASD,OAAO,IAAIE,gBAApB,QAA4C,wBAA5C","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":["default","transformStyles","getPxFromCssUnit"],"mappings":"AAAA,SAASA,OAAO,IAAIC,eAApB,QAA2C,oBAA3C;AACA,cAAc,8BAAd;AACA,SAASD,OAAO,IAAIE,gBAApB,QAA4C,wBAA5C","sourcesContent":["export { default as transformStyles } from './transform-styles';\nexport * from './block-variation-transforms';\nexport { default as getPxFromCssUnit } from './parse-css-unit-to-px';\n"]}
@@ -96,7 +96,7 @@ function parseUnitFunction(cssUnit) {
96
96
  if (matches[0]) {
97
97
  const functionUnitValue = getFunctionUnitValue(matches[0]);
98
98
  cssUnit = cssUnit.replace(matches[0], functionUnitValue);
99
- } // if the unit hasn't been modified or we have a single value break free.
99
+ } // If the unit hasn't been modified or we have a single value break free.
100
100
 
101
101
 
102
102
  if (cssUnit === currentCssUnit || parseFloat(cssUnit)) {
@@ -141,7 +141,7 @@ function evalMathExpression(cssUnit) {
141
141
  const parsedUnit = parseUnit(getPxFromCssUnit(unit));
142
142
 
143
143
  if (!parseFloat(parsedUnit.value)) {
144
- errorFound = true; // end early since we are dealing with a null value.
144
+ errorFound = true; // End early since we are dealing with a null value.
145
145
 
146
146
  break;
147
147
  }
@@ -182,7 +182,7 @@ function convertParsedUnitToPx(parsedUnit, options) {
182
182
  ch: 8,
183
183
  // The advance measure (width) of the glyph "0" of the element's font. Approximate
184
184
  ex: 7.15625,
185
- // x-height of the element's font. Approximate
185
+ // X-height of the element's font. Approximate.
186
186
  lh: setOptions.lineHeight
187
187
  };
188
188
  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,80 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { createBlobURL } from '@wordpress/blob';
5
+ import { getFilesFromDataTransfer } from '@wordpress/dom';
6
+ export function getPasteEventData(_ref) {
7
+ let {
8
+ clipboardData
9
+ } = _ref;
10
+ let plainText = '';
11
+ let html = ''; // IE11 only supports `Text` as an argument for `getData` and will
12
+ // otherwise throw an invalid argument error, so we try the standard
13
+ // arguments first, then fallback to `Text` if they fail.
14
+
15
+ try {
16
+ plainText = clipboardData.getData('text/plain');
17
+ html = clipboardData.getData('text/html');
18
+ } catch (error1) {
19
+ try {
20
+ html = clipboardData.getData('Text');
21
+ } catch (error2) {
22
+ // Some browsers like UC Browser paste plain text by default and
23
+ // don't support clipboardData at all, so allow default
24
+ // behaviour.
25
+ return;
26
+ }
27
+ }
28
+
29
+ const files = getFilesFromDataTransfer(clipboardData).filter(_ref2 => {
30
+ let {
31
+ type
32
+ } = _ref2;
33
+ return /^image\/(?:jpe?g|png|gif|webp)$/.test(type);
34
+ });
35
+
36
+ if (files.length && !shouldDismissPastedFiles(files, html, plainText)) {
37
+ html = files.map(file => `<img src="${createBlobURL(file)}">`).join('');
38
+ plainText = '';
39
+ }
40
+
41
+ return {
42
+ html,
43
+ plainText
44
+ };
45
+ }
46
+ /**
47
+ * Given a collection of DataTransfer files and HTML and plain text strings,
48
+ * determine whether the files are to be dismissed in favor of the HTML.
49
+ *
50
+ * Certain office-type programs, like Microsoft Word or Apple Numbers,
51
+ * will, upon copy, generate a screenshot of the content being copied and
52
+ * attach it to the clipboard alongside the actual rich text that the user
53
+ * sought to copy. In those cases, we should let Gutenberg handle the rich text
54
+ * content and not the screenshot, since this allows Gutenberg to insert
55
+ * meaningful blocks, like paragraphs, lists or even tables.
56
+ *
57
+ * @param {File[]} files File objects obtained from a paste event
58
+ * @param {string} html HTML content obtained from a paste event
59
+ * @return {boolean} True if the files should be dismissed
60
+ */
61
+
62
+ export function shouldDismissPastedFiles(files, html
63
+ /*, plainText */
64
+ ) {
65
+ // The question is only relevant when there is actual HTML content and when
66
+ // there is exactly one image file.
67
+ if (html && (files === null || files === void 0 ? void 0 : files.length) === 1 && files[0].type.indexOf('image/') === 0) {
68
+ var _html$match;
69
+
70
+ // A single <img> tag found in the HTML source suggests that the
71
+ // content being pasted revolves around an image. Sometimes there are
72
+ // other elements found, like <figure>, but we assume that the user's
73
+ // intention is to paste the actual image file.
74
+ const IMAGE_TAG = /<\s*img\b/gi;
75
+ return ((_html$match = html.match(IMAGE_TAG)) === null || _html$match === void 0 ? void 0 : _html$match.length) !== 1;
76
+ }
77
+
78
+ return false;
79
+ }
80
+ //# sourceMappingURL=pasting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/pasting.js"],"names":["createBlobURL","getFilesFromDataTransfer","getPasteEventData","clipboardData","plainText","html","getData","error1","error2","files","filter","type","test","length","shouldDismissPastedFiles","map","file","join","indexOf","IMAGE_TAG","match"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,iBAA9B;AACA,SAASC,wBAAT,QAAyC,gBAAzC;AAEA,OAAO,SAASC,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,GAAGR,wBAAwB,CACrCE,aADqC,CAAxB,CAEZO,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,aAAahB,aAAa,CAAEgB,IAAF,CAAU,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;;AACA,OAAO,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"]}
@@ -235,7 +235,7 @@ export default function (css, options) {
235
235
 
236
236
 
237
237
  function declaration() {
238
- const pos = position(); // prop
238
+ const pos = position(); // prop.
239
239
 
240
240
  let prop = match(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);
241
241
 
@@ -247,7 +247,7 @@ export default function (css, options) {
247
247
 
248
248
  if (!match(/^:\s*/)) {
249
249
  return error("property missing ':'");
250
- } // val
250
+ } // val.
251
251
 
252
252
 
253
253
  const val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/);
@@ -272,7 +272,7 @@ export default function (css, options) {
272
272
  return error("missing '{'");
273
273
  }
274
274
 
275
- comments(decls); // declarations
275
+ comments(decls); // declarations.
276
276
 
277
277
  let decl; // eslint-disable-next-line no-cond-assign
278
278
 
@@ -488,7 +488,7 @@ export default function (css, options) {
488
488
  return error("@page missing '{'");
489
489
  }
490
490
 
491
- let decls = comments(); // declarations
491
+ let decls = comments(); // declarations.
492
492
 
493
493
  let decl; // eslint-disable-next-line no-cond-assign
494
494
 
@@ -557,7 +557,7 @@ export default function (css, options) {
557
557
  return error("@font-face missing '{'");
558
558
  }
559
559
 
560
- let decls = comments(); // declarations
560
+ let decls = comments(); // declarations.
561
561
 
562
562
  let decl; // eslint-disable-next-line no-cond-assign
563
563
 
@@ -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"]}
@@ -30,14 +30,14 @@ function isAbsolutePath(filePath) {
30
30
 
31
31
 
32
32
  function isValidURL(meta) {
33
- // ignore hashes or data uris
33
+ // Ignore hashes or data uris.
34
34
  if (meta.value.indexOf('data:') === 0 || meta.value.indexOf('#') === 0) {
35
35
  return false;
36
36
  }
37
37
 
38
38
  if (isAbsolutePath(meta.value)) {
39
39
  return false;
40
- } // do not handle the http/https urls if `includeRemote` is false
40
+ } // Do not handle the http/https urls if `includeRemote` is false.
41
41
 
42
42
 
43
43
  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"]}
@@ -96,6 +96,13 @@
96
96
  margin-left: 8px;
97
97
  }
98
98
 
99
+ .block-editor-autocompleters__link {
100
+ white-space: nowrap;
101
+ }
102
+ .block-editor-autocompleters__link .block-editor-block-icon {
103
+ margin-left: 8px;
104
+ }
105
+
99
106
  .block-editor-block-alignment-control__menu-group .components-menu-item__info {
100
107
  margin-top: 0;
101
108
  }
@@ -392,7 +399,9 @@
392
399
  }
393
400
 
394
401
  .wp-block[data-align=left] > *,
395
- .wp-block[data-align=right] > * {
402
+ .wp-block[data-align=right] > *,
403
+ .wp-block.alignleft,
404
+ .wp-block.alignright {
396
405
  z-index: 21;
397
406
  }
398
407
 
@@ -2086,14 +2095,6 @@
2086
2095
  justify-content: space-between;
2087
2096
  }
2088
2097
 
2089
- .block-editor-line-height-control {
2090
- margin-bottom: 24px;
2091
- }
2092
- .block-editor-line-height-control input {
2093
- display: block;
2094
- max-width: 60px;
2095
- }
2096
-
2097
2098
  @keyframes loadingpulse {
2098
2099
  0% {
2099
2100
  opacity: 1;
@@ -3587,9 +3588,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3587
3588
  .typography-block-support-panel .block-editor-text-transform-control__buttons {
3588
3589
  margin-bottom: 0;
3589
3590
  }
3590
- .typography-block-support-panel .block-editor-line-height-control input {
3591
- max-width: 100%;
3592
- }
3593
3591
  .typography-block-support-panel .single-column {
3594
3592
  grid-column: span 1;
3595
3593
  }
@@ -96,6 +96,13 @@
96
96
  margin-right: 8px;
97
97
  }
98
98
 
99
+ .block-editor-autocompleters__link {
100
+ white-space: nowrap;
101
+ }
102
+ .block-editor-autocompleters__link .block-editor-block-icon {
103
+ margin-right: 8px;
104
+ }
105
+
99
106
  .block-editor-block-alignment-control__menu-group .components-menu-item__info {
100
107
  margin-top: 0;
101
108
  }
@@ -392,7 +399,9 @@
392
399
  }
393
400
 
394
401
  .wp-block[data-align=left] > *,
395
- .wp-block[data-align=right] > * {
402
+ .wp-block[data-align=right] > *,
403
+ .wp-block.alignleft,
404
+ .wp-block.alignright {
396
405
  z-index: 21;
397
406
  }
398
407
 
@@ -2086,14 +2095,6 @@
2086
2095
  justify-content: space-between;
2087
2096
  }
2088
2097
 
2089
- .block-editor-line-height-control {
2090
- margin-bottom: 24px;
2091
- }
2092
- .block-editor-line-height-control input {
2093
- display: block;
2094
- max-width: 60px;
2095
- }
2096
-
2097
2098
  @keyframes loadingpulse {
2098
2099
  0% {
2099
2100
  opacity: 1;
@@ -3587,9 +3588,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3587
3588
  .typography-block-support-panel .block-editor-text-transform-control__buttons {
3588
3589
  margin-bottom: 0;
3589
3590
  }
3590
- .typography-block-support-panel .block-editor-line-height-control input {
3591
- max-width: 100%;
3592
- }
3593
3591
  .typography-block-support-panel .single-column {
3594
3592
  grid-column: span 1;
3595
3593
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "8.1.2",
3
+ "version": "8.3.0-next.e230fbab09.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -33,30 +33,31 @@
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.16.0",
35
35
  "@react-spring/web": "^9.2.4",
36
- "@wordpress/a11y": "^3.3.1",
37
- "@wordpress/api-fetch": "^6.0.1",
38
- "@wordpress/blob": "^3.3.1",
39
- "@wordpress/blocks": "^11.2.1",
40
- "@wordpress/components": "^19.4.1",
41
- "@wordpress/compose": "^5.1.1",
42
- "@wordpress/data": "^6.2.1",
43
- "@wordpress/deprecated": "^3.3.1",
44
- "@wordpress/dom": "^3.3.1",
45
- "@wordpress/element": "^4.1.1",
46
- "@wordpress/hooks": "^3.3.1",
47
- "@wordpress/html-entities": "^3.3.1",
48
- "@wordpress/i18n": "^4.3.1",
49
- "@wordpress/icons": "^7.0.0",
50
- "@wordpress/is-shallow-equal": "^4.3.1",
51
- "@wordpress/keyboard-shortcuts": "^3.1.1",
52
- "@wordpress/keycodes": "^3.3.1",
53
- "@wordpress/notices": "^3.3.1",
54
- "@wordpress/rich-text": "^5.1.1",
55
- "@wordpress/shortcode": "^3.3.1",
56
- "@wordpress/token-list": "^2.3.1",
57
- "@wordpress/url": "^3.4.1",
58
- "@wordpress/warning": "^2.3.1",
59
- "@wordpress/wordcount": "^3.3.1",
36
+ "@wordpress/a11y": "^3.4.0-next.e230fbab09.0",
37
+ "@wordpress/api-fetch": "^6.1.0-next.e230fbab09.0",
38
+ "@wordpress/blob": "^3.4.0-next.e230fbab09.0",
39
+ "@wordpress/blocks": "^11.3.0-next.e230fbab09.0",
40
+ "@wordpress/components": "^19.7.0-next.e230fbab09.0",
41
+ "@wordpress/compose": "^5.2.0-next.e230fbab09.0",
42
+ "@wordpress/data": "^6.4.0-next.e230fbab09.0",
43
+ "@wordpress/deprecated": "^3.4.0-next.e230fbab09.0",
44
+ "@wordpress/dom": "^3.4.0-next.e230fbab09.0",
45
+ "@wordpress/element": "^4.3.0-next.e230fbab09.0",
46
+ "@wordpress/hooks": "^3.4.0-next.e230fbab09.0",
47
+ "@wordpress/html-entities": "^3.4.0-next.e230fbab09.0",
48
+ "@wordpress/i18n": "^4.4.0-next.e230fbab09.0",
49
+ "@wordpress/icons": "^7.1.0-next.e230fbab09.0",
50
+ "@wordpress/is-shallow-equal": "^4.4.0-next.e230fbab09.0",
51
+ "@wordpress/keyboard-shortcuts": "^3.2.0-next.e230fbab09.0",
52
+ "@wordpress/keycodes": "^3.4.0-next.e230fbab09.0",
53
+ "@wordpress/notices": "^3.4.0-next.e230fbab09.0",
54
+ "@wordpress/rich-text": "^5.2.0-next.e230fbab09.0",
55
+ "@wordpress/shortcode": "^3.4.0-next.e230fbab09.0",
56
+ "@wordpress/style-engine": "^0.3.0-next.e230fbab09.0",
57
+ "@wordpress/token-list": "^2.4.0-next.e230fbab09.0",
58
+ "@wordpress/url": "^3.5.0-next.e230fbab09.0",
59
+ "@wordpress/warning": "^2.4.0-next.e230fbab09.0",
60
+ "@wordpress/wordcount": "^3.4.0-next.e230fbab09.0",
60
61
  "classnames": "^2.3.1",
61
62
  "colord": "^2.7.0",
62
63
  "diff": "^4.0.2",
@@ -75,5 +76,5 @@
75
76
  "publishConfig": {
76
77
  "access": "public"
77
78
  },
78
- "gitHead": "0f838547f37472e46e6d5a9d2e84b6c61f4bd3f0"
79
+ "gitHead": "308df03e6a96ded732f9c4e32471b1b4f8dea54a"
79
80
  }