@wordpress/block-editor 8.2.0 → 8.3.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 (481) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +6 -2
  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 +1 -1
  28. package/build/components/block-list/block.js.map +1 -1
  29. package/build/components/block-list/block.native.js +5 -5
  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-media-update-progress/index.native.js +4 -4
  36. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  37. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  38. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  39. package/build/components/block-mobile-toolbar/index.native.js +1 -1
  40. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  41. package/build/components/block-mover/mover-description.js +4 -4
  42. package/build/components/block-mover/mover-description.js.map +1 -1
  43. package/build/components/block-mover/mover-description.native.js +5 -5
  44. package/build/components/block-mover/mover-description.native.js.map +1 -1
  45. package/build/components/block-settings-menu/block-settings-dropdown.js +7 -12
  46. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  47. package/build/components/block-styles/preview.native.js +1 -1
  48. package/build/components/block-styles/preview.native.js.map +1 -1
  49. package/build/components/block-switcher/index.js +2 -1
  50. package/build/components/block-switcher/index.js.map +1 -1
  51. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  52. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  53. package/build/components/block-title/index.js +7 -62
  54. package/build/components/block-title/index.js.map +1 -1
  55. package/build/components/block-title/use-block-display-title.js +94 -0
  56. package/build/components/block-title/use-block-display-title.js.map +1 -0
  57. package/build/components/block-toolbar/utils.js +9 -1
  58. package/build/components/block-toolbar/utils.js.map +1 -1
  59. package/build/components/block-tools/block-popover.js +1 -1
  60. package/build/components/block-tools/block-popover.js.map +1 -1
  61. package/build/components/block-tools/block-selection-button.js +2 -1
  62. package/build/components/block-tools/block-selection-button.js.map +1 -1
  63. package/build/components/block-types-list/index.native.js +1 -1
  64. package/build/components/block-types-list/index.native.js.map +1 -1
  65. package/build/components/border-radius-control/index.js +2 -2
  66. package/build/components/border-radius-control/index.js.map +1 -1
  67. package/build/components/border-radius-control/utils.js +10 -6
  68. package/build/components/border-radius-control/utils.js.map +1 -1
  69. package/build/components/contrast-checker/index.js +3 -3
  70. package/build/components/contrast-checker/index.js.map +1 -1
  71. package/build/components/convert-to-group-buttons/index.js +1 -1
  72. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  73. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  74. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  75. package/build/components/copy-handler/index.js +3 -3
  76. package/build/components/copy-handler/index.js.map +1 -1
  77. package/build/components/font-sizes/with-font-sizes.js +3 -3
  78. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  79. package/build/components/index.native.js +29 -1
  80. package/build/components/index.native.js.map +1 -1
  81. package/build/components/inserter/block-patterns-tab.js +1 -1
  82. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  83. package/build/components/inserter/block-types-tab.js +1 -1
  84. package/build/components/inserter/block-types-tab.js.map +1 -1
  85. package/build/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  86. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  87. package/build/components/inserter/index.js +3 -3
  88. package/build/components/inserter/index.js.map +1 -1
  89. package/build/components/inserter/index.native.js +7 -7
  90. package/build/components/inserter/index.native.js.map +1 -1
  91. package/build/components/inserter/menu.js.map +1 -1
  92. package/build/components/inserter/menu.native.js +3 -3
  93. package/build/components/inserter/menu.native.js.map +1 -1
  94. package/build/components/inserter/quick-inserter.js +1 -1
  95. package/build/components/inserter/quick-inserter.js.map +1 -1
  96. package/build/components/inserter/search-items.js +1 -1
  97. package/build/components/inserter/search-items.js.map +1 -1
  98. package/build/components/inserter/search-results.js +1 -1
  99. package/build/components/inserter/search-results.js.map +1 -1
  100. package/build/components/keyboard-shortcuts/index.js +1 -1
  101. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  102. package/build/components/letter-spacing-control/index.js +3 -3
  103. package/build/components/letter-spacing-control/index.js.map +1 -1
  104. package/build/components/line-height-control/index.js +4 -4
  105. package/build/components/line-height-control/index.js.map +1 -1
  106. package/build/components/line-height-control/index.native.js +3 -1
  107. package/build/components/line-height-control/index.native.js.map +1 -1
  108. package/build/components/link-control/index.js +2 -2
  109. package/build/components/link-control/index.js.map +1 -1
  110. package/build/components/link-control/search-input.js +1 -1
  111. package/build/components/link-control/search-input.js.map +1 -1
  112. package/build/components/link-control/search-results.js +2 -2
  113. package/build/components/link-control/search-results.js.map +1 -1
  114. package/build/components/link-control/use-rich-url-data.js +1 -1
  115. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  116. package/build/components/link-control/use-search-handler.js +2 -2
  117. package/build/components/link-control/use-search-handler.js.map +1 -1
  118. package/build/components/list-view/block-select-button.js +2 -1
  119. package/build/components/list-view/block-select-button.js.map +1 -1
  120. package/build/components/list-view/block.js +1 -1
  121. package/build/components/list-view/block.js.map +1 -1
  122. package/build/components/media-placeholder/index.native.js +7 -5
  123. package/build/components/media-placeholder/index.native.js.map +1 -1
  124. package/build/components/media-replace-flow/index.js +20 -24
  125. package/build/components/media-replace-flow/index.js.map +1 -1
  126. package/build/components/media-upload/index.native.js +4 -3
  127. package/build/components/media-upload/index.native.js.map +1 -1
  128. package/build/components/media-upload-progress/index.native.js +2 -2
  129. package/build/components/media-upload-progress/index.native.js.map +1 -1
  130. package/build/components/navigable-toolbar/index.js +3 -3
  131. package/build/components/navigable-toolbar/index.js.map +1 -1
  132. package/build/components/plain-text/index.native.js +3 -3
  133. package/build/components/plain-text/index.native.js.map +1 -1
  134. package/build/components/rich-text/format-toolbar-container.js +2 -2
  135. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  136. package/build/components/rich-text/format-toolbar-container.native.js +1 -1
  137. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  138. package/build/components/rich-text/index.native.js +3 -3
  139. package/build/components/rich-text/index.native.js.map +1 -1
  140. package/build/components/rich-text/use-paste-handler.js +7 -11
  141. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  142. package/build/components/url-input/index.js +11 -11
  143. package/build/components/url-input/index.js.map +1 -1
  144. package/build/components/use-moving-animation/index.js +1 -1
  145. package/build/components/use-moving-animation/index.js.map +1 -1
  146. package/build/components/use-on-block-drop/index.js +2 -2
  147. package/build/components/use-on-block-drop/index.js.map +1 -1
  148. package/build/components/writing-flow/use-tab-nav.js +4 -3
  149. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  150. package/build/hooks/align.js +1 -1
  151. package/build/hooks/align.js.map +1 -1
  152. package/build/hooks/anchor.js +1 -1
  153. package/build/hooks/anchor.js.map +1 -1
  154. package/build/hooks/border.js +2 -14
  155. package/build/hooks/border.js.map +1 -1
  156. package/build/hooks/color.js +2 -2
  157. package/build/hooks/color.js.map +1 -1
  158. package/build/hooks/duotone.js +22 -4
  159. package/build/hooks/duotone.js.map +1 -1
  160. package/build/hooks/generated-class-name.js +3 -3
  161. package/build/hooks/generated-class-name.js.map +1 -1
  162. package/build/hooks/lock.js +1 -1
  163. package/build/hooks/lock.js.map +1 -1
  164. package/build/hooks/style.js +5 -2
  165. package/build/hooks/style.js.map +1 -1
  166. package/build/store/actions.js +4 -4
  167. package/build/store/actions.js.map +1 -1
  168. package/build/store/defaults.js +1 -1
  169. package/build/store/defaults.js.map +1 -1
  170. package/build/store/reducer.js +11 -11
  171. package/build/store/reducer.js.map +1 -1
  172. package/build/store/selectors.js +6 -6
  173. package/build/store/selectors.js.map +1 -1
  174. package/build/utils/parse-css-unit-to-px.js +3 -3
  175. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  176. package/build/utils/pasting.js +91 -0
  177. package/build/utils/pasting.js.map +1 -0
  178. package/build/utils/transform-styles/ast/parse.js +5 -5
  179. package/build/utils/transform-styles/ast/parse.js.map +1 -1
  180. package/build/utils/transform-styles/transforms/url-rewrite.js +2 -2
  181. package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  182. package/build-module/autocompleters/link.js +64 -0
  183. package/build-module/autocompleters/link.js.map +1 -0
  184. package/build-module/components/autocomplete/index.js +2 -1
  185. package/build-module/components/autocomplete/index.js.map +1 -1
  186. package/build-module/components/block-actions/index.js +1 -1
  187. package/build-module/components/block-actions/index.js.map +1 -1
  188. package/build-module/components/block-breadcrumb/index.js +4 -2
  189. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  190. package/build-module/components/block-compare/index.js +2 -2
  191. package/build-module/components/block-compare/index.js.map +1 -1
  192. package/build-module/components/block-controls/index.js +1 -1
  193. package/build-module/components/block-controls/index.js.map +1 -1
  194. package/build-module/components/block-draggable/index.js +1 -1
  195. package/build-module/components/block-draggable/index.js.map +1 -1
  196. package/build-module/components/block-edit/edit.js +1 -1
  197. package/build-module/components/block-edit/edit.js.map +1 -1
  198. package/build-module/components/block-list/block-html.js +1 -1
  199. package/build-module/components/block-list/block-html.js.map +1 -1
  200. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  201. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  202. package/build-module/components/block-list/block-list-item.native.js +4 -4
  203. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  204. package/build-module/components/block-list/block-selection-button.native.js +4 -3
  205. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  206. package/build-module/components/block-list/block.js +1 -1
  207. package/build-module/components/block-list/block.js.map +1 -1
  208. package/build-module/components/block-list/block.native.js +5 -5
  209. package/build-module/components/block-list/block.native.js.map +1 -1
  210. package/build-module/components/block-list/index.native.js +5 -5
  211. package/build-module/components/block-list/index.native.js.map +1 -1
  212. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -1
  213. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  214. package/build-module/components/block-media-update-progress/index.native.js +4 -4
  215. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  216. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  217. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  218. package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
  219. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  220. package/build-module/components/block-mover/mover-description.js +4 -4
  221. package/build-module/components/block-mover/mover-description.js.map +1 -1
  222. package/build-module/components/block-mover/mover-description.native.js +5 -5
  223. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  224. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -13
  225. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  226. package/build-module/components/block-styles/preview.native.js +1 -1
  227. package/build-module/components/block-styles/preview.native.js.map +1 -1
  228. package/build-module/components/block-switcher/index.js +2 -1
  229. package/build-module/components/block-switcher/index.js.map +1 -1
  230. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  231. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  232. package/build-module/components/block-title/index.js +7 -58
  233. package/build-module/components/block-title/index.js.map +1 -1
  234. package/build-module/components/block-title/use-block-display-title.js +80 -0
  235. package/build-module/components/block-title/use-block-display-title.js.map +1 -0
  236. package/build-module/components/block-toolbar/utils.js +9 -1
  237. package/build-module/components/block-toolbar/utils.js.map +1 -1
  238. package/build-module/components/block-tools/block-popover.js +1 -1
  239. package/build-module/components/block-tools/block-popover.js.map +1 -1
  240. package/build-module/components/block-tools/block-selection-button.js +2 -1
  241. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  242. package/build-module/components/block-types-list/index.native.js +1 -1
  243. package/build-module/components/block-types-list/index.native.js.map +1 -1
  244. package/build-module/components/border-radius-control/index.js +3 -3
  245. package/build-module/components/border-radius-control/index.js.map +1 -1
  246. package/build-module/components/border-radius-control/utils.js +11 -7
  247. package/build-module/components/border-radius-control/utils.js.map +1 -1
  248. package/build-module/components/contrast-checker/index.js +3 -3
  249. package/build-module/components/contrast-checker/index.js.map +1 -1
  250. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  251. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  252. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  253. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  254. package/build-module/components/copy-handler/index.js +2 -2
  255. package/build-module/components/copy-handler/index.js.map +1 -1
  256. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  257. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  258. package/build-module/components/index.native.js +4 -4
  259. package/build-module/components/index.native.js.map +1 -1
  260. package/build-module/components/inserter/block-patterns-tab.js +1 -1
  261. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  262. package/build-module/components/inserter/block-types-tab.js +1 -1
  263. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  264. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  265. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  266. package/build-module/components/inserter/index.js +3 -3
  267. package/build-module/components/inserter/index.js.map +1 -1
  268. package/build-module/components/inserter/index.native.js +7 -7
  269. package/build-module/components/inserter/index.native.js.map +1 -1
  270. package/build-module/components/inserter/menu.js.map +1 -1
  271. package/build-module/components/inserter/menu.native.js +3 -3
  272. package/build-module/components/inserter/menu.native.js.map +1 -1
  273. package/build-module/components/inserter/quick-inserter.js +1 -1
  274. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  275. package/build-module/components/inserter/search-items.js +1 -1
  276. package/build-module/components/inserter/search-items.js.map +1 -1
  277. package/build-module/components/inserter/search-results.js +1 -1
  278. package/build-module/components/inserter/search-results.js.map +1 -1
  279. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  280. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  281. package/build-module/components/letter-spacing-control/index.js +3 -3
  282. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  283. package/build-module/components/line-height-control/index.js +4 -4
  284. package/build-module/components/line-height-control/index.js.map +1 -1
  285. package/build-module/components/line-height-control/index.native.js +3 -1
  286. package/build-module/components/line-height-control/index.native.js.map +1 -1
  287. package/build-module/components/link-control/index.js +2 -2
  288. package/build-module/components/link-control/index.js.map +1 -1
  289. package/build-module/components/link-control/search-input.js +1 -1
  290. package/build-module/components/link-control/search-input.js.map +1 -1
  291. package/build-module/components/link-control/search-results.js +2 -2
  292. package/build-module/components/link-control/search-results.js.map +1 -1
  293. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  294. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  295. package/build-module/components/link-control/use-search-handler.js +2 -2
  296. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  297. package/build-module/components/list-view/block-select-button.js +2 -1
  298. package/build-module/components/list-view/block-select-button.js.map +1 -1
  299. package/build-module/components/list-view/block.js +1 -1
  300. package/build-module/components/list-view/block.js.map +1 -1
  301. package/build-module/components/media-placeholder/index.native.js +7 -5
  302. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  303. package/build-module/components/media-replace-flow/index.js +22 -27
  304. package/build-module/components/media-replace-flow/index.js.map +1 -1
  305. package/build-module/components/media-upload/index.native.js +4 -3
  306. package/build-module/components/media-upload/index.native.js.map +1 -1
  307. package/build-module/components/media-upload-progress/index.native.js +2 -2
  308. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  309. package/build-module/components/navigable-toolbar/index.js +3 -3
  310. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  311. package/build-module/components/plain-text/index.native.js +3 -3
  312. package/build-module/components/plain-text/index.native.js.map +1 -1
  313. package/build-module/components/rich-text/format-toolbar-container.js +2 -2
  314. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  315. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  316. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  317. package/build-module/components/rich-text/index.native.js +3 -3
  318. package/build-module/components/rich-text/index.native.js.map +1 -1
  319. package/build-module/components/rich-text/use-paste-handler.js +6 -11
  320. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  321. package/build-module/components/url-input/index.js +11 -11
  322. package/build-module/components/url-input/index.js.map +1 -1
  323. package/build-module/components/use-moving-animation/index.js +1 -1
  324. package/build-module/components/use-moving-animation/index.js.map +1 -1
  325. package/build-module/components/use-on-block-drop/index.js +2 -2
  326. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  327. package/build-module/components/writing-flow/use-tab-nav.js +4 -3
  328. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  329. package/build-module/hooks/align.js +1 -1
  330. package/build-module/hooks/align.js.map +1 -1
  331. package/build-module/hooks/anchor.js +1 -1
  332. package/build-module/hooks/anchor.js.map +1 -1
  333. package/build-module/hooks/border.js +2 -14
  334. package/build-module/hooks/border.js.map +1 -1
  335. package/build-module/hooks/color.js +2 -2
  336. package/build-module/hooks/color.js.map +1 -1
  337. package/build-module/hooks/duotone.js +23 -5
  338. package/build-module/hooks/duotone.js.map +1 -1
  339. package/build-module/hooks/generated-class-name.js +3 -3
  340. package/build-module/hooks/generated-class-name.js.map +1 -1
  341. package/build-module/hooks/lock.js +1 -1
  342. package/build-module/hooks/lock.js.map +1 -1
  343. package/build-module/hooks/style.js +5 -2
  344. package/build-module/hooks/style.js.map +1 -1
  345. package/build-module/store/actions.js +4 -4
  346. package/build-module/store/actions.js.map +1 -1
  347. package/build-module/store/defaults.js +1 -1
  348. package/build-module/store/defaults.js.map +1 -1
  349. package/build-module/store/reducer.js +11 -11
  350. package/build-module/store/reducer.js.map +1 -1
  351. package/build-module/store/selectors.js +6 -6
  352. package/build-module/store/selectors.js.map +1 -1
  353. package/build-module/utils/parse-css-unit-to-px.js +3 -3
  354. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  355. package/build-module/utils/pasting.js +80 -0
  356. package/build-module/utils/pasting.js.map +1 -0
  357. package/build-module/utils/transform-styles/ast/parse.js +5 -5
  358. package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
  359. package/build-module/utils/transform-styles/transforms/url-rewrite.js +2 -2
  360. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  361. package/build-style/style-rtl.css +7 -0
  362. package/build-style/style.css +7 -0
  363. package/package.json +27 -27
  364. package/src/autocompleters/link.js +62 -0
  365. package/src/autocompleters/style.scss +8 -0
  366. package/src/components/alignment-control/test/index.js +2 -2
  367. package/src/components/autocomplete/index.js +2 -0
  368. package/src/components/block-actions/index.js +1 -1
  369. package/src/components/block-alignment-control/test/index.js +1 -1
  370. package/src/components/block-breadcrumb/index.js +5 -2
  371. package/src/components/block-compare/index.js +2 -2
  372. package/src/components/block-controls/index.js +1 -1
  373. package/src/components/block-draggable/index.js +1 -1
  374. package/src/components/block-draggable/stories/index.js +1 -1
  375. package/src/components/block-edit/edit.js +1 -1
  376. package/src/components/block-list/block-html.js +1 -1
  377. package/src/components/block-list/block-invalid-warning.js +1 -1
  378. package/src/components/block-list/block-list-item.native.js +4 -4
  379. package/src/components/block-list/block-selection-button.native.js +3 -3
  380. package/src/components/block-list/block.js +1 -1
  381. package/src/components/block-list/block.native.js +5 -5
  382. package/src/components/block-list/index.native.js +5 -5
  383. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -1
  384. package/src/components/block-media-update-progress/index.native.js +4 -4
  385. package/src/components/block-media-update-progress/test/index.native.js +2 -2
  386. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  387. package/src/components/block-mobile-toolbar/index.native.js +2 -2
  388. package/src/components/block-mover/mover-description.js +4 -4
  389. package/src/components/block-mover/mover-description.native.js +5 -5
  390. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -8
  391. package/src/components/block-styles/preview.native.js +1 -1
  392. package/src/components/block-switcher/index.js +4 -1
  393. package/src/components/block-switcher/use-transformed-patterns.js +0 -1
  394. package/src/components/block-title/README.md +17 -1
  395. package/src/components/block-title/index.js +7 -62
  396. package/src/components/block-title/test/index.js +21 -3
  397. package/src/components/block-title/use-block-display-title.js +83 -0
  398. package/src/components/block-toolbar/utils.js +12 -2
  399. package/src/components/block-tools/block-popover.js +1 -1
  400. package/src/components/block-tools/block-selection-button.js +4 -1
  401. package/src/components/block-types-list/index.native.js +1 -1
  402. package/src/components/border-radius-control/index.js +5 -3
  403. package/src/components/border-radius-control/test/utils.js +10 -10
  404. package/src/components/border-radius-control/utils.js +10 -8
  405. package/src/components/contrast-checker/index.js +3 -3
  406. package/src/components/convert-to-group-buttons/index.js +1 -1
  407. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -6
  408. package/src/components/copy-handler/index.js +2 -2
  409. package/src/components/font-sizes/with-font-sizes.js +3 -3
  410. package/src/components/image-size-control/test/index.js +1 -1
  411. package/src/components/index.native.js +10 -4
  412. package/src/components/inserter/block-patterns-tab.js +1 -1
  413. package/src/components/inserter/block-types-tab.js +1 -1
  414. package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  415. package/src/components/inserter/index.js +3 -3
  416. package/src/components/inserter/index.native.js +7 -7
  417. package/src/components/inserter/menu.js +1 -1
  418. package/src/components/inserter/menu.native.js +3 -3
  419. package/src/components/inserter/quick-inserter.js +1 -1
  420. package/src/components/inserter/search-items.js +1 -1
  421. package/src/components/inserter/search-results.js +1 -1
  422. package/src/components/inserter/test/fixtures/index.native.js +1 -1
  423. package/src/components/inserter/test/reusable-blocks-tab.js +2 -2
  424. package/src/components/justify-content-control/README.md +1 -1
  425. package/src/components/keyboard-shortcuts/index.js +1 -1
  426. package/src/components/letter-spacing-control/index.js +1 -1
  427. package/src/components/line-height-control/index.js +4 -4
  428. package/src/components/line-height-control/index.native.js +2 -0
  429. package/src/components/link-control/index.js +2 -2
  430. package/src/components/link-control/search-input.js +1 -1
  431. package/src/components/link-control/search-results.js +2 -2
  432. package/src/components/link-control/test/index.js +142 -144
  433. package/src/components/link-control/use-rich-url-data.js +1 -1
  434. package/src/components/link-control/use-search-handler.js +2 -2
  435. package/src/components/list-view/block-select-button.js +1 -1
  436. package/src/components/list-view/block.js +1 -1
  437. package/src/components/media-placeholder/index.native.js +11 -9
  438. package/src/components/media-replace-flow/README.md +7 -0
  439. package/src/components/media-replace-flow/index.js +20 -26
  440. package/src/components/media-replace-flow/test/index.js +100 -0
  441. package/src/components/media-upload/index.native.js +3 -2
  442. package/src/components/media-upload-progress/index.native.js +2 -2
  443. package/src/components/navigable-toolbar/index.js +3 -3
  444. package/src/components/plain-text/index.native.js +3 -3
  445. package/src/components/responsive-block-control/test/index.js +6 -6
  446. package/src/components/rich-text/format-toolbar-container.js +2 -2
  447. package/src/components/rich-text/format-toolbar-container.native.js +1 -1
  448. package/src/components/rich-text/index.native.js +3 -3
  449. package/src/components/rich-text/use-paste-handler.js +7 -13
  450. package/src/components/url-input/index.js +11 -11
  451. package/src/components/use-block-drop-zone/test/index.js +1 -1
  452. package/src/components/use-moving-animation/index.js +1 -1
  453. package/src/components/use-on-block-drop/index.js +2 -2
  454. package/src/components/writing-flow/use-tab-nav.js +6 -3
  455. package/src/hooks/align.js +1 -1
  456. package/src/hooks/anchor.js +1 -1
  457. package/src/hooks/border.js +8 -19
  458. package/src/hooks/color.js +2 -2
  459. package/src/hooks/duotone.js +27 -3
  460. package/src/hooks/generated-class-name.js +3 -3
  461. package/src/hooks/lock.js +1 -1
  462. package/src/hooks/style.js +5 -2
  463. package/src/hooks/test/align.js +1 -1
  464. package/src/store/actions.js +4 -4
  465. package/src/store/defaults.js +1 -2
  466. package/src/store/reducer.js +11 -11
  467. package/src/store/selectors.js +6 -6
  468. package/src/store/test/actions.js +1 -1
  469. package/src/store/test/reducer.js +1 -1
  470. package/src/store/test/selectors.js +1 -1
  471. package/src/utils/parse-css-unit-to-px.js +3 -3
  472. package/src/utils/pasting.js +77 -0
  473. package/src/utils/test/parse-css-unit-to-px.js +5 -5
  474. package/src/utils/test/pasting.js +84 -0
  475. package/src/utils/transform-styles/ast/parse.js +5 -5
  476. package/src/utils/transform-styles/transforms/url-rewrite.js +2 -2
  477. package/build/utils/get-paste-event-data.js +0 -56
  478. package/build/utils/get-paste-event-data.js.map +0 -1
  479. package/build-module/utils/get-paste-event-data.js +0 -47
  480. package/build-module/utils/get-paste-event-data.js.map +0 -1
  481. package/src/utils/get-paste-event-data.js +0 -42
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-types-list/index.native.js"],"names":["Dimensions","FlatList","StyleSheet","TouchableWithoutFeedback","View","useState","useEffect","BottomSheet","InserterButton","styles","MIN_COL_NUM","BlockTypesList","name","items","onSelect","listProps","initialNumToRender","numberOfColumns","setNumberOfColumns","itemWidth","setItemWidth","maxWidth","setMaxWidth","dimensionsChangeSubscription","addEventListener","onLayout","remove","calculateItemWidth","paddingLeft","itemPaddingLeft","paddingRight","itemPaddingRight","Styles","modalItem","width","modalIconWrapper","columnStyle","sumLeftRightPadding","bottomSheetWidth","getWidth","containerTotalWidth","itemTotalWidth","columnsFitToWidth","Math","floor","numColumns","max","updatedItemWidth","contentContainerStyle","flatten","item","id","paddingBottom","safeAreaBottomInset"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tFlatList,\n\tStyleSheet,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { BottomSheet, InserterButton } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst MIN_COL_NUM = 3;\n\nexport default function BlockTypesList( {\n\tname,\n\titems,\n\tonSelect,\n\tlistProps,\n\tinitialNumToRender = 3,\n} ) {\n\tconst [ numberOfColumns, setNumberOfColumns ] = useState( MIN_COL_NUM );\n\tconst [ itemWidth, setItemWidth ] = useState();\n\tconst [ maxWidth, setMaxWidth ] = useState();\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonLayout\n\t\t);\n\t\tonLayout();\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tfunction calculateItemWidth() {\n\t\tconst {\n\t\t\tpaddingLeft: itemPaddingLeft,\n\t\t\tpaddingRight: itemPaddingRight,\n\t\t} = InserterButton.Styles.modalItem;\n\t\tconst { width } = InserterButton.Styles.modalIconWrapper;\n\t\treturn width + itemPaddingLeft + itemPaddingRight;\n\t}\n\n\tfunction onLayout() {\n\t\tconst columnStyle = styles[ 'block-types-list__column' ];\n\t\tconst sumLeftRightPadding =\n\t\t\tcolumnStyle.paddingLeft + columnStyle.paddingRight;\n\n\t\tconst bottomSheetWidth = BottomSheet.getWidth();\n\t\tconst containerTotalWidth = bottomSheetWidth - sumLeftRightPadding;\n\t\tconst itemTotalWidth = calculateItemWidth();\n\n\t\tconst columnsFitToWidth = Math.floor(\n\t\t\tcontainerTotalWidth / itemTotalWidth\n\t\t);\n\n\t\tconst numColumns = Math.max( MIN_COL_NUM, columnsFitToWidth );\n\n\t\tsetNumberOfColumns( numColumns );\n\t\tsetMaxWidth( containerTotalWidth / numColumns );\n\n\t\tif ( columnsFitToWidth < MIN_COL_NUM ) {\n\t\t\tconst updatedItemWidth =\n\t\t\t\t( bottomSheetWidth - 2 * sumLeftRightPadding ) / MIN_COL_NUM;\n\t\t\tsetItemWidth( updatedItemWidth );\n\t\t}\n\t}\n\n\tconst contentContainerStyle = StyleSheet.flatten(\n\t\tlistProps.contentContainerStyle\n\t);\n\n\treturn (\n\t\t<FlatList\n\t\t\tonLayout={ onLayout }\n\t\t\tkey={ `InserterUI-${ name }-${ numberOfColumns }` } //re-render when numberOfColumns changes\n\t\t\ttestID={ `InserterUI-${ name }` }\n\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\tnumColumns={ numberOfColumns }\n\t\t\tdata={ items }\n\t\t\tinitialNumToRender={ initialNumToRender }\n\t\t\tItemSeparatorComponent={ () => (\n\t\t\t\t<TouchableWithoutFeedback accessible={ false }>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles[ 'block-types-list__row-separator' ] }\n\t\t\t\t\t/>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t) }\n\t\t\tkeyExtractor={ ( item ) => item.id }\n\t\t\trenderItem={ ( { item } ) => (\n\t\t\t\t<InserterButton\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\titem,\n\t\t\t\t\t\titemWidth,\n\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\tonSelect,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ...listProps }\n\t\t\tcontentContainerStyle={ {\n\t\t\t\t...contentContainerStyle,\n\t\t\t\tpaddingBottom: Math.max(\n\t\t\t\t\tlistProps.safeAreaBottomInset,\n\t\t\t\t\tcontentContainerStyle.paddingBottom\n\t\t\t\t),\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-types-list/index.native.js"],"names":["Dimensions","FlatList","StyleSheet","TouchableWithoutFeedback","View","useState","useEffect","BottomSheet","InserterButton","styles","MIN_COL_NUM","BlockTypesList","name","items","onSelect","listProps","initialNumToRender","numberOfColumns","setNumberOfColumns","itemWidth","setItemWidth","maxWidth","setMaxWidth","dimensionsChangeSubscription","addEventListener","onLayout","remove","calculateItemWidth","paddingLeft","itemPaddingLeft","paddingRight","itemPaddingRight","Styles","modalItem","width","modalIconWrapper","columnStyle","sumLeftRightPadding","bottomSheetWidth","getWidth","containerTotalWidth","itemTotalWidth","columnsFitToWidth","Math","floor","numColumns","max","updatedItemWidth","contentContainerStyle","flatten","item","id","paddingBottom","safeAreaBottomInset"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tFlatList,\n\tStyleSheet,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { BottomSheet, InserterButton } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst MIN_COL_NUM = 3;\n\nexport default function BlockTypesList( {\n\tname,\n\titems,\n\tonSelect,\n\tlistProps,\n\tinitialNumToRender = 3,\n} ) {\n\tconst [ numberOfColumns, setNumberOfColumns ] = useState( MIN_COL_NUM );\n\tconst [ itemWidth, setItemWidth ] = useState();\n\tconst [ maxWidth, setMaxWidth ] = useState();\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonLayout\n\t\t);\n\t\tonLayout();\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tfunction calculateItemWidth() {\n\t\tconst {\n\t\t\tpaddingLeft: itemPaddingLeft,\n\t\t\tpaddingRight: itemPaddingRight,\n\t\t} = InserterButton.Styles.modalItem;\n\t\tconst { width } = InserterButton.Styles.modalIconWrapper;\n\t\treturn width + itemPaddingLeft + itemPaddingRight;\n\t}\n\n\tfunction onLayout() {\n\t\tconst columnStyle = styles[ 'block-types-list__column' ];\n\t\tconst sumLeftRightPadding =\n\t\t\tcolumnStyle.paddingLeft + columnStyle.paddingRight;\n\n\t\tconst bottomSheetWidth = BottomSheet.getWidth();\n\t\tconst containerTotalWidth = bottomSheetWidth - sumLeftRightPadding;\n\t\tconst itemTotalWidth = calculateItemWidth();\n\n\t\tconst columnsFitToWidth = Math.floor(\n\t\t\tcontainerTotalWidth / itemTotalWidth\n\t\t);\n\n\t\tconst numColumns = Math.max( MIN_COL_NUM, columnsFitToWidth );\n\n\t\tsetNumberOfColumns( numColumns );\n\t\tsetMaxWidth( containerTotalWidth / numColumns );\n\n\t\tif ( columnsFitToWidth < MIN_COL_NUM ) {\n\t\t\tconst updatedItemWidth =\n\t\t\t\t( bottomSheetWidth - 2 * sumLeftRightPadding ) / MIN_COL_NUM;\n\t\t\tsetItemWidth( updatedItemWidth );\n\t\t}\n\t}\n\n\tconst contentContainerStyle = StyleSheet.flatten(\n\t\tlistProps.contentContainerStyle\n\t);\n\n\treturn (\n\t\t<FlatList\n\t\t\tonLayout={ onLayout }\n\t\t\tkey={ `InserterUI-${ name }-${ numberOfColumns }` } // Re-render when numberOfColumns changes.\n\t\t\ttestID={ `InserterUI-${ name }` }\n\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\tnumColumns={ numberOfColumns }\n\t\t\tdata={ items }\n\t\t\tinitialNumToRender={ initialNumToRender }\n\t\t\tItemSeparatorComponent={ () => (\n\t\t\t\t<TouchableWithoutFeedback accessible={ false }>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles[ 'block-types-list__row-separator' ] }\n\t\t\t\t\t/>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t) }\n\t\t\tkeyExtractor={ ( item ) => item.id }\n\t\t\trenderItem={ ( { item } ) => (\n\t\t\t\t<InserterButton\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\titem,\n\t\t\t\t\t\titemWidth,\n\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\tonSelect,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ...listProps }\n\t\t\tcontentContainerStyle={ {\n\t\t\t\t...contentContainerStyle,\n\t\t\t\tpaddingBottom: Math.max(\n\t\t\t\t\tlistProps.safeAreaBottomInset,\n\t\t\t\t\tcontentContainerStyle.paddingBottom\n\t\t\t\t),\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { RangeControl, __experimentalParseUnit as parseUnit, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
6
+ import { RangeControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
7
7
  import { useState } from '@wordpress/element';
8
8
  import { __ } from '@wordpress/i18n';
9
9
  /**
@@ -49,7 +49,7 @@ export default function BorderRadiusControl(_ref) {
49
49
  const unit = getAllUnit(values);
50
50
  const unitConfig = units && units.find(item => item.value === unit);
51
51
  const step = (unitConfig === null || unitConfig === void 0 ? void 0 : unitConfig.step) || 1;
52
- const [allValue] = parseUnit(getAllValue(values));
52
+ const [allValue] = parseQuantityAndUnitFromRawValue(getAllValue(values));
53
53
 
54
54
  const toggleLinked = () => setIsLinked(!isLinked);
55
55
 
@@ -70,7 +70,7 @@ export default function BorderRadiusControl(_ref) {
70
70
  units: units
71
71
  }), createElement(RangeControl, {
72
72
  className: "components-border-radius-control__range-control",
73
- value: allValue,
73
+ value: allValue !== null && allValue !== void 0 ? allValue : '',
74
74
  min: MIN_BORDER_RADIUS_VALUE,
75
75
  max: MAX_BORDER_RADIUS_VALUES[unit],
76
76
  initialPosition: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/border-radius-control/index.js"],"names":["RangeControl","__experimentalParseUnit","parseUnit","__experimentalUseCustomUnits","useCustomUnits","useState","__","AllInputControl","InputControls","LinkedButton","useSetting","getAllValue","getAllUnit","hasDefinedValues","hasMixedValues","DEFAULT_VALUES","topLeft","topRight","bottomLeft","bottomRight","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUES","px","em","rem","BorderRadiusControl","onChange","values","isLinked","setIsLinked","units","availableUnits","unit","unitConfig","find","item","value","step","allValue","toggleLinked","handleSliderChange","next","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalParseUnit as parseUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport LinkedButton from './linked-button';\nimport useSetting from '../use-setting';\nimport {\n\tgetAllValue,\n\tgetAllUnit,\n\thasDefinedValues,\n\thasMixedValues,\n} from './utils';\n\nconst DEFAULT_VALUES = {\n\ttopLeft: null,\n\ttopRight: null,\n\tbottomLeft: null,\n\tbottomRight: null,\n};\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUES = {\n\tpx: 100,\n\tem: 20,\n\trem: 20,\n};\n\n/**\n * Control to display border radius options.\n *\n * @param {Object} props Component props.\n * @param {Function} props.onChange Callback to handle onChange.\n * @param {Object} props.values Border radius values.\n *\n * @return {WPElement} Custom border radius control.\n */\nexport default function BorderRadiusControl( { onChange, values } ) {\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasDefinedValues( values ) || ! hasMixedValues( values )\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tconst unit = getAllUnit( values );\n\tconst unitConfig = units && units.find( ( item ) => item.value === unit );\n\tconst step = unitConfig?.step || 1;\n\n\tconst [ allValue ] = parseUnit( getAllValue( values ) );\n\n\tconst toggleLinked = () => setIsLinked( ! isLinked );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( next !== undefined ? `${ next }${ unit }` : undefined );\n\t};\n\n\treturn (\n\t\t<fieldset className=\"components-border-radius-control\">\n\t\t\t<legend>{ __( 'Radius' ) }</legend>\n\t\t\t<div className=\"components-border-radius-control__wrapper\">\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\tclassName=\"components-border-radius-control__unit-control\"\n\t\t\t\t\t\t\tvalues={ values }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tunit={ unit }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tclassName=\"components-border-radius-control__range-control\"\n\t\t\t\t\t\t\tvalue={ allValue }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUES[ unit ] }\n\t\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<InputControls\n\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tvalues={ values || DEFAULT_VALUES }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkedButton onClick={ toggleLinked } isLinked={ isLinked } />\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/border-radius-control/index.js"],"names":["RangeControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalUseCustomUnits","useCustomUnits","useState","__","AllInputControl","InputControls","LinkedButton","useSetting","getAllValue","getAllUnit","hasDefinedValues","hasMixedValues","DEFAULT_VALUES","topLeft","topRight","bottomLeft","bottomRight","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUES","px","em","rem","BorderRadiusControl","onChange","values","isLinked","setIsLinked","units","availableUnits","unit","unitConfig","find","item","value","step","allValue","toggleLinked","handleSliderChange","next","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport LinkedButton from './linked-button';\nimport useSetting from '../use-setting';\nimport {\n\tgetAllValue,\n\tgetAllUnit,\n\thasDefinedValues,\n\thasMixedValues,\n} from './utils';\n\nconst DEFAULT_VALUES = {\n\ttopLeft: null,\n\ttopRight: null,\n\tbottomLeft: null,\n\tbottomRight: null,\n};\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUES = {\n\tpx: 100,\n\tem: 20,\n\trem: 20,\n};\n\n/**\n * Control to display border radius options.\n *\n * @param {Object} props Component props.\n * @param {Function} props.onChange Callback to handle onChange.\n * @param {Object} props.values Border radius values.\n *\n * @return {WPElement} Custom border radius control.\n */\nexport default function BorderRadiusControl( { onChange, values } ) {\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasDefinedValues( values ) || ! hasMixedValues( values )\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tconst unit = getAllUnit( values );\n\tconst unitConfig = units && units.find( ( item ) => item.value === unit );\n\tconst step = unitConfig?.step || 1;\n\n\tconst [ allValue ] = parseQuantityAndUnitFromRawValue(\n\t\tgetAllValue( values )\n\t);\n\n\tconst toggleLinked = () => setIsLinked( ! isLinked );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( next !== undefined ? `${ next }${ unit }` : undefined );\n\t};\n\n\treturn (\n\t\t<fieldset className=\"components-border-radius-control\">\n\t\t\t<legend>{ __( 'Radius' ) }</legend>\n\t\t\t<div className=\"components-border-radius-control__wrapper\">\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\tclassName=\"components-border-radius-control__unit-control\"\n\t\t\t\t\t\t\tvalues={ values }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tunit={ unit }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tclassName=\"components-border-radius-control__range-control\"\n\t\t\t\t\t\t\tvalue={ allValue ?? '' }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUES[ unit ] }\n\t\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<InputControls\n\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tvalues={ values || DEFAULT_VALUES }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkedButton onClick={ toggleLinked } isLinked={ isLinked } />\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __experimentalParseUnit as parseUnit } from '@wordpress/components';
4
+ import { __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
5
5
  /**
6
6
  * Gets the (non-undefined) item with the highest occurrence within an array
7
7
  * Based in part on: https://stackoverflow.com/a/20762713
@@ -32,12 +32,12 @@ export function getAllUnit() {
32
32
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
33
33
 
34
34
  if (typeof values === 'string') {
35
- const [, unit] = parseUnit(values);
35
+ const [, unit] = parseQuantityAndUnitFromRawValue(values);
36
36
  return unit || 'px';
37
37
  }
38
38
 
39
39
  const allUnits = Object.values(values).map(value => {
40
- const [, unit] = parseUnit(value);
40
+ const [, unit] = parseQuantityAndUnitFromRawValue(value);
41
41
  return unit;
42
42
  });
43
43
  return mode(allUnits) || 'px';
@@ -61,12 +61,16 @@ export function getAllValue() {
61
61
  return values;
62
62
  }
63
63
 
64
- const parsedValues = Object.values(values).map(value => parseUnit(value));
65
- const allValues = parsedValues.map(value => value[0]);
66
- const allUnits = parsedValues.map(value => value[1]);
64
+ const parsedQuantitiesAndUnits = Object.values(values).map(value => parseQuantityAndUnitFromRawValue(value));
65
+ const allValues = parsedQuantitiesAndUnits.map(value => {
66
+ var _value$;
67
+
68
+ return (_value$ = value[0]) !== null && _value$ !== void 0 ? _value$ : '';
69
+ });
70
+ const allUnits = parsedQuantitiesAndUnits.map(value => value[1]);
67
71
  const value = allValues.every(v => v === allValues[0]) ? allValues[0] : '';
68
72
  const unit = mode(allUnits);
69
- const allValue = value === 0 || value ? `${value}${unit}` : null;
73
+ const allValue = value === 0 || value ? `${value}${unit}` : undefined;
70
74
  return allValue;
71
75
  }
72
76
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/border-radius-control/utils.js"],"names":["__experimentalParseUnit","parseUnit","mode","inputArray","arr","sort","a","b","filter","v","length","shift","getAllUnit","values","unit","allUnits","Object","map","value","getAllValue","parsedValues","allValues","every","allValue","hasMixedValues","isMixed","isNaN","parseFloat","hasDefinedValues","filteredValues"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalParseUnit as parseUnit } from '@wordpress/components';\n\n/**\n * Gets the (non-undefined) item with the highest occurrence within an array\n * Based in part on: https://stackoverflow.com/a/20762713\n *\n * Undefined values are always sorted to the end by `sort`, so this function\n * returns the first element, to always prioritize real values over undefined\n * values.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description\n *\n * @param {Array<any>} inputArray Array of items to check.\n * @return {any} The item with the most occurrences.\n */\nexport function mode( inputArray ) {\n\tconst arr = [ ...inputArray ];\n\treturn arr\n\t\t.sort(\n\t\t\t( a, b ) =>\n\t\t\t\tinputArray.filter( ( v ) => v === b ).length -\n\t\t\t\tinputArray.filter( ( v ) => v === a ).length\n\t\t)\n\t\t.shift();\n}\n\n/**\n * Returns the most common CSS unit in the radius values.\n * Falls back to `px` as a default unit.\n *\n * @param {Object|string} values Radius values.\n * @return {string} Most common CSS unit in values. Default: `px`.\n */\nexport function getAllUnit( values = {} ) {\n\tif ( typeof values === 'string' ) {\n\t\tconst [ , unit ] = parseUnit( values );\n\t\treturn unit || 'px';\n\t}\n\n\tconst allUnits = Object.values( values ).map( ( value ) => {\n\t\tconst [ , unit ] = parseUnit( value );\n\t\treturn unit;\n\t} );\n\n\treturn mode( allUnits ) || 'px';\n}\n\n/**\n * Gets the 'all' input value and unit from values data.\n *\n * @param {Object|string} values Radius values.\n * @return {string} A value + unit for the 'all' input.\n */\nexport function getAllValue( values = {} ) {\n\t/**\n\t * Border radius support was originally a single pixel value.\n\t *\n\t * To maintain backwards compatibility treat this case as the all value.\n\t */\n\tif ( typeof values === 'string' ) {\n\t\treturn values;\n\t}\n\n\tconst parsedValues = Object.values( values ).map( ( value ) =>\n\t\tparseUnit( value )\n\t);\n\n\tconst allValues = parsedValues.map( ( value ) => value[ 0 ] );\n\tconst allUnits = parsedValues.map( ( value ) => value[ 1 ] );\n\n\tconst value = allValues.every( ( v ) => v === allValues[ 0 ] )\n\t\t? allValues[ 0 ]\n\t\t: '';\n\tconst unit = mode( allUnits );\n\n\tconst allValue = value === 0 || value ? `${ value }${ unit }` : null;\n\n\treturn allValue;\n}\n\n/**\n * Checks to determine if values are mixed.\n *\n * @param {Object} values Radius values.\n * @return {boolean} Whether values are mixed.\n */\nexport function hasMixedValues( values = {} ) {\n\tconst allValue = getAllValue( values );\n\tconst isMixed = isNaN( parseFloat( allValue ) );\n\n\treturn isMixed;\n}\n\n/**\n * Checks to determine if values are defined.\n *\n * @param {Object} values Radius values.\n * @return {boolean} Whether values are mixed.\n */\nexport function hasDefinedValues( values ) {\n\tif ( ! values ) {\n\t\treturn false;\n\t}\n\n\t// A string value represents a shorthand value.\n\tif ( typeof values === 'string' ) {\n\t\treturn true;\n\t}\n\n\t// An object represents longhand border radius values, if any are set\n\t// flag values as being defined.\n\tconst filteredValues = Object.values( values ).filter( ( value ) => {\n\t\treturn !! value || value === 0;\n\t} );\n\n\treturn !! filteredValues.length;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/border-radius-control/utils.js"],"names":["__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","mode","inputArray","arr","sort","a","b","filter","v","length","shift","getAllUnit","values","unit","allUnits","Object","map","value","getAllValue","parsedQuantitiesAndUnits","allValues","every","allValue","undefined","hasMixedValues","isMixed","isNaN","parseFloat","hasDefinedValues","filteredValues"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';\n\n/**\n * Gets the (non-undefined) item with the highest occurrence within an array\n * Based in part on: https://stackoverflow.com/a/20762713\n *\n * Undefined values are always sorted to the end by `sort`, so this function\n * returns the first element, to always prioritize real values over undefined\n * values.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description\n *\n * @param {Array<any>} inputArray Array of items to check.\n * @return {any} The item with the most occurrences.\n */\nexport function mode( inputArray ) {\n\tconst arr = [ ...inputArray ];\n\treturn arr\n\t\t.sort(\n\t\t\t( a, b ) =>\n\t\t\t\tinputArray.filter( ( v ) => v === b ).length -\n\t\t\t\tinputArray.filter( ( v ) => v === a ).length\n\t\t)\n\t\t.shift();\n}\n\n/**\n * Returns the most common CSS unit in the radius values.\n * Falls back to `px` as a default unit.\n *\n * @param {Object|string} values Radius values.\n * @return {string} Most common CSS unit in values. Default: `px`.\n */\nexport function getAllUnit( values = {} ) {\n\tif ( typeof values === 'string' ) {\n\t\tconst [ , unit ] = parseQuantityAndUnitFromRawValue( values );\n\t\treturn unit || 'px';\n\t}\n\n\tconst allUnits = Object.values( values ).map( ( value ) => {\n\t\tconst [ , unit ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn unit;\n\t} );\n\n\treturn mode( allUnits ) || 'px';\n}\n\n/**\n * Gets the 'all' input value and unit from values data.\n *\n * @param {Object|string} values Radius values.\n * @return {string} A value + unit for the 'all' input.\n */\nexport function getAllValue( values = {} ) {\n\t/**\n\t * Border radius support was originally a single pixel value.\n\t *\n\t * To maintain backwards compatibility treat this case as the all value.\n\t */\n\tif ( typeof values === 'string' ) {\n\t\treturn values;\n\t}\n\n\tconst parsedQuantitiesAndUnits = Object.values( values ).map( ( value ) =>\n\t\tparseQuantityAndUnitFromRawValue( value )\n\t);\n\n\tconst allValues = parsedQuantitiesAndUnits.map(\n\t\t( value ) => value[ 0 ] ?? ''\n\t);\n\tconst allUnits = parsedQuantitiesAndUnits.map( ( value ) => value[ 1 ] );\n\n\tconst value = allValues.every( ( v ) => v === allValues[ 0 ] )\n\t\t? allValues[ 0 ]\n\t\t: '';\n\tconst unit = mode( allUnits );\n\n\tconst allValue = value === 0 || value ? `${ value }${ unit }` : undefined;\n\n\treturn allValue;\n}\n\n/**\n * Checks to determine if values are mixed.\n *\n * @param {Object} values Radius values.\n * @return {boolean} Whether values are mixed.\n */\nexport function hasMixedValues( values = {} ) {\n\tconst allValue = getAllValue( values );\n\tconst isMixed = isNaN( parseFloat( allValue ) );\n\n\treturn isMixed;\n}\n\n/**\n * Checks to determine if values are defined.\n *\n * @param {Object} values Radius values.\n * @return {boolean} Whether values are mixed.\n */\nexport function hasDefinedValues( values ) {\n\tif ( ! values ) {\n\t\treturn false;\n\t}\n\n\t// A string value represents a shorthand value.\n\tif ( typeof values === 'string' ) {\n\t\treturn true;\n\t}\n\n\t// An object represents longhand border radius values, if any are set\n\t// flag values as being defined.\n\tconst filteredValues = Object.values( values ).filter( ( value ) => {\n\t\treturn !! value || value === 0;\n\t} );\n\n\treturn !! filteredValues.length;\n}\n"]}
@@ -22,7 +22,7 @@ function ContrastChecker(_ref) {
22
22
  fallbackTextColor,
23
23
  fallbackLinkColor,
24
24
  fontSize,
25
- // font size value in pixels
25
+ // Font size value in pixels.
26
26
  isLargeText,
27
27
  textColor,
28
28
  linkColor,
@@ -74,8 +74,8 @@ function ContrastChecker(_ref) {
74
74
  continue;
75
75
  }
76
76
 
77
- message = backgroundColorBrightness < colordTextColor.brightness() ? sprintf( // translators: %s is a type of text color, e.g., "text color" or "link color"
78
- __('This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'), item.description) : sprintf( // translators: %s is a type of text color, e.g., "text color" or "link color"
77
+ message = backgroundColorBrightness < colordTextColor.brightness() ? sprintf( // translators: %s is a type of text color, e.g., "text color" or "link color".
78
+ __('This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'), item.description) : sprintf( // translators: %s is a type of text color, e.g., "text color" or "link color".
79
79
  __('This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'), item.description);
80
80
  speakMessage = __('This color combination may be hard for people to read.'); // Break from the loop when we have a contrast warning.
81
81
  // These messages take priority over the transparency warning.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/contrast-checker/index.js"],"names":["a11yPlugin","namesPlugin","colord","extend","__","sprintf","Notice","speak","ContrastChecker","backgroundColor","fallbackBackgroundColor","fallbackTextColor","fallbackLinkColor","fontSize","isLargeText","textColor","linkColor","enableAlphaChecker","currentBackgroundColor","currentTextColor","currentLinkColor","textColors","color","description","colordBackgroundColor","backgroundColorHasTransparency","alpha","backgroundColorBrightness","brightness","isReadableOptions","level","size","message","speakMessage","item","colordTextColor","isColordTextReadable","isReadable","textHasTransparency"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport a11yPlugin from 'colord/plugins/a11y';\nimport namesPlugin from 'colord/plugins/names';\nimport { colord, extend } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Notice } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction ContrastChecker( {\n\tbackgroundColor,\n\tfallbackBackgroundColor,\n\tfallbackTextColor,\n\tfallbackLinkColor,\n\tfontSize, // font size value in pixels\n\tisLargeText,\n\ttextColor,\n\tlinkColor,\n\tenableAlphaChecker = false,\n} ) {\n\tconst currentBackgroundColor = backgroundColor || fallbackBackgroundColor;\n\n\t// Must have a background color.\n\tif ( ! currentBackgroundColor ) {\n\t\treturn null;\n\t}\n\n\tconst currentTextColor = textColor || fallbackTextColor;\n\tconst currentLinkColor = linkColor || fallbackLinkColor;\n\n\t// Must have at least one text color.\n\tif ( ! currentTextColor && ! currentLinkColor ) {\n\t\treturn null;\n\t}\n\n\tconst textColors = [\n\t\t{\n\t\t\tcolor: currentTextColor,\n\t\t\tdescription: __( 'text color' ),\n\t\t},\n\t\t{\n\t\t\tcolor: currentLinkColor,\n\t\t\tdescription: __( 'link color' ),\n\t\t},\n\t];\n\tconst colordBackgroundColor = colord( currentBackgroundColor );\n\tconst backgroundColorHasTransparency = colordBackgroundColor.alpha() < 1;\n\tconst backgroundColorBrightness = colordBackgroundColor.brightness();\n\tconst isReadableOptions = {\n\t\tlevel: 'AA',\n\t\tsize:\n\t\t\tisLargeText || ( isLargeText !== false && fontSize >= 24 )\n\t\t\t\t? 'large'\n\t\t\t\t: 'small',\n\t};\n\n\tlet message = '';\n\tlet speakMessage = '';\n\tfor ( const item of textColors ) {\n\t\t// If there is no color, go no further.\n\t\tif ( ! item.color ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst colordTextColor = colord( item.color );\n\t\tconst isColordTextReadable = colordTextColor.isReadable(\n\t\t\tcolordBackgroundColor,\n\t\t\tisReadableOptions\n\t\t);\n\t\tconst textHasTransparency = colordTextColor.alpha() < 1;\n\n\t\t// If the contrast is not readable.\n\t\tif ( ! isColordTextReadable ) {\n\t\t\t// Don't show the message if the background or text is transparent.\n\t\t\tif ( backgroundColorHasTransparency || textHasTransparency ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmessage =\n\t\t\t\tbackgroundColorBrightness < colordTextColor.brightness()\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s is a type of text color, e.g., \"text color\" or \"link color\"\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\titem.description\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a type of text color, e.g., \"text color\" or \"link color\"\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\titem.description\n\t\t\t\t\t );\n\t\t\tspeakMessage = __(\n\t\t\t\t'This color combination may be hard for people to read.'\n\t\t\t);\n\t\t\t// Break from the loop when we have a contrast warning.\n\t\t\t// These messages take priority over the transparency warning.\n\t\t\tbreak;\n\t\t}\n\n\t\t// If there is no contrast warning and the text is transparent,\n\t\t// show the transparent warning if alpha check is enabled.\n\t\tif ( textHasTransparency && enableAlphaChecker ) {\n\t\t\tmessage = __( 'Transparent text may be hard for people to read.' );\n\t\t\tspeakMessage = __(\n\t\t\t\t'Transparent text may be hard for people to read.'\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( ! message ) {\n\t\treturn null;\n\t}\n\n\t// Note: The `Notice` component can speak messages via its `spokenMessage`\n\t// prop, but the contrast checker requires granular control over when the\n\t// announcements are made. Notably, the message will be re-announced if a\n\t// new color combination is selected and the contrast is still insufficient.\n\tspeak( speakMessage );\n\n\treturn (\n\t\t<div className=\"block-editor-contrast-checker\">\n\t\t\t<Notice\n\t\t\t\tspokenMessage={ null }\n\t\t\t\tstatus=\"warning\"\n\t\t\t\tisDismissible={ false }\n\t\t\t>\n\t\t\t\t{ message }\n\t\t\t</Notice>\n\t\t</div>\n\t);\n}\n\nexport default ContrastChecker;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/contrast-checker/index.js"],"names":["a11yPlugin","namesPlugin","colord","extend","__","sprintf","Notice","speak","ContrastChecker","backgroundColor","fallbackBackgroundColor","fallbackTextColor","fallbackLinkColor","fontSize","isLargeText","textColor","linkColor","enableAlphaChecker","currentBackgroundColor","currentTextColor","currentLinkColor","textColors","color","description","colordBackgroundColor","backgroundColorHasTransparency","alpha","backgroundColorBrightness","brightness","isReadableOptions","level","size","message","speakMessage","item","colordTextColor","isColordTextReadable","isReadable","textHasTransparency"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,qBAAvB;AACA,OAAOC,WAAP,MAAwB,sBAAxB;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,QAA/B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,KAAT,QAAsB,iBAAtB;AAEAJ,MAAM,CAAE,CAAEF,WAAF,EAAeD,UAAf,CAAF,CAAN;;AAEA,SAASQ,eAAT,OAUI;AAAA,MAVsB;AACzBC,IAAAA,eADyB;AAEzBC,IAAAA,uBAFyB;AAGzBC,IAAAA,iBAHyB;AAIzBC,IAAAA,iBAJyB;AAKzBC,IAAAA,QALyB;AAKf;AACVC,IAAAA,WANyB;AAOzBC,IAAAA,SAPyB;AAQzBC,IAAAA,SARyB;AASzBC,IAAAA,kBAAkB,GAAG;AATI,GAUtB;AACH,QAAMC,sBAAsB,GAAGT,eAAe,IAAIC,uBAAlD,CADG,CAGH;;AACA,MAAK,CAAEQ,sBAAP,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,QAAMC,gBAAgB,GAAGJ,SAAS,IAAIJ,iBAAtC;AACA,QAAMS,gBAAgB,GAAGJ,SAAS,IAAIJ,iBAAtC,CATG,CAWH;;AACA,MAAK,CAAEO,gBAAF,IAAsB,CAAEC,gBAA7B,EAAgD;AAC/C,WAAO,IAAP;AACA;;AAED,QAAMC,UAAU,GAAG,CAClB;AACCC,IAAAA,KAAK,EAAEH,gBADR;AAECI,IAAAA,WAAW,EAAEnB,EAAE,CAAE,YAAF;AAFhB,GADkB,EAKlB;AACCkB,IAAAA,KAAK,EAAEF,gBADR;AAECG,IAAAA,WAAW,EAAEnB,EAAE,CAAE,YAAF;AAFhB,GALkB,CAAnB;AAUA,QAAMoB,qBAAqB,GAAGtB,MAAM,CAAEgB,sBAAF,CAApC;AACA,QAAMO,8BAA8B,GAAGD,qBAAqB,CAACE,KAAtB,KAAgC,CAAvE;AACA,QAAMC,yBAAyB,GAAGH,qBAAqB,CAACI,UAAtB,EAAlC;AACA,QAAMC,iBAAiB,GAAG;AACzBC,IAAAA,KAAK,EAAE,IADkB;AAEzBC,IAAAA,IAAI,EACHjB,WAAW,IAAMA,WAAW,KAAK,KAAhB,IAAyBD,QAAQ,IAAI,EAAtD,GACG,OADH,GAEG;AALqB,GAA1B;AAQA,MAAImB,OAAO,GAAG,EAAd;AACA,MAAIC,YAAY,GAAG,EAAnB;;AACA,OAAM,MAAMC,IAAZ,IAAoBb,UAApB,EAAiC;AAChC;AACA,QAAK,CAAEa,IAAI,CAACZ,KAAZ,EAAoB;AACnB;AACA;;AACD,UAAMa,eAAe,GAAGjC,MAAM,CAAEgC,IAAI,CAACZ,KAAP,CAA9B;AACA,UAAMc,oBAAoB,GAAGD,eAAe,CAACE,UAAhB,CAC5Bb,qBAD4B,EAE5BK,iBAF4B,CAA7B;AAIA,UAAMS,mBAAmB,GAAGH,eAAe,CAACT,KAAhB,KAA0B,CAAtD,CAVgC,CAYhC;;AACA,QAAK,CAAEU,oBAAP,EAA8B;AAC7B;AACA,UAAKX,8BAA8B,IAAIa,mBAAvC,EAA6D;AAC5D;AACA;;AACDN,MAAAA,OAAO,GACNL,yBAAyB,GAAGQ,eAAe,CAACP,UAAhB,EAA5B,GACGvB,OAAO,EACP;AACAD,MAAAA,EAAE,CACD,kHADC,CAFK,EAKP8B,IAAI,CAACX,WALE,CADV,GAQGlB,OAAO,EACP;AACAD,MAAAA,EAAE,CACD,kHADC,CAFK,EAKP8B,IAAI,CAACX,WALE,CATX;AAgBAU,MAAAA,YAAY,GAAG7B,EAAE,CAChB,wDADgB,CAAjB,CArB6B,CAwB7B;AACA;;AACA;AACA,KAxC+B,CA0ChC;AACA;;;AACA,QAAKkC,mBAAmB,IAAIrB,kBAA5B,EAAiD;AAChDe,MAAAA,OAAO,GAAG5B,EAAE,CAAE,kDAAF,CAAZ;AACA6B,MAAAA,YAAY,GAAG7B,EAAE,CAChB,kDADgB,CAAjB;AAGA;AACD;;AAED,MAAK,CAAE4B,OAAP,EAAiB;AAChB,WAAO,IAAP;AACA,GA7FE,CA+FH;AACA;AACA;AACA;;;AACAzB,EAAAA,KAAK,CAAE0B,YAAF,CAAL;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,MAAD;AACC,IAAA,aAAa,EAAG,IADjB;AAEC,IAAA,MAAM,EAAC,SAFR;AAGC,IAAA,aAAa,EAAG;AAHjB,KAKGD,OALH,CADD,CADD;AAWA;;AAED,eAAexB,eAAf","sourcesContent":["/**\n * External dependencies\n */\nimport a11yPlugin from 'colord/plugins/a11y';\nimport namesPlugin from 'colord/plugins/names';\nimport { colord, extend } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Notice } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction ContrastChecker( {\n\tbackgroundColor,\n\tfallbackBackgroundColor,\n\tfallbackTextColor,\n\tfallbackLinkColor,\n\tfontSize, // Font size value in pixels.\n\tisLargeText,\n\ttextColor,\n\tlinkColor,\n\tenableAlphaChecker = false,\n} ) {\n\tconst currentBackgroundColor = backgroundColor || fallbackBackgroundColor;\n\n\t// Must have a background color.\n\tif ( ! currentBackgroundColor ) {\n\t\treturn null;\n\t}\n\n\tconst currentTextColor = textColor || fallbackTextColor;\n\tconst currentLinkColor = linkColor || fallbackLinkColor;\n\n\t// Must have at least one text color.\n\tif ( ! currentTextColor && ! currentLinkColor ) {\n\t\treturn null;\n\t}\n\n\tconst textColors = [\n\t\t{\n\t\t\tcolor: currentTextColor,\n\t\t\tdescription: __( 'text color' ),\n\t\t},\n\t\t{\n\t\t\tcolor: currentLinkColor,\n\t\t\tdescription: __( 'link color' ),\n\t\t},\n\t];\n\tconst colordBackgroundColor = colord( currentBackgroundColor );\n\tconst backgroundColorHasTransparency = colordBackgroundColor.alpha() < 1;\n\tconst backgroundColorBrightness = colordBackgroundColor.brightness();\n\tconst isReadableOptions = {\n\t\tlevel: 'AA',\n\t\tsize:\n\t\t\tisLargeText || ( isLargeText !== false && fontSize >= 24 )\n\t\t\t\t? 'large'\n\t\t\t\t: 'small',\n\t};\n\n\tlet message = '';\n\tlet speakMessage = '';\n\tfor ( const item of textColors ) {\n\t\t// If there is no color, go no further.\n\t\tif ( ! item.color ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst colordTextColor = colord( item.color );\n\t\tconst isColordTextReadable = colordTextColor.isReadable(\n\t\t\tcolordBackgroundColor,\n\t\t\tisReadableOptions\n\t\t);\n\t\tconst textHasTransparency = colordTextColor.alpha() < 1;\n\n\t\t// If the contrast is not readable.\n\t\tif ( ! isColordTextReadable ) {\n\t\t\t// Don't show the message if the background or text is transparent.\n\t\t\tif ( backgroundColorHasTransparency || textHasTransparency ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmessage =\n\t\t\t\tbackgroundColorBrightness < colordTextColor.brightness()\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s is a type of text color, e.g., \"text color\" or \"link color\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\titem.description\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a type of text color, e.g., \"text color\" or \"link color\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\titem.description\n\t\t\t\t\t );\n\t\t\tspeakMessage = __(\n\t\t\t\t'This color combination may be hard for people to read.'\n\t\t\t);\n\t\t\t// Break from the loop when we have a contrast warning.\n\t\t\t// These messages take priority over the transparency warning.\n\t\t\tbreak;\n\t\t}\n\n\t\t// If there is no contrast warning and the text is transparent,\n\t\t// show the transparent warning if alpha check is enabled.\n\t\tif ( textHasTransparency && enableAlphaChecker ) {\n\t\t\tmessage = __( 'Transparent text may be hard for people to read.' );\n\t\t\tspeakMessage = __(\n\t\t\t\t'Transparent text may be hard for people to read.'\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( ! message ) {\n\t\treturn null;\n\t}\n\n\t// Note: The `Notice` component can speak messages via its `spokenMessage`\n\t// prop, but the contrast checker requires granular control over when the\n\t// announcements are made. Notably, the message will be re-announced if a\n\t// new color combination is selected and the contrast is still insufficient.\n\tspeak( speakMessage );\n\n\treturn (\n\t\t<div className=\"block-editor-contrast-checker\">\n\t\t\t<Notice\n\t\t\t\tspokenMessage={ null }\n\t\t\t\tstatus=\"warning\"\n\t\t\t\tisDismissible={ false }\n\t\t\t>\n\t\t\t\t{ message }\n\t\t\t</Notice>\n\t\t</div>\n\t);\n}\n\nexport default ContrastChecker;\n"]}
@@ -28,7 +28,7 @@ function ConvertToGroupButton(_ref) {
28
28
  } = useDispatch(blockEditorStore);
29
29
 
30
30
  const onConvertToGroup = () => {
31
- // Activate the `transform` on the Grouping Block which does the conversion
31
+ // Activate the `transform` on the Grouping Block which does the conversion.
32
32
  const newBlocks = switchToBlockType(blocksSelection, groupingBlockName);
33
33
 
34
34
  if (newBlocks) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/index.js"],"names":["MenuItem","_x","switchToBlockType","useDispatch","store","blockEditorStore","useConvertToGroupButtonProps","ConvertToGroupButton","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","onClose","replaceBlocks","onConvertToGroup","newBlocks","onConvertFromGroup","innerBlocks","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,uBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,QAAkC,mBAAlC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,OAAOC,4BAAP,MAAyC,qCAAzC;;AAEA,SAASC,oBAAT,OAOI;AAAA,MAP2B;AAC9BC,IAAAA,SAD8B;AAE9BC,IAAAA,WAF8B;AAG9BC,IAAAA,aAH8B;AAI9BC,IAAAA,eAJ8B;AAK9BC,IAAAA,iBAL8B;AAM9BC,IAAAA,OAAO,GAAG,MAAM,CAAE;AANY,GAO3B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAoBX,WAAW,CAAEE,gBAAF,CAArC;;AACA,QAAMU,gBAAgB,GAAG,MAAM;AAC9B;AACA,UAAMC,SAAS,GAAGd,iBAAiB,CAClCS,eADkC,EAElCC,iBAFkC,CAAnC;;AAIA,QAAKI,SAAL,EAAiB;AAChBF,MAAAA,aAAa,CAAEN,SAAF,EAAaQ,SAAb,CAAb;AACA;AACD,GATD;;AAWA,QAAMC,kBAAkB,GAAG,MAAM;AAChC,UAAMC,WAAW,GAAGP,eAAe,CAAE,CAAF,CAAf,CAAqBO,WAAzC;;AACA,QAAK,CAAEA,WAAW,CAACC,MAAnB,EAA4B;AAC3B;AACA;;AACDL,IAAAA,aAAa,CAAEN,SAAF,EAAaU,WAAb,CAAb;AACA,GAND;;AAQA,MAAK,CAAET,WAAF,IAAiB,CAAEC,aAAxB,EAAwC;AACvC,WAAO,IAAP;AACA;;AAED,SACC,8BACGD,WAAW,IACZ,cAAC,QAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfM,MAAAA,gBAAgB;AAChBF,MAAAA,OAAO;AACP;AAJF,KAMGZ,EAAE,CAAE,OAAF,EAAW,MAAX,CANL,CAFF,EAWGS,aAAa,IACd,cAAC,QAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfO,MAAAA,kBAAkB;AAClBJ,MAAAA,OAAO;AACP;AAJF,KAMGZ,EAAE,CACH,SADG,EAEH,4FAFG,CANL,CAZF,CADD;AA2BA;;AAED,SAASK,4BAAT,EAAuCC,oBAAvC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { _x } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useConvertToGroupButtonProps from './use-convert-to-group-button-props';\n\nfunction ConvertToGroupButton( {\n\tclientIds,\n\tisGroupable,\n\tisUngroupable,\n\tblocksSelection,\n\tgroupingBlockName,\n\tonClose = () => {},\n} ) {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst onConvertToGroup = () => {\n\t\t// Activate the `transform` on the Grouping Block which does the conversion\n\t\tconst newBlocks = switchToBlockType(\n\t\t\tblocksSelection,\n\t\t\tgroupingBlockName\n\t\t);\n\t\tif ( newBlocks ) {\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t}\n\t};\n\n\tconst onConvertFromGroup = () => {\n\t\tconst innerBlocks = blocksSelection[ 0 ].innerBlocks;\n\t\tif ( ! innerBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\t\treplaceBlocks( clientIds, innerBlocks );\n\t};\n\n\tif ( ! isGroupable && ! isUngroupable ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isGroupable && (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonConvertToGroup();\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ _x( 'Group', 'verb' ) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t\t{ isUngroupable && (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonConvertFromGroup();\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Ungroup',\n\t\t\t\t\t\t'Ungrouping blocks from within a Group block back into individual blocks within the Editor '\n\t\t\t\t\t) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport { useConvertToGroupButtonProps, ConvertToGroupButton };\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/index.js"],"names":["MenuItem","_x","switchToBlockType","useDispatch","store","blockEditorStore","useConvertToGroupButtonProps","ConvertToGroupButton","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","onClose","replaceBlocks","onConvertToGroup","newBlocks","onConvertFromGroup","innerBlocks","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,uBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,QAAkC,mBAAlC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,OAAOC,4BAAP,MAAyC,qCAAzC;;AAEA,SAASC,oBAAT,OAOI;AAAA,MAP2B;AAC9BC,IAAAA,SAD8B;AAE9BC,IAAAA,WAF8B;AAG9BC,IAAAA,aAH8B;AAI9BC,IAAAA,eAJ8B;AAK9BC,IAAAA,iBAL8B;AAM9BC,IAAAA,OAAO,GAAG,MAAM,CAAE;AANY,GAO3B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAoBX,WAAW,CAAEE,gBAAF,CAArC;;AACA,QAAMU,gBAAgB,GAAG,MAAM;AAC9B;AACA,UAAMC,SAAS,GAAGd,iBAAiB,CAClCS,eADkC,EAElCC,iBAFkC,CAAnC;;AAIA,QAAKI,SAAL,EAAiB;AAChBF,MAAAA,aAAa,CAAEN,SAAF,EAAaQ,SAAb,CAAb;AACA;AACD,GATD;;AAWA,QAAMC,kBAAkB,GAAG,MAAM;AAChC,UAAMC,WAAW,GAAGP,eAAe,CAAE,CAAF,CAAf,CAAqBO,WAAzC;;AACA,QAAK,CAAEA,WAAW,CAACC,MAAnB,EAA4B;AAC3B;AACA;;AACDL,IAAAA,aAAa,CAAEN,SAAF,EAAaU,WAAb,CAAb;AACA,GAND;;AAQA,MAAK,CAAET,WAAF,IAAiB,CAAEC,aAAxB,EAAwC;AACvC,WAAO,IAAP;AACA;;AAED,SACC,8BACGD,WAAW,IACZ,cAAC,QAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfM,MAAAA,gBAAgB;AAChBF,MAAAA,OAAO;AACP;AAJF,KAMGZ,EAAE,CAAE,OAAF,EAAW,MAAX,CANL,CAFF,EAWGS,aAAa,IACd,cAAC,QAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfO,MAAAA,kBAAkB;AAClBJ,MAAAA,OAAO;AACP;AAJF,KAMGZ,EAAE,CACH,SADG,EAEH,4FAFG,CANL,CAZF,CADD;AA2BA;;AAED,SAASK,4BAAT,EAAuCC,oBAAvC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { _x } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useConvertToGroupButtonProps from './use-convert-to-group-button-props';\n\nfunction ConvertToGroupButton( {\n\tclientIds,\n\tisGroupable,\n\tisUngroupable,\n\tblocksSelection,\n\tgroupingBlockName,\n\tonClose = () => {},\n} ) {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst onConvertToGroup = () => {\n\t\t// Activate the `transform` on the Grouping Block which does the conversion.\n\t\tconst newBlocks = switchToBlockType(\n\t\t\tblocksSelection,\n\t\t\tgroupingBlockName\n\t\t);\n\t\tif ( newBlocks ) {\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t}\n\t};\n\n\tconst onConvertFromGroup = () => {\n\t\tconst innerBlocks = blocksSelection[ 0 ].innerBlocks;\n\t\tif ( ! innerBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\t\treplaceBlocks( clientIds, innerBlocks );\n\t};\n\n\tif ( ! isGroupable && ! isUngroupable ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isGroupable && (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonConvertToGroup();\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ _x( 'Group', 'verb' ) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t\t{ isUngroupable && (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonConvertFromGroup();\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Ungroup',\n\t\t\t\t\t\t'Ungrouping blocks from within a Group block back into individual blocks within the Editor '\n\t\t\t\t\t) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport { useConvertToGroupButtonProps, ConvertToGroupButton };\n"]}
@@ -59,10 +59,8 @@ export default function useConvertToGroupButtonProps() {
59
59
  const isSingleGroupingBlock = _blocksSelection.length === 1 && ((_blocksSelection$ = _blocksSelection[0]) === null || _blocksSelection$ === void 0 ? void 0 : _blocksSelection$.name) === _groupingBlockName; // Do we have
60
60
  // 1. Grouping block available to be inserted?
61
61
  // 2. One or more blocks selected
62
- // (we allow single Blocks to become groups unless
63
- // they are a soltiary group block themselves)
64
62
 
65
- const _isGroupable = groupingBlockAvailable && _blocksSelection.length && !isSingleGroupingBlock; // Do we have a single Group Block selected and does that group have inner blocks?
63
+ const _isGroupable = groupingBlockAvailable && _blocksSelection.length; // Do we have a single Group Block selected and does that group have inner blocks?
66
64
 
67
65
 
68
66
  const _isUngroupable = isSingleGroupingBlock && !!_blocksSelection[0].innerBlocks.length;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js"],"names":["store","blocksStore","useSelect","blockEditorStore","useConvertToGroupButtonProps","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","select","getBlockRootClientId","getBlocksByClientId","canInsertBlockType","getSelectedBlockClientIds","getGroupingBlockName","_clientIds","_groupingBlockName","rootClientId","length","undefined","groupingBlockAvailable","_blocksSelection","isSingleGroupingBlock","name","_isGroupable","_isUngroupable","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,gBAAlB,QAA0C,aAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,4BAAT,GAAwC;AACtD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA;AALK,MAMFP,SAAS,CAAIQ,MAAF,IAAc;AAAA;;AAC5B,UAAM;AACLC,MAAAA,oBADK;AAELC,MAAAA,mBAFK;AAGLC,MAAAA,kBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEP,gBAAF,CALV;AAMA,UAAM;AAAEY,MAAAA;AAAF,QAA2BL,MAAM,CAAET,WAAF,CAAvC;;AAEA,UAAMe,UAAU,GAAGF,yBAAyB,EAA5C;;AACA,UAAMG,kBAAkB,GAAGF,oBAAoB,EAA/C;;AAEA,UAAMG,YAAY,GAAG,CAAC,EAAEF,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEG,MAAd,CAAD,GAClBR,oBAAoB,CAAEK,UAAU,CAAE,CAAF,CAAZ,CADF,GAElBI,SAFH;AAIA,UAAMC,sBAAsB,GAAGR,kBAAkB,CAChDI,kBADgD,EAEhDC,YAFgD,CAAjD;;AAKA,UAAMI,gBAAgB,GAAGV,mBAAmB,CAAEI,UAAF,CAA5C;;AAEA,UAAMO,qBAAqB,GAC1BD,gBAAgB,CAACH,MAAjB,KAA4B,CAA5B,IACA,sBAAAG,gBAAgB,CAAE,CAAF,CAAhB,wEAAuBE,IAAvB,MAAgCP,kBAFjC,CAvB4B,CA2B5B;AACA;AACA;AACA;AACA;;AACA,UAAMQ,YAAY,GACjBJ,sBAAsB,IACtBC,gBAAgB,CAACH,MADjB,IAEA,CAAEI,qBAHH,CAhC4B,CAqC5B;;;AACA,UAAMG,cAAc,GACnBH,qBAAqB,IACrB,CAAC,CAAED,gBAAgB,CAAE,CAAF,CAAhB,CAAsBK,WAAtB,CAAkCR,MAFtC;;AAGA,WAAO;AACNd,MAAAA,SAAS,EAAEW,UADL;AAENV,MAAAA,WAAW,EAAEmB,YAFP;AAGNlB,MAAAA,aAAa,EAAEmB,cAHT;AAINlB,MAAAA,eAAe,EAAEc,gBAJX;AAKNb,MAAAA,iBAAiB,EAAEQ;AALb,KAAP;AAOA,GAhDY,EAgDV,EAhDU,CANb;AAuDA,SAAO;AACNZ,IAAAA,SADM;AAENC,IAAAA,WAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,eAJM;AAKNC,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Contains the properties `ConvertToGroupButton` component needs.\n *\n * @typedef {Object} ConvertToGroupButtonProps\n * @property {string[]} clientIds An array of the selected client ids.\n * @property {boolean} isGroupable Indicates if the selected blocks can be grouped.\n * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped.\n * @property {WPBlock[]} blocksSelection An array of the selected blocks.\n * @property {string} groupingBlockName The name of block used for handling grouping interactions.\n */\n\n/**\n * Returns the properties `ConvertToGroupButton` component needs to work properly.\n * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`\n * should be rendered, to avoid ending up with an empty MenuGroup.\n *\n * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.\n */\nexport default function useConvertToGroupButtonProps() {\n\tconst {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlocksByClientId,\n\t\t\tcanInsertBlockType,\n\t\t\tgetSelectedBlockClientIds,\n\t\t} = select( blockEditorStore );\n\t\tconst { getGroupingBlockName } = select( blocksStore );\n\n\t\tconst _clientIds = getSelectedBlockClientIds();\n\t\tconst _groupingBlockName = getGroupingBlockName();\n\n\t\tconst rootClientId = !! _clientIds?.length\n\t\t\t? getBlockRootClientId( _clientIds[ 0 ] )\n\t\t\t: undefined;\n\n\t\tconst groupingBlockAvailable = canInsertBlockType(\n\t\t\t_groupingBlockName,\n\t\t\trootClientId\n\t\t);\n\n\t\tconst _blocksSelection = getBlocksByClientId( _clientIds );\n\n\t\tconst isSingleGroupingBlock =\n\t\t\t_blocksSelection.length === 1 &&\n\t\t\t_blocksSelection[ 0 ]?.name === _groupingBlockName;\n\n\t\t// Do we have\n\t\t// 1. Grouping block available to be inserted?\n\t\t// 2. One or more blocks selected\n\t\t// (we allow single Blocks to become groups unless\n\t\t// they are a soltiary group block themselves)\n\t\tconst _isGroupable =\n\t\t\tgroupingBlockAvailable &&\n\t\t\t_blocksSelection.length &&\n\t\t\t! isSingleGroupingBlock;\n\n\t\t// Do we have a single Group Block selected and does that group have inner blocks?\n\t\tconst _isUngroupable =\n\t\t\tisSingleGroupingBlock &&\n\t\t\t!! _blocksSelection[ 0 ].innerBlocks.length;\n\t\treturn {\n\t\t\tclientIds: _clientIds,\n\t\t\tisGroupable: _isGroupable,\n\t\t\tisUngroupable: _isUngroupable,\n\t\t\tblocksSelection: _blocksSelection,\n\t\t\tgroupingBlockName: _groupingBlockName,\n\t\t};\n\t}, [] );\n\treturn {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js"],"names":["store","blocksStore","useSelect","blockEditorStore","useConvertToGroupButtonProps","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","select","getBlockRootClientId","getBlocksByClientId","canInsertBlockType","getSelectedBlockClientIds","getGroupingBlockName","_clientIds","_groupingBlockName","rootClientId","length","undefined","groupingBlockAvailable","_blocksSelection","isSingleGroupingBlock","name","_isGroupable","_isUngroupable","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,gBAAlB,QAA0C,aAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,4BAAT,GAAwC;AACtD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA;AALK,MAMFP,SAAS,CAAIQ,MAAF,IAAc;AAAA;;AAC5B,UAAM;AACLC,MAAAA,oBADK;AAELC,MAAAA,mBAFK;AAGLC,MAAAA,kBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEP,gBAAF,CALV;AAMA,UAAM;AAAEY,MAAAA;AAAF,QAA2BL,MAAM,CAAET,WAAF,CAAvC;;AAEA,UAAMe,UAAU,GAAGF,yBAAyB,EAA5C;;AACA,UAAMG,kBAAkB,GAAGF,oBAAoB,EAA/C;;AAEA,UAAMG,YAAY,GAAG,CAAC,EAAEF,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEG,MAAd,CAAD,GAClBR,oBAAoB,CAAEK,UAAU,CAAE,CAAF,CAAZ,CADF,GAElBI,SAFH;AAIA,UAAMC,sBAAsB,GAAGR,kBAAkB,CAChDI,kBADgD,EAEhDC,YAFgD,CAAjD;;AAKA,UAAMI,gBAAgB,GAAGV,mBAAmB,CAAEI,UAAF,CAA5C;;AAEA,UAAMO,qBAAqB,GAC1BD,gBAAgB,CAACH,MAAjB,KAA4B,CAA5B,IACA,sBAAAG,gBAAgB,CAAE,CAAF,CAAhB,wEAAuBE,IAAvB,MAAgCP,kBAFjC,CAvB4B,CA2B5B;AACA;AACA;;AACA,UAAMQ,YAAY,GAAGJ,sBAAsB,IAAIC,gBAAgB,CAACH,MAAhE,CA9B4B,CAgC5B;;;AACA,UAAMO,cAAc,GACnBH,qBAAqB,IACrB,CAAC,CAAED,gBAAgB,CAAE,CAAF,CAAhB,CAAsBK,WAAtB,CAAkCR,MAFtC;;AAGA,WAAO;AACNd,MAAAA,SAAS,EAAEW,UADL;AAENV,MAAAA,WAAW,EAAEmB,YAFP;AAGNlB,MAAAA,aAAa,EAAEmB,cAHT;AAINlB,MAAAA,eAAe,EAAEc,gBAJX;AAKNb,MAAAA,iBAAiB,EAAEQ;AALb,KAAP;AAOA,GA3CY,EA2CV,EA3CU,CANb;AAkDA,SAAO;AACNZ,IAAAA,SADM;AAENC,IAAAA,WAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,eAJM;AAKNC,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Contains the properties `ConvertToGroupButton` component needs.\n *\n * @typedef {Object} ConvertToGroupButtonProps\n * @property {string[]} clientIds An array of the selected client ids.\n * @property {boolean} isGroupable Indicates if the selected blocks can be grouped.\n * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped.\n * @property {WPBlock[]} blocksSelection An array of the selected blocks.\n * @property {string} groupingBlockName The name of block used for handling grouping interactions.\n */\n\n/**\n * Returns the properties `ConvertToGroupButton` component needs to work properly.\n * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`\n * should be rendered, to avoid ending up with an empty MenuGroup.\n *\n * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.\n */\nexport default function useConvertToGroupButtonProps() {\n\tconst {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlocksByClientId,\n\t\t\tcanInsertBlockType,\n\t\t\tgetSelectedBlockClientIds,\n\t\t} = select( blockEditorStore );\n\t\tconst { getGroupingBlockName } = select( blocksStore );\n\n\t\tconst _clientIds = getSelectedBlockClientIds();\n\t\tconst _groupingBlockName = getGroupingBlockName();\n\n\t\tconst rootClientId = !! _clientIds?.length\n\t\t\t? getBlockRootClientId( _clientIds[ 0 ] )\n\t\t\t: undefined;\n\n\t\tconst groupingBlockAvailable = canInsertBlockType(\n\t\t\t_groupingBlockName,\n\t\t\trootClientId\n\t\t);\n\n\t\tconst _blocksSelection = getBlocksByClientId( _clientIds );\n\n\t\tconst isSingleGroupingBlock =\n\t\t\t_blocksSelection.length === 1 &&\n\t\t\t_blocksSelection[ 0 ]?.name === _groupingBlockName;\n\n\t\t// Do we have\n\t\t// 1. Grouping block available to be inserted?\n\t\t// 2. One or more blocks selected\n\t\tconst _isGroupable = groupingBlockAvailable && _blocksSelection.length;\n\n\t\t// Do we have a single Group Block selected and does that group have inner blocks?\n\t\tconst _isUngroupable =\n\t\t\tisSingleGroupingBlock &&\n\t\t\t!! _blocksSelection[ 0 ].innerBlocks.length;\n\t\treturn {\n\t\t\tclientIds: _clientIds,\n\t\t\tisGroupable: _isGroupable,\n\t\t\tisUngroupable: _isUngroupable,\n\t\t\tblocksSelection: _blocksSelection,\n\t\t\tgroupingBlockName: _groupingBlockName,\n\t\t};\n\t}, [] );\n\treturn {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t};\n}\n"]}
@@ -14,7 +14,7 @@ import { useRefEffect } from '@wordpress/compose';
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
- import { getPasteEventData } from '../../utils/get-paste-event-data';
17
+ import { getPasteEventData } from '../../utils/pasting';
18
18
  import { store as blockEditorStore } from '../../store';
19
19
  export function useNotifyCopy() {
20
20
  const {
@@ -109,7 +109,7 @@ export function useClipboardHandler() {
109
109
  removeBlocks(selectedBlockClientIds);
110
110
  } else if (event.type === 'paste') {
111
111
  if (eventDefaultPrevented) {
112
- // This was likely already handled in rich-text/use-paste-handler.js
112
+ // This was likely already handled in rich-text/use-paste-handler.js.
113
113
  return;
114
114
  }
115
115
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/copy-handler/index.js"],"names":["useCallback","serialize","pasteHandler","store","blocksStore","documentHasSelection","documentHasUncollapsedSelection","useDispatch","useSelect","__","_n","sprintf","noticesStore","useRefEffect","getPasteEventData","blockEditorStore","useNotifyCopy","getBlockName","getBlockType","createSuccessNotice","eventType","selectedBlockClientIds","notice","length","clientId","title","type","useClipboardHandler","getBlocksByClientId","getSelectedBlockClientIds","hasMultiSelection","getSettings","flashBlock","removeBlocks","replaceBlocks","notifyCopy","node","handler","event","target","ownerDocument","hasSelection","contains","activeElement","eventDefaultPrevented","defaultPrevented","preventDefault","blocks","serialized","clipboardData","setData","__experimentalCanUserUseUnfilteredHTML","canUserUseUnfilteredHTML","plainText","html","HTML","mode","addEventListener","removeEventListener","CopyHandler","children"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport {\n\tserialize,\n\tpasteHandler,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tdocumentHasSelection,\n\tdocumentHasUncollapsedSelection,\n} from '@wordpress/dom';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getPasteEventData } from '../../utils/get-paste-event-data';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useNotifyCopy() {\n\tconst { getBlockName } = useSelect( blockEditorStore );\n\tconst { getBlockType } = useSelect( blocksStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\treturn useCallback( ( eventType, selectedBlockClientIds ) => {\n\t\tlet notice = '';\n\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\tconst clientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst title = getBlockType( getBlockName( clientId ) )?.title;\n\t\t\tnotice =\n\t\t\t\teventType === 'copy'\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// Translators: Name of the block being copied, e.g. \"Paragraph\".\n\t\t\t\t\t\t\t__( 'Copied \"%s\" to clipboard.' ),\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// Translators: Name of the block being cut, e.g. \"Paragraph\".\n\t\t\t\t\t\t\t__( 'Moved \"%s\" to clipboard.' ),\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t );\n\t\t} else {\n\t\t\tnotice =\n\t\t\t\teventType === 'copy'\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// Translators: %d: Number of blocks being copied.\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'Copied %d block to clipboard.',\n\t\t\t\t\t\t\t\t'Copied %d blocks to clipboard.',\n\t\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// Translators: %d: Number of blocks being cut.\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'Moved %d block to clipboard.',\n\t\t\t\t\t\t\t\t'Moved %d blocks to clipboard.',\n\t\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t );\n\t\t}\n\t\tcreateSuccessNotice( notice, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}, [] );\n}\n\nexport function useClipboardHandler() {\n\tconst {\n\t\tgetBlocksByClientId,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\tgetSettings,\n\t} = useSelect( blockEditorStore );\n\tconst { flashBlock, removeBlocks, replaceBlocks } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tconst notifyCopy = useNotifyCopy();\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction handler( event ) {\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\t\tif ( selectedBlockClientIds.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Always handle multiple selected blocks.\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\tconst { target } = event;\n\t\t\t\tconst { ownerDocument } = target;\n\t\t\t\t// If copying, only consider actual text selection as selection.\n\t\t\t\t// Otherwise, any focus on an input field is considered.\n\t\t\t\tconst hasSelection =\n\t\t\t\t\tevent.type === 'copy' || event.type === 'cut'\n\t\t\t\t\t\t? documentHasUncollapsedSelection( ownerDocument )\n\t\t\t\t\t\t: documentHasSelection( ownerDocument );\n\n\t\t\t\t// Let native copy behaviour take over in input fields.\n\t\t\t\tif ( hasSelection ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! node.contains( event.target.ownerDocument.activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst eventDefaultPrevented = event.defaultPrevented;\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( event.type === 'copy' || event.type === 'cut' ) {\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tflashBlock( selectedBlockClientIds[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnotifyCopy( event.type, selectedBlockClientIds );\n\t\t\t\tconst blocks = getBlocksByClientId( selectedBlockClientIds );\n\t\t\t\tconst serialized = serialize( blocks );\n\n\t\t\t\tevent.clipboardData.setData( 'text/plain', serialized );\n\t\t\t\tevent.clipboardData.setData( 'text/html', serialized );\n\t\t\t}\n\n\t\t\tif ( event.type === 'cut' ) {\n\t\t\t\tremoveBlocks( selectedBlockClientIds );\n\t\t\t} else if ( event.type === 'paste' ) {\n\t\t\t\tif ( eventDefaultPrevented ) {\n\t\t\t\t\t// This was likely already handled in rich-text/use-paste-handler.js\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML,\n\t\t\t\t} = getSettings();\n\t\t\t\tconst { plainText, html } = getPasteEventData( event );\n\t\t\t\tconst blocks = pasteHandler( {\n\t\t\t\t\tHTML: html,\n\t\t\t\t\tplainText,\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t\t} );\n\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlockClientIds,\n\t\t\t\t\tblocks,\n\t\t\t\t\tblocks.length - 1,\n\t\t\t\t\t-1\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tnode.ownerDocument.addEventListener( 'copy', handler );\n\t\tnode.ownerDocument.addEventListener( 'cut', handler );\n\t\tnode.ownerDocument.addEventListener( 'paste', handler );\n\n\t\treturn () => {\n\t\t\tnode.ownerDocument.removeEventListener( 'copy', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'cut', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'paste', handler );\n\t\t};\n\t}, [] );\n}\n\nfunction CopyHandler( { children } ) {\n\treturn <div ref={ useClipboardHandler() }>{ children }</div>;\n}\n\nexport default CopyHandler;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/copy-handler/index.js"],"names":["useCallback","serialize","pasteHandler","store","blocksStore","documentHasSelection","documentHasUncollapsedSelection","useDispatch","useSelect","__","_n","sprintf","noticesStore","useRefEffect","getPasteEventData","blockEditorStore","useNotifyCopy","getBlockName","getBlockType","createSuccessNotice","eventType","selectedBlockClientIds","notice","length","clientId","title","type","useClipboardHandler","getBlocksByClientId","getSelectedBlockClientIds","hasMultiSelection","getSettings","flashBlock","removeBlocks","replaceBlocks","notifyCopy","node","handler","event","target","ownerDocument","hasSelection","contains","activeElement","eventDefaultPrevented","defaultPrevented","preventDefault","blocks","serialized","clipboardData","setData","__experimentalCanUserUseUnfilteredHTML","canUserUseUnfilteredHTML","plainText","html","HTML","mode","addEventListener","removeEventListener","CopyHandler","children"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport {\n\tserialize,\n\tpasteHandler,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tdocumentHasSelection,\n\tdocumentHasUncollapsedSelection,\n} from '@wordpress/dom';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getPasteEventData } from '../../utils/pasting';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useNotifyCopy() {\n\tconst { getBlockName } = useSelect( blockEditorStore );\n\tconst { getBlockType } = useSelect( blocksStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\treturn useCallback( ( eventType, selectedBlockClientIds ) => {\n\t\tlet notice = '';\n\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\tconst clientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst title = getBlockType( getBlockName( clientId ) )?.title;\n\t\t\tnotice =\n\t\t\t\teventType === 'copy'\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// Translators: Name of the block being copied, e.g. \"Paragraph\".\n\t\t\t\t\t\t\t__( 'Copied \"%s\" to clipboard.' ),\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// Translators: Name of the block being cut, e.g. \"Paragraph\".\n\t\t\t\t\t\t\t__( 'Moved \"%s\" to clipboard.' ),\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t );\n\t\t} else {\n\t\t\tnotice =\n\t\t\t\teventType === 'copy'\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// Translators: %d: Number of blocks being copied.\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'Copied %d block to clipboard.',\n\t\t\t\t\t\t\t\t'Copied %d blocks to clipboard.',\n\t\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// Translators: %d: Number of blocks being cut.\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'Moved %d block to clipboard.',\n\t\t\t\t\t\t\t\t'Moved %d blocks to clipboard.',\n\t\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t );\n\t\t}\n\t\tcreateSuccessNotice( notice, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}, [] );\n}\n\nexport function useClipboardHandler() {\n\tconst {\n\t\tgetBlocksByClientId,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\tgetSettings,\n\t} = useSelect( blockEditorStore );\n\tconst { flashBlock, removeBlocks, replaceBlocks } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tconst notifyCopy = useNotifyCopy();\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction handler( event ) {\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\t\tif ( selectedBlockClientIds.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Always handle multiple selected blocks.\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\tconst { target } = event;\n\t\t\t\tconst { ownerDocument } = target;\n\t\t\t\t// If copying, only consider actual text selection as selection.\n\t\t\t\t// Otherwise, any focus on an input field is considered.\n\t\t\t\tconst hasSelection =\n\t\t\t\t\tevent.type === 'copy' || event.type === 'cut'\n\t\t\t\t\t\t? documentHasUncollapsedSelection( ownerDocument )\n\t\t\t\t\t\t: documentHasSelection( ownerDocument );\n\n\t\t\t\t// Let native copy behaviour take over in input fields.\n\t\t\t\tif ( hasSelection ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! node.contains( event.target.ownerDocument.activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst eventDefaultPrevented = event.defaultPrevented;\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( event.type === 'copy' || event.type === 'cut' ) {\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tflashBlock( selectedBlockClientIds[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnotifyCopy( event.type, selectedBlockClientIds );\n\t\t\t\tconst blocks = getBlocksByClientId( selectedBlockClientIds );\n\t\t\t\tconst serialized = serialize( blocks );\n\n\t\t\t\tevent.clipboardData.setData( 'text/plain', serialized );\n\t\t\t\tevent.clipboardData.setData( 'text/html', serialized );\n\t\t\t}\n\n\t\t\tif ( event.type === 'cut' ) {\n\t\t\t\tremoveBlocks( selectedBlockClientIds );\n\t\t\t} else if ( event.type === 'paste' ) {\n\t\t\t\tif ( eventDefaultPrevented ) {\n\t\t\t\t\t// This was likely already handled in rich-text/use-paste-handler.js.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML,\n\t\t\t\t} = getSettings();\n\t\t\t\tconst { plainText, html } = getPasteEventData( event );\n\t\t\t\tconst blocks = pasteHandler( {\n\t\t\t\t\tHTML: html,\n\t\t\t\t\tplainText,\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t\t} );\n\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlockClientIds,\n\t\t\t\t\tblocks,\n\t\t\t\t\tblocks.length - 1,\n\t\t\t\t\t-1\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tnode.ownerDocument.addEventListener( 'copy', handler );\n\t\tnode.ownerDocument.addEventListener( 'cut', handler );\n\t\tnode.ownerDocument.addEventListener( 'paste', handler );\n\n\t\treturn () => {\n\t\t\tnode.ownerDocument.removeEventListener( 'copy', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'cut', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'paste', handler );\n\t\t};\n\t}, [] );\n}\n\nfunction CopyHandler( { children } ) {\n\treturn <div ref={ useClipboardHandler() }>{ children }</div>;\n}\n\nexport default CopyHandler;\n"]}
@@ -84,14 +84,14 @@ export default (function () {
84
84
 
85
85
  const didAttributesChange = (customFontSizeAttributeName, fontSizeAttributeName) => {
86
86
  if (previousState[fontSizeAttributeName]) {
87
- // if new font size is name compare with the previous slug
87
+ // If new font size is name compare with the previous slug.
88
88
  if (attributes[fontSizeAttributeName]) {
89
89
  return attributes[fontSizeAttributeName] !== previousState[fontSizeAttributeName].slug;
90
- } // if font size is not named, update when the font size value changes.
90
+ } // If font size is not named, update when the font size value changes.
91
91
 
92
92
 
93
93
  return previousState[fontSizeAttributeName].size !== attributes[customFontSizeAttributeName];
94
- } // in this case we need to build the font size object
94
+ } // In this case we need to build the font size object.
95
95
 
96
96
 
97
97
  return true;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["find","pickBy","reduce","some","upperFirst","createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","fontSizeNames","fontSizeAttributeNames","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","newState","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,MAAf,EAAuBC,MAAvB,EAA+BC,IAA/B,EAAqCC,UAArC,QAAuD,QAAvD;AAEA;AACA;AACA;;AACA,SAASC,0BAAT,EAAqCC,OAArC,QAAoD,oBAApD;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,gBAAtB,QAA8C,SAA9C;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,MAAMC,kBAAkB,GAAG,EAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAe,YAAwB;AAAA,oCAAnBC,aAAmB;AAAnBA,IAAAA,aAAmB;AAAA;;AACtC;AACD;AACA;AACA;AACA;AACC,QAAMC,sBAAsB,GAAGX,MAAM,CACpCU,aADoC,EAEpC,CAAEE,iCAAF,EAAqCC,qBAArC,KAAgE;AAC/DD,IAAAA,iCAAiC,CAChCC,qBADgC,CAAjC,GAEK,SAASX,UAAU,CAAEW,qBAAF,CAA2B,EAFnD;AAGA,WAAOD,iCAAP;AACA,GAPmC,EAQpC,EARoC,CAArC;AAWA,SAAOT,0BAA0B,CAChCC,OAAO,CAAE,CACRD,0BAA0B,CACvBW,gBAAF,IAA0BC,KAAF,IAAa;AACpC,UAAMC,SAAS,GACdR,UAAU,CAAE,sBAAF,CAAV,IACAC,kBAFD;AAGA,WACC,cAAC,gBAAD,eACMM,KADN;AAEC,MAAA,SAAS,EAAGC;AAFb,OADD;AAMA,GAXwB,EAYzB,eAZyB,CADlB,EAeNF,gBAAF,IAAwB;AACvB,WAAO,cAAcT,SAAd,CAAwB;AAC9BY,MAAAA,WAAW,CAAEF,KAAF,EAAU;AACpB,cAAOA,KAAP;AAEA,aAAKG,OAAL,GAAe,KAAKC,aAAL,EAAf;AAEA,aAAKC,KAAL,GAAa,EAAb;AACA;;AAEDD,MAAAA,aAAa,GAAG;AACf,eAAOnB,MAAM,CACZW,sBADY,EAEZ,CACCU,kBADD,EAECC,2BAFD,EAGCT,qBAHD,KAIK;AACJ,gBAAMU,+BAA+B,GAAGrB,UAAU,CACjDW,qBADiD,CAAlD;AAGAQ,UAAAA,kBAAkB,CAChB,MAAME,+BAAiC,EADvB,CAAlB,GAEI,KAAKC,iBAAL,CACHX,qBADG,EAEHS,2BAFG,CAFJ;AAMA,iBAAOD,kBAAP;AACA,SAjBW,EAkBZ,EAlBY,CAAb;AAoBA;;AAEDG,MAAAA,iBAAiB,CAChBX,qBADgB,EAEhBS,2BAFgB,EAGf;AACD,eAASG,aAAF,IAAqB;AAC3B,gBAAMC,cAAc,GAAG5B,IAAI,CAAE,KAAKiB,KAAL,CAAWC,SAAb,EAAwB;AAClDW,YAAAA,IAAI,EAAEC,MAAM,CAAEH,aAAF;AADsC,WAAxB,CAA3B;AAGA,eAAKV,KAAL,CAAWc,aAAX,CAA0B;AACzB,aAAEhB,qBAAF,GACCa,cAAc,IAAIA,cAAc,CAACI,IAAjC,GACGJ,cAAc,CAACI,IADlB,GAEGC,SAJqB;AAKzB,aAAET,2BAAF,GACCI,cAAc,IAAIA,cAAc,CAACI,IAAjC,GACGC,SADH,GAEGN;AARqB,WAA1B;AAUA,SAdD;AAeA;;AAE8B,aAAxBO,wBAAwB,OAE9BC,aAF8B,EAG7B;AAAA,YAFD;AAAEC,UAAAA,UAAF;AAAclB,UAAAA;AAAd,SAEC;;AACD,cAAMmB,mBAAmB,GAAG,CAC3Bb,2BAD2B,EAE3BT,qBAF2B,KAGvB;AACJ,cAAKoB,aAAa,CAAEpB,qBAAF,CAAlB,EAA8C;AAC7C;AACA,gBAAKqB,UAAU,CAAErB,qBAAF,CAAf,EAA2C;AAC1C,qBACCqB,UAAU,CAAErB,qBAAF,CAAV,KACAoB,aAAa,CAAEpB,qBAAF,CAAb,CACEiB,IAHH;AAKA,aAR4C,CAS7C;;;AACA,mBACCG,aAAa,CAAEpB,qBAAF,CAAb,CACEc,IADF,KAEAO,UAAU,CAAEZ,2BAAF,CAHX;AAKA,WAhBG,CAiBJ;;;AACA,iBAAO,IAAP;AACA,SAtBD;;AAwBA,YACC,CAAErB,IAAI,CACLU,sBADK,EAELwB,mBAFK,CADP,EAKE;AACD,iBAAO,IAAP;AACA;;AAED,cAAMC,QAAQ,GAAGpC,MAAM,CACtBD,MAAM,CACLY,sBADK,EAELwB,mBAFK,CADgB,EAKtB,CACCE,mBADD,EAECf,2BAFD,EAGCT,qBAHD,KAIK;AACJ,gBAAMyB,sBAAsB,GAC3BJ,UAAU,CAAErB,qBAAF,CADX;AAEA,gBAAMa,cAAc,GAAGpB,WAAW,CACjCU,SADiC,EAEjCsB,sBAFiC,EAGjCJ,UAAU,CAAEZ,2BAAF,CAHuB,CAAlC;AAKAe,UAAAA,mBAAmB,CAAExB,qBAAF,CAAnB,GAA+C,EAC9C,GAAGa,cAD2C;AAE9Ca,YAAAA,KAAK,EAAEhC,gBAAgB,CACtB+B,sBADsB;AAFuB,WAA/C;AAMA,iBAAOD,mBAAP;AACA,SAxBqB,EAyBtB,EAzBsB,CAAvB;AA4BA,eAAO,EACN,GAAGJ,aADG;AAEN,aAAGG;AAFG,SAAP;AAIA;;AAEDI,MAAAA,MAAM,GAAG;AACR,eACC,cAAC,gBAAD,eAEK,KAAKzB,KAFV;AAGEC,UAAAA,SAAS,EAAEe;AAHb,WAIK,KAAKX,KAJV,EAKK,KAAKF,OALV,EADD;AAUA;;AAvI6B,KAA/B;AAyIA,GAzJO,CAAF,CADyB,EA4JhC,eA5JgC,CAAjC;AA8JA,CA/KD","sourcesContent":["/**\n * External dependencies\n */\nimport { find, pickBy, reduce, some, upperFirst } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = reduce(\n\t\tfontSizeNames,\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce(\n\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName = upperFirst(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, {\n\t\t\t\t\t\t\t\tsize: Number( fontSizeValue ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// if new font size is name compare with the previous slug\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// if font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// in this case we need to build the font size object\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! some(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = reduce(\n\t\t\t\t\t\t\tpickBy(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["find","pickBy","reduce","some","upperFirst","createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","fontSizeNames","fontSizeAttributeNames","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","newState","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, pickBy, reduce, some, upperFirst } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = reduce(\n\t\tfontSizeNames,\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce(\n\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName = upperFirst(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, {\n\t\t\t\t\t\t\t\tsize: Number( fontSizeValue ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! some(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = reduce(\n\t\t\t\t\t\t\tpickBy(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
@@ -1,4 +1,4 @@
1
- // Block Creation Components
1
+ // Block Creation Components.
2
2
  export { BlockAlignmentControl, BlockAlignmentToolbar } from './block-alignment-control';
3
3
  export { BlockContextProvider } from './block-context';
4
4
  export { default as BlockControls, BlockFormatControls } from './block-controls';
@@ -18,7 +18,7 @@ export { default as RichText, RichTextShortcut, RichTextToolbarButton, __unstabl
18
18
  export { default as MediaReplaceFlow } from './media-replace-flow';
19
19
  export { default as MediaPlaceholder } from './media-placeholder';
20
20
  export { default as MediaUpload, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO, MEDIA_TYPE_AUDIO, MEDIA_TYPE_ANY } from './media-upload';
21
- export { default as MediaUploadProgress } from './media-upload-progress';
21
+ export { default as MediaUploadProgress, MEDIA_UPLOAD_STATE_UPLOADING, MEDIA_UPLOAD_STATE_SUCCEEDED, MEDIA_UPLOAD_STATE_FAILED, MEDIA_UPLOAD_STATE_RESET } from './media-upload-progress';
22
22
  export { default as BlockMediaUpdateProgress } from './block-media-update-progress';
23
23
  export { default as URLInput } from './url-input';
24
24
  export { default as BlockInvalidWarning } from './block-list/block-invalid-warning';
@@ -32,7 +32,7 @@ export { default as Warning } from './warning';
32
32
  export { default as ContrastChecker } from './contrast-checker';
33
33
  export { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';
34
34
  export { BottomSheetSettings, BlockSettingsButton, blockSettingsScreens } from './block-settings';
35
- export { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player'; // Content Related Components
35
+ export { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player'; // Content Related Components.
36
36
 
37
37
  export { default as BlockList } from './block-list';
38
38
  export { default as BlockMover } from './block-mover';
@@ -43,7 +43,7 @@ export { default as DefaultBlockAppender } from './default-block-appender';
43
43
  export { default as __unstableEditorStyles } from './editor-styles';
44
44
  export { default as Inserter } from './inserter';
45
45
  export { useBlockProps } from './block-list/use-block-props';
46
- export { default as FloatingToolbar } from './floating-toolbar'; // State Related Components
46
+ export { default as FloatingToolbar } from './floating-toolbar'; // State Related Components.
47
47
 
48
48
  export { default as BlockEditorProvider } from './provider';
49
49
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/index.native.js"],"names":["BlockAlignmentControl","BlockAlignmentToolbar","BlockContextProvider","default","BlockControls","BlockFormatControls","BlockEdit","useBlockEditContext","BlockIcon","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","AlignmentControl","AlignmentToolbar","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","LineHeightControl","PlainText","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","MediaUploadProgress","BlockMediaUpdateProgress","URLInput","BlockInvalidWarning","BlockCaption","Caption","PanelColorSettings","__experimentalPanelColorGradientSettings","useSetting","__experimentalUseNoRecursiveRenders","Warning","ContrastChecker","useMultipleOriginColorsAndGradients","BottomSheetSettings","BlockSettingsButton","blockSettingsScreens","VideoPlayer","VIDEO_ASPECT_RATIO","BlockList","BlockMover","BlockToolbar","BlockVariationPicker","BlockStyles","DefaultBlockAppender","__unstableEditorStyles","Inserter","useBlockProps","FloatingToolbar","BlockEditorProvider"],"mappings":"AAAA;AACA,SACCA,qBADD,EAECC,qBAFD,QAGO,2BAHP;AAIA,SAASC,oBAAT,QAAqC,iBAArC;AACA,SACCC,OAAO,IAAIC,aADZ,EAECC,mBAFD,QAGO,kBAHP;AAIA,SAASF,OAAO,IAAIG,SAApB,EAA+BC,mBAA/B,QAA0D,cAA1D;AACA,SAASJ,OAAO,IAAIK,SAApB,QAAqC,cAArC;AACA,SACCC,6BADD,EAECC,6BAFD,QAGO,oCAHP;AAIA,cAAc,UAAd;AACA,cAAc,aAAd;AACA,cAAc,cAAd;AACA,SAASC,gBAAT,EAA2BC,gBAA3B,QAAmD,qBAAnD;AACA,SAAST,OAAO,IAAIU,WAApB,EAAiCC,mBAAjC,QAA4D,gBAA5D;AACA,SACCX,OAAO,IAAIY,iBADZ,EAECC,yBAFD,QAGO,sBAHP;AAIA,SACCC,cADD,EAECC,qBAFD,QAGO,2BAHP;AAIA,SAASf,OAAO,IAAIgB,iBAApB,QAA6C,uBAA7C;AACA,SAAShB,OAAO,IAAIiB,SAApB,QAAqC,cAArC;AACA,SACCjB,OAAO,IAAIkB,QADZ,EAECC,gBAFD,EAGCC,qBAHD,EAICC,4BAJD,QAKO,aALP;AAMA,SAASrB,OAAO,IAAIsB,gBAApB,QAA4C,sBAA5C;AACA,SAAStB,OAAO,IAAIuB,gBAApB,QAA4C,qBAA5C;AACA,SACCvB,OAAO,IAAIwB,WADZ,EAECC,gBAFD,EAGCC,gBAHD,EAICC,gBAJD,EAKCC,cALD,QAMO,gBANP;AAOA,SAAS5B,OAAO,IAAI6B,mBAApB,QAA+C,yBAA/C;AACA,SAAS7B,OAAO,IAAI8B,wBAApB,QAAoD,+BAApD;AACA,SAAS9B,OAAO,IAAI+B,QAApB,QAAoC,aAApC;AACA,SAAS/B,OAAO,IAAIgC,mBAApB,QAA+C,oCAA/C;AACA,SAAShC,OAAO,IAAIiC,YAApB,QAAwC,iBAAxC;AACA,SAASjC,OAAO,IAAIkC,OAApB,QAAmC,WAAnC;AACA,SAASlC,OAAO,IAAImC,kBAApB,QAA8C,wBAA9C;AACA,SAASnC,OAAO,IAAIoC,wCAApB,QAAoE,kDAApE;AACA,SAASpC,OAAO,IAAIqC,UAApB,QAAsC,eAAtC;AACA,SAASrC,OAAO,IAAIsC,mCAApB,QAA+D,4BAA/D;AACA,SAAStC,OAAO,IAAIuC,OAApB,QAAmC,WAAnC;AACA,SAASvC,OAAO,IAAIwC,eAApB,QAA2C,oBAA3C;AACA,SAASxC,OAAO,IAAIyC,mCAApB,QAA+D,6DAA/D;AAEA,SACCC,mBADD,EAECC,mBAFD,EAGCC,oBAHD,QAIO,kBAJP;AAKA,SAAS5C,OAAO,IAAI6C,WAApB,EAAiCC,kBAAjC,QAA2D,gBAA3D,C,CAEA;;AACA,SAAS9C,OAAO,IAAI+C,SAApB,QAAqC,cAArC;AACA,SAAS/C,OAAO,IAAIgD,UAApB,QAAsC,eAAtC;AACA,SAAShD,OAAO,IAAIiD,YAApB,QAAwC,iBAAxC;AACA,SAASjD,OAAO,IAAIkD,oBAApB,QAAgD,0BAAhD;AACA,SAASlD,OAAO,IAAImD,WAApB,QAAuC,gBAAvC;AACA,SAASnD,OAAO,IAAIoD,oBAApB,QAAgD,0BAAhD;AACA,SAASpD,OAAO,IAAIqD,sBAApB,QAAkD,iBAAlD;AACA,SAASrD,OAAO,IAAIsD,QAApB,QAAoC,YAApC;AACA,SAASC,aAAT,QAA8B,8BAA9B;AACA,SAASvD,OAAO,IAAIwD,eAApB,QAA2C,oBAA3C,C,CAEA;;AACA,SAASxD,OAAO,IAAIyD,mBAApB,QAA+C,YAA/C","sourcesContent":["// Block Creation Components\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport {\n\tdefault as MediaUpload,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload';\nexport { default as MediaUploadProgress } from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as useSetting } from './use-setting';\nexport { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\n// Content Related Components\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components\nexport { default as BlockEditorProvider } from './provider';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/index.native.js"],"names":["BlockAlignmentControl","BlockAlignmentToolbar","BlockContextProvider","default","BlockControls","BlockFormatControls","BlockEdit","useBlockEditContext","BlockIcon","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","AlignmentControl","AlignmentToolbar","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","LineHeightControl","PlainText","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","MediaUploadProgress","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","BlockMediaUpdateProgress","URLInput","BlockInvalidWarning","BlockCaption","Caption","PanelColorSettings","__experimentalPanelColorGradientSettings","useSetting","__experimentalUseNoRecursiveRenders","Warning","ContrastChecker","useMultipleOriginColorsAndGradients","BottomSheetSettings","BlockSettingsButton","blockSettingsScreens","VideoPlayer","VIDEO_ASPECT_RATIO","BlockList","BlockMover","BlockToolbar","BlockVariationPicker","BlockStyles","DefaultBlockAppender","__unstableEditorStyles","Inserter","useBlockProps","FloatingToolbar","BlockEditorProvider"],"mappings":"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","sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport {\n\tdefault as MediaUpload,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload';\nexport {\n\tdefault as MediaUploadProgress,\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as useSetting } from './use-setting';\nexport { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"]}
@@ -83,7 +83,7 @@ function BlockPatternsTabs(_ref3) {
83
83
  }
84
84
 
85
85
  return pattern.categories.some(cat => allCategories.some(category => category.name === cat));
86
- }, [allCategories]); // Remove any empty categories
86
+ }, [allCategories]); // Remove any empty categories.
87
87
 
88
88
  const populatedCategories = useMemo(() => {
89
89
  const categories = allCategories.filter(category => allPatterns.some(pattern => {