@wordpress/block-editor 13.1.0 → 13.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 (437) hide show
  1. package/CHANGELOG.md +21 -17
  2. package/README.md +1 -2
  3. package/build/components/block-breadcrumb/index.js +12 -1
  4. package/build/components/block-breadcrumb/index.js.map +1 -1
  5. package/build/components/block-lock/modal.js +67 -67
  6. package/build/components/block-lock/modal.js.map +1 -1
  7. package/build/components/block-lock/toolbar.js +0 -1
  8. package/build/components/block-lock/toolbar.js.map +1 -1
  9. package/build/components/block-mover/button.js +1 -1
  10. package/build/components/block-mover/button.js.map +1 -1
  11. package/build/components/block-mover/index.js +12 -6
  12. package/build/components/block-mover/index.js.map +1 -1
  13. package/build/components/block-pattern-setup/setup-toolbar.js +2 -2
  14. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  15. package/build/components/block-patterns-paging/index.js +5 -7
  16. package/build/components/block-patterns-paging/index.js.map +1 -1
  17. package/build/components/block-quick-navigation/index.js +20 -17
  18. package/build/components/block-quick-navigation/index.js.map +1 -1
  19. package/build/components/block-rename/modal.js +4 -12
  20. package/build/components/block-rename/modal.js.map +1 -1
  21. package/build/components/block-toolbar/shuffle.js +4 -1
  22. package/build/components/block-toolbar/shuffle.js.map +1 -1
  23. package/build/components/block-tools/block-selection-button.js +7 -58
  24. package/build/components/block-tools/block-selection-button.js.map +1 -1
  25. package/build/components/block-tools/block-toolbar-breadcrumb.js +9 -2
  26. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  27. package/build/components/block-tools/index.js +14 -1
  28. package/build/components/block-tools/index.js.map +1 -1
  29. package/build/components/block-tools/use-show-block-tools.js +4 -2
  30. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  31. package/build/components/block-tools/zoom-out-mode-inserters.js +5 -4
  32. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  33. package/build/components/block-tools/zoom-out-popover.js +57 -0
  34. package/build/components/block-tools/zoom-out-popover.js.map +1 -0
  35. package/build/components/block-tools/zoom-out-toolbar.js +138 -0
  36. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -0
  37. package/build/components/button-block-appender/index.js +3 -1
  38. package/build/components/button-block-appender/index.js.map +1 -1
  39. package/build/components/child-layout-control/index.js +193 -127
  40. package/build/components/child-layout-control/index.js.map +1 -1
  41. package/build/components/date-format-picker/index.js +10 -1
  42. package/build/components/date-format-picker/index.js.map +1 -1
  43. package/build/components/dimensions-tool/index.js +6 -4
  44. package/build/components/dimensions-tool/index.js.map +1 -1
  45. package/build/components/font-appearance-control/index.js +26 -61
  46. package/build/components/font-appearance-control/index.js.map +1 -1
  47. package/build/components/global-styles/background-panel.js +178 -116
  48. package/build/components/global-styles/background-panel.js.map +1 -1
  49. package/build/components/global-styles/border-panel.js +2 -1
  50. package/build/components/global-styles/border-panel.js.map +1 -1
  51. package/build/components/global-styles/color-panel.js +2 -1
  52. package/build/components/global-styles/color-panel.js.map +1 -1
  53. package/build/components/global-styles/dimensions-panel.js +2 -1
  54. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  55. package/build/components/global-styles/filters-panel.js +2 -1
  56. package/build/components/global-styles/filters-panel.js.map +1 -1
  57. package/build/components/global-styles/hooks.js +8 -0
  58. package/build/components/global-styles/hooks.js.map +1 -1
  59. package/build/components/global-styles/image-settings-panel.js +2 -1
  60. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  61. package/build/components/global-styles/typography-panel.js +50 -12
  62. package/build/components/global-styles/typography-panel.js.map +1 -1
  63. package/build/components/global-styles/typography-utils.js +50 -0
  64. package/build/components/global-styles/typography-utils.js.map +1 -1
  65. package/build/components/global-styles/use-global-styles-output.js +25 -9
  66. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  67. package/build/components/global-styles/utils.js +17 -7
  68. package/build/components/global-styles/utils.js.map +1 -1
  69. package/build/components/grid/grid-item-movers.js +94 -0
  70. package/build/components/grid/grid-item-movers.js.map +1 -0
  71. package/build/components/{grid-visualizer → grid}/grid-item-resizer.js +18 -56
  72. package/build/components/grid/grid-item-resizer.js.map +1 -0
  73. package/build/components/grid/grid-visualizer.js +305 -0
  74. package/build/components/grid/grid-visualizer.js.map +1 -0
  75. package/build/components/{grid-visualizer → grid}/index.js +14 -0
  76. package/build/components/grid/index.js.map +1 -0
  77. package/build/components/grid/use-get-number-of-blocks-before-cell.js +40 -0
  78. package/build/components/grid/use-get-number-of-blocks-before-cell.js.map +1 -0
  79. package/build/components/grid/use-grid-layout-sync.js +169 -0
  80. package/build/components/grid/use-grid-layout-sync.js.map +1 -0
  81. package/build/components/grid/utils.js +145 -0
  82. package/build/components/grid/utils.js.map +1 -0
  83. package/build/components/image-editor/aspect-ratio-dropdown.js +0 -1
  84. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  85. package/build/components/inner-blocks/index.js +1 -1
  86. package/build/components/inner-blocks/index.js.map +1 -1
  87. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
  88. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  89. package/build/components/inserter/menu.js +26 -4
  90. package/build/components/inserter/menu.js.map +1 -1
  91. package/build/components/inserter/quick-inserter.js +2 -1
  92. package/build/components/inserter/quick-inserter.js.map +1 -1
  93. package/build/components/inspector-controls/block-support-tools-panel.js +2 -1
  94. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  95. package/build/components/link-control/link-preview.js +1 -1
  96. package/build/components/link-control/link-preview.js.map +1 -1
  97. package/build/components/media-placeholder/index.js +19 -23
  98. package/build/components/media-placeholder/index.js.map +1 -1
  99. package/build/components/navigable-toolbar/index.js +3 -1
  100. package/build/components/navigable-toolbar/index.js.map +1 -1
  101. package/build/components/rich-text/event-listeners/input-rules.js +1 -0
  102. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  103. package/build/components/rich-text/index.native.js +10 -4
  104. package/build/components/rich-text/index.native.js.map +1 -1
  105. package/build/components/rich-text/native/index.native.js +14 -0
  106. package/build/components/rich-text/native/index.native.js.map +1 -1
  107. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -1
  108. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  109. package/build/components/tabbed-sidebar/index.js +66 -0
  110. package/build/components/tabbed-sidebar/index.js.map +1 -0
  111. package/build/components/url-popover/index.js +3 -0
  112. package/build/components/url-popover/index.js.map +1 -1
  113. package/build/hooks/background.js +26 -4
  114. package/build/hooks/background.js.map +1 -1
  115. package/build/hooks/block-hooks.js +11 -17
  116. package/build/hooks/block-hooks.js.map +1 -1
  117. package/build/hooks/block-style-variation.js +195 -11
  118. package/build/hooks/block-style-variation.js.map +1 -1
  119. package/build/hooks/duotone.js +16 -11
  120. package/build/hooks/duotone.js.map +1 -1
  121. package/build/hooks/grid-visualizer.js +65 -0
  122. package/build/hooks/grid-visualizer.js.map +1 -0
  123. package/build/hooks/index.js +15 -2
  124. package/build/hooks/index.js.map +1 -1
  125. package/build/hooks/layout-child.js +65 -40
  126. package/build/hooks/layout-child.js.map +1 -1
  127. package/build/hooks/position.js +2 -9
  128. package/build/hooks/position.js.map +1 -1
  129. package/build/hooks/use-bindings-attributes.js +16 -6
  130. package/build/hooks/use-bindings-attributes.js.map +1 -1
  131. package/build/hooks/utils.js +5 -2
  132. package/build/hooks/utils.js.map +1 -1
  133. package/build/layouts/constrained.js +44 -2
  134. package/build/layouts/constrained.js.map +1 -1
  135. package/build/layouts/grid.js +92 -76
  136. package/build/layouts/grid.js.map +1 -1
  137. package/build/lock-unlock.js +1 -1
  138. package/build/lock-unlock.js.map +1 -1
  139. package/build/private-apis.js +6 -1
  140. package/build/private-apis.js.map +1 -1
  141. package/build/store/actions.js +17 -1
  142. package/build/store/actions.js.map +1 -1
  143. package/build/store/defaults.js +0 -2
  144. package/build/store/defaults.js.map +1 -1
  145. package/build/store/defaults.native.js +0 -3
  146. package/build/store/defaults.native.js.map +1 -1
  147. package/build/store/private-keys.js +2 -1
  148. package/build/store/private-keys.js.map +1 -1
  149. package/build/utils/format-font-style.js +45 -0
  150. package/build/utils/format-font-style.js.map +1 -0
  151. package/build/utils/format-font-weight.js +68 -0
  152. package/build/utils/format-font-weight.js.map +1 -0
  153. package/build/utils/get-editor-region.js +34 -0
  154. package/build/utils/get-editor-region.js.map +1 -0
  155. package/build/utils/get-font-styles-and-weights.js +167 -0
  156. package/build/utils/get-font-styles-and-weights.js.map +1 -0
  157. package/build/utils/pasting.js +5 -13
  158. package/build/utils/pasting.js.map +1 -1
  159. package/build-module/components/block-breadcrumb/index.js +12 -1
  160. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  161. package/build-module/components/block-lock/modal.js +67 -67
  162. package/build-module/components/block-lock/modal.js.map +1 -1
  163. package/build-module/components/block-lock/toolbar.js +0 -1
  164. package/build-module/components/block-lock/toolbar.js.map +1 -1
  165. package/build-module/components/block-mover/button.js +1 -1
  166. package/build-module/components/block-mover/button.js.map +1 -1
  167. package/build-module/components/block-mover/index.js +12 -6
  168. package/build-module/components/block-mover/index.js.map +1 -1
  169. package/build-module/components/block-pattern-setup/setup-toolbar.js +2 -2
  170. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  171. package/build-module/components/block-patterns-paging/index.js +5 -7
  172. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  173. package/build-module/components/block-quick-navigation/index.js +20 -17
  174. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  175. package/build-module/components/block-rename/modal.js +5 -13
  176. package/build-module/components/block-rename/modal.js.map +1 -1
  177. package/build-module/components/block-toolbar/shuffle.js +4 -1
  178. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  179. package/build-module/components/block-tools/block-selection-button.js +10 -61
  180. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  181. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +9 -2
  182. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  183. package/build-module/components/block-tools/index.js +14 -1
  184. package/build-module/components/block-tools/index.js.map +1 -1
  185. package/build-module/components/block-tools/use-show-block-tools.js +4 -2
  186. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  187. package/build-module/components/block-tools/zoom-out-mode-inserters.js +5 -4
  188. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  189. package/build-module/components/block-tools/zoom-out-popover.js +48 -0
  190. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -0
  191. package/build-module/components/block-tools/zoom-out-toolbar.js +131 -0
  192. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -0
  193. package/build-module/components/button-block-appender/index.js +3 -1
  194. package/build-module/components/button-block-appender/index.js.map +1 -1
  195. package/build-module/components/child-layout-control/index.js +194 -128
  196. package/build-module/components/child-layout-control/index.js.map +1 -1
  197. package/build-module/components/date-format-picker/index.js +11 -3
  198. package/build-module/components/date-format-picker/index.js.map +1 -1
  199. package/build-module/components/dimensions-tool/index.js +6 -4
  200. package/build-module/components/dimensions-tool/index.js.map +1 -1
  201. package/build-module/components/font-appearance-control/index.js +28 -63
  202. package/build-module/components/font-appearance-control/index.js.map +1 -1
  203. package/build-module/components/global-styles/background-panel.js +181 -119
  204. package/build-module/components/global-styles/background-panel.js.map +1 -1
  205. package/build-module/components/global-styles/border-panel.js +3 -2
  206. package/build-module/components/global-styles/border-panel.js.map +1 -1
  207. package/build-module/components/global-styles/color-panel.js +3 -2
  208. package/build-module/components/global-styles/color-panel.js.map +1 -1
  209. package/build-module/components/global-styles/dimensions-panel.js +3 -2
  210. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  211. package/build-module/components/global-styles/filters-panel.js +3 -2
  212. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  213. package/build-module/components/global-styles/hooks.js +8 -0
  214. package/build-module/components/global-styles/hooks.js.map +1 -1
  215. package/build-module/components/global-styles/image-settings-panel.js +3 -2
  216. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  217. package/build-module/components/global-styles/typography-panel.js +52 -14
  218. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  219. package/build-module/components/global-styles/typography-utils.js +48 -0
  220. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  221. package/build-module/components/global-styles/use-global-styles-output.js +25 -9
  222. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  223. package/build-module/components/global-styles/utils.js +15 -6
  224. package/build-module/components/global-styles/utils.js.map +1 -1
  225. package/build-module/components/grid/grid-item-movers.js +87 -0
  226. package/build-module/components/grid/grid-item-movers.js.map +1 -0
  227. package/build-module/components/{grid-visualizer → grid}/grid-item-resizer.js +13 -51
  228. package/build-module/components/grid/grid-item-resizer.js.map +1 -0
  229. package/build-module/components/grid/grid-visualizer.js +297 -0
  230. package/build-module/components/grid/grid-visualizer.js.map +1 -0
  231. package/build-module/components/grid/index.js +5 -0
  232. package/build-module/components/grid/index.js.map +1 -0
  233. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js +33 -0
  234. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js.map +1 -0
  235. package/build-module/components/grid/use-grid-layout-sync.js +162 -0
  236. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -0
  237. package/build-module/components/grid/utils.js +131 -0
  238. package/build-module/components/grid/utils.js.map +1 -0
  239. package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -1
  240. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  241. package/build-module/components/inner-blocks/index.js +1 -1
  242. package/build-module/components/inner-blocks/index.js.map +1 -1
  243. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
  244. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  245. package/build-module/components/inserter/menu.js +26 -4
  246. package/build-module/components/inserter/menu.js.map +1 -1
  247. package/build-module/components/inserter/quick-inserter.js +2 -1
  248. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  249. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -2
  250. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  251. package/build-module/components/link-control/link-preview.js +1 -1
  252. package/build-module/components/link-control/link-preview.js.map +1 -1
  253. package/build-module/components/media-placeholder/index.js +19 -23
  254. package/build-module/components/media-placeholder/index.js.map +1 -1
  255. package/build-module/components/navigable-toolbar/index.js +3 -1
  256. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  257. package/build-module/components/rich-text/event-listeners/input-rules.js +1 -1
  258. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  259. package/build-module/components/rich-text/index.native.js +11 -5
  260. package/build-module/components/rich-text/index.native.js.map +1 -1
  261. package/build-module/components/rich-text/native/index.native.js +14 -0
  262. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  263. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -1
  264. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  265. package/build-module/components/tabbed-sidebar/index.js +60 -0
  266. package/build-module/components/tabbed-sidebar/index.js.map +1 -0
  267. package/build-module/components/url-popover/index.js +3 -0
  268. package/build-module/components/url-popover/index.js.map +1 -1
  269. package/build-module/hooks/background.js +26 -4
  270. package/build-module/hooks/background.js.map +1 -1
  271. package/build-module/hooks/block-hooks.js +11 -17
  272. package/build-module/hooks/block-hooks.js.map +1 -1
  273. package/build-module/hooks/block-style-variation.js +193 -11
  274. package/build-module/hooks/block-style-variation.js.map +1 -1
  275. package/build-module/hooks/duotone.js +16 -11
  276. package/build-module/hooks/duotone.js.map +1 -1
  277. package/build-module/hooks/grid-visualizer.js +64 -0
  278. package/build-module/hooks/grid-visualizer.js.map +1 -0
  279. package/build-module/hooks/index.js +3 -0
  280. package/build-module/hooks/index.js.map +1 -1
  281. package/build-module/hooks/layout-child.js +63 -38
  282. package/build-module/hooks/layout-child.js.map +1 -1
  283. package/build-module/hooks/position.js +2 -9
  284. package/build-module/hooks/position.js.map +1 -1
  285. package/build-module/hooks/use-bindings-attributes.js +16 -6
  286. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  287. package/build-module/hooks/utils.js +5 -2
  288. package/build-module/hooks/utils.js.map +1 -1
  289. package/build-module/layouts/constrained.js +44 -2
  290. package/build-module/layouts/constrained.js.map +1 -1
  291. package/build-module/layouts/grid.js +92 -76
  292. package/build-module/layouts/grid.js.map +1 -1
  293. package/build-module/lock-unlock.js +1 -1
  294. package/build-module/lock-unlock.js.map +1 -1
  295. package/build-module/private-apis.js +8 -3
  296. package/build-module/private-apis.js.map +1 -1
  297. package/build-module/store/actions.js +17 -1
  298. package/build-module/store/actions.js.map +1 -1
  299. package/build-module/store/defaults.js +0 -2
  300. package/build-module/store/defaults.js.map +1 -1
  301. package/build-module/store/defaults.native.js +0 -3
  302. package/build-module/store/defaults.native.js.map +1 -1
  303. package/build-module/store/private-keys.js +1 -0
  304. package/build-module/store/private-keys.js.map +1 -1
  305. package/build-module/utils/format-font-style.js +39 -0
  306. package/build-module/utils/format-font-style.js.map +1 -0
  307. package/build-module/utils/format-font-weight.js +62 -0
  308. package/build-module/utils/format-font-weight.js.map +1 -0
  309. package/build-module/utils/get-editor-region.js +28 -0
  310. package/build-module/utils/get-editor-region.js.map +1 -0
  311. package/build-module/utils/get-font-styles-and-weights.js +160 -0
  312. package/build-module/utils/get-font-styles-and-weights.js.map +1 -0
  313. package/build-module/utils/pasting.js +5 -13
  314. package/build-module/utils/pasting.js.map +1 -1
  315. package/build-style/content-rtl.css +1 -0
  316. package/build-style/content.css +1 -0
  317. package/build-style/style-rtl.css +238 -106
  318. package/build-style/style.css +238 -106
  319. package/package.json +32 -32
  320. package/src/components/block-breadcrumb/index.js +16 -1
  321. package/src/components/block-lock/modal.js +95 -82
  322. package/src/components/block-lock/style.scss +11 -1
  323. package/src/components/block-lock/toolbar.js +0 -1
  324. package/src/components/block-mover/button.js +1 -1
  325. package/src/components/block-mover/index.js +37 -24
  326. package/src/components/block-pattern-setup/setup-toolbar.js +2 -2
  327. package/src/components/block-patterns-paging/index.js +8 -11
  328. package/src/components/block-patterns-paging/style.scss +18 -0
  329. package/src/components/block-quick-navigation/index.js +21 -28
  330. package/src/components/block-rename/modal.js +2 -8
  331. package/src/components/block-switcher/test/index.js +6 -6
  332. package/src/components/block-toolbar/shuffle.js +4 -1
  333. package/src/components/block-toolbar/style.scss +1 -11
  334. package/src/components/block-tools/block-selection-button.js +11 -83
  335. package/src/components/block-tools/block-toolbar-breadcrumb.js +9 -4
  336. package/src/components/block-tools/index.js +21 -1
  337. package/src/components/block-tools/style.scss +15 -0
  338. package/src/components/block-tools/use-show-block-tools.js +14 -6
  339. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -4
  340. package/src/components/block-tools/zoom-out-popover.js +49 -0
  341. package/src/components/block-tools/zoom-out-toolbar.js +140 -0
  342. package/src/components/button-block-appender/index.js +2 -1
  343. package/src/components/child-layout-control/index.js +243 -160
  344. package/src/components/date-format-picker/index.js +10 -1
  345. package/src/components/date-format-picker/style.scss +0 -9
  346. package/src/components/dimensions-tool/index.js +97 -89
  347. package/src/components/font-appearance-control/index.js +29 -83
  348. package/src/components/font-appearance-control/style.scss +3 -5
  349. package/src/components/global-styles/background-panel.js +249 -170
  350. package/src/components/global-styles/border-panel.js +3 -2
  351. package/src/components/global-styles/color-panel.js +3 -2
  352. package/src/components/global-styles/dimensions-panel.js +3 -2
  353. package/src/components/global-styles/filters-panel.js +3 -2
  354. package/src/components/global-styles/hooks.js +9 -0
  355. package/src/components/global-styles/image-settings-panel.js +3 -2
  356. package/src/components/global-styles/style.scss +105 -20
  357. package/src/components/global-styles/test/typography-utils.js +269 -0
  358. package/src/components/global-styles/test/use-global-styles-output.js +38 -3
  359. package/src/components/global-styles/typography-panel.js +49 -12
  360. package/src/components/global-styles/typography-utils.js +63 -0
  361. package/src/components/global-styles/use-global-styles-output.js +25 -9
  362. package/src/components/global-styles/utils.js +17 -6
  363. package/src/components/grid/grid-item-movers.js +112 -0
  364. package/src/components/{grid-visualizer → grid}/grid-item-resizer.js +15 -52
  365. package/src/components/grid/grid-visualizer.js +384 -0
  366. package/src/components/grid/index.js +4 -0
  367. package/src/components/grid/style.scss +98 -0
  368. package/src/components/grid/use-get-number-of-blocks-before-cell.js +30 -0
  369. package/src/components/grid/use-grid-layout-sync.js +170 -0
  370. package/src/components/grid/utils.js +178 -0
  371. package/src/components/iframe/content.scss +1 -0
  372. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -1
  373. package/src/components/inner-blocks/index.js +4 -1
  374. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -16
  375. package/src/components/inserter/menu.js +47 -13
  376. package/src/components/inserter/quick-inserter.js +6 -1
  377. package/src/components/inserter/style.scss +1 -49
  378. package/src/components/inspector-controls/block-support-tools-panel.js +3 -3
  379. package/src/components/link-control/link-preview.js +1 -1
  380. package/src/components/media-placeholder/index.js +22 -32
  381. package/src/components/navigable-toolbar/index.js +3 -1
  382. package/src/components/rich-text/event-listeners/input-rules.js +1 -1
  383. package/src/components/rich-text/index.native.js +10 -8
  384. package/src/components/rich-text/native/index.native.js +17 -0
  385. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +6 -1
  386. package/src/components/tabbed-sidebar/README.md +76 -0
  387. package/src/components/tabbed-sidebar/index.js +70 -0
  388. package/src/components/tabbed-sidebar/style.scss +53 -0
  389. package/src/components/url-popover/index.js +3 -0
  390. package/src/hooks/background.js +25 -10
  391. package/src/hooks/block-hooks.js +9 -16
  392. package/src/hooks/block-style-variation.js +226 -9
  393. package/src/hooks/duotone.js +16 -12
  394. package/src/hooks/grid-visualizer.js +64 -0
  395. package/src/hooks/index.js +3 -0
  396. package/src/hooks/layout-child.js +75 -39
  397. package/src/hooks/position.js +3 -10
  398. package/src/hooks/test/get-variation-styles-with-ref-values.js +91 -0
  399. package/src/hooks/use-bindings-attributes.js +18 -4
  400. package/src/hooks/utils.js +5 -1
  401. package/src/layouts/constrained.js +43 -2
  402. package/src/layouts/grid.js +175 -88
  403. package/src/lock-unlock.js +1 -1
  404. package/src/private-apis.js +12 -1
  405. package/src/store/actions.js +21 -1
  406. package/src/store/defaults.js +0 -2
  407. package/src/store/defaults.native.js +0 -3
  408. package/src/store/private-keys.js +1 -0
  409. package/src/style.scss +2 -2
  410. package/src/utils/format-font-style.js +40 -0
  411. package/src/utils/format-font-weight.js +63 -0
  412. package/src/utils/get-editor-region.js +31 -0
  413. package/src/utils/get-font-styles-and-weights.js +191 -0
  414. package/src/utils/pasting.js +5 -12
  415. package/src/utils/test/format-font-style.js +34 -0
  416. package/src/utils/test/format-font-weight.js +66 -0
  417. package/src/utils/test/get-font-styles-and-weights.js +513 -0
  418. package/tsconfig.tsbuildinfo +1 -1
  419. package/build/components/grid-visualizer/grid-item-resizer.js.map +0 -1
  420. package/build/components/grid-visualizer/grid-visualizer.js +0 -92
  421. package/build/components/grid-visualizer/grid-visualizer.js.map +0 -1
  422. package/build/components/grid-visualizer/index.js.map +0 -1
  423. package/build/components/grid-visualizer/utils.js +0 -10
  424. package/build/components/grid-visualizer/utils.js.map +0 -1
  425. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +0 -1
  426. package/build-module/components/grid-visualizer/grid-visualizer.js +0 -84
  427. package/build-module/components/grid-visualizer/grid-visualizer.js.map +0 -1
  428. package/build-module/components/grid-visualizer/index.js +0 -3
  429. package/build-module/components/grid-visualizer/index.js.map +0 -1
  430. package/build-module/components/grid-visualizer/utils.js +0 -4
  431. package/build-module/components/grid-visualizer/utils.js.map +0 -1
  432. package/src/components/grid-visualizer/grid-visualizer.js +0 -101
  433. package/src/components/grid-visualizer/index.js +0 -2
  434. package/src/components/grid-visualizer/style.scss +0 -34
  435. package/src/components/grid-visualizer/utils.js +0 -5
  436. package/src/hooks/position.scss +0 -18
  437. /package/src/components/font-sizes/{README.MD → README.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","PREFERENCES_DEFAULTS","exports","insertUsage","SETTINGS_DEFAULTS","alignWide","supportsLayout","colors","name","__","slug","color","fontSizes","_x","size","imageDefaultSize","imageSizes","imageEditing","maxWidth","allowedBlockTypes","maxUploadFileSize","allowedMimeTypes","canLockBlocks","enableOpenverseMediaCategory","clearBlockSelection","__experimentalCanUserUseUnfilteredHTML","__experimentalBlockDirectory","__mobileEnablePageTemplates","__experimentalBlockPatterns","__experimentalBlockPatternCategories","__unstableGalleryWithImageBlocks","__unstableIsPreviewMode","blockInspectorAnimation","animationParent","enterDirection","generateAnchors","gradients","gradient","__unstableResolvedAssets","styles","scripts"],"sources":["@wordpress/block-editor/src/store/defaults.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\nexport const PREFERENCES_DEFAULTS = {\n\tinsertUsage: {},\n};\n\n/**\n * The default editor settings\n *\n * @typedef {Object} SETTINGS_DEFAULT\n * @property {boolean} alignWide Enable/Disable Wide/Full Alignments\n * @property {boolean} supportsLayout Enable/disable layouts support in container blocks.\n * @property {boolean} imageEditing Image Editing settings set to false to disable.\n * @property {Array} imageSizes Available image sizes\n * @property {number} maxWidth Max width to constraint resizing\n * @property {boolean|Array} allowedBlockTypes Allowed block types\n * @property {boolean} hasFixedToolbar Whether or not the editor toolbar is fixed\n * @property {boolean} distractionFree Whether or not the editor UI is distraction free\n * @property {boolean} focusMode Whether the focus mode is enabled or not\n * @property {Array} styles Editor Styles\n * @property {boolean} keepCaretInsideBlock Whether caret should move between blocks in edit mode\n * @property {string} bodyPlaceholder Empty post placeholder\n * @property {string} titlePlaceholder Empty title placeholder\n * @property {boolean} canLockBlocks Whether the user can manage Block Lock state\n * @property {boolean} codeEditingEnabled Whether or not the user can switch to the code editor\n * @property {boolean} generateAnchors Enable/Disable auto anchor generation for Heading blocks\n * @property {boolean} enableOpenverseMediaCategory Enable/Disable the Openverse media category in the inserter.\n * @property {boolean} clearBlockSelection Whether the block editor should clear selection on mousedown when a block is not clicked.\n * @property {boolean} __experimentalCanUserUseUnfilteredHTML Whether the user should be able to use unfiltered HTML or the HTML should be filtered e.g., to remove elements considered insecure like iframes.\n * @property {boolean} __experimentalBlockDirectory Whether the user has enabled the Block Directory\n * @property {Array} __experimentalBlockPatterns Array of objects representing the block patterns\n * @property {Array} __experimentalBlockPatternCategories Array of objects representing the block pattern categories\n * @property {boolean} __unstableGalleryWithImageBlocks Whether the user has enabled the refactored gallery block which uses InnerBlocks\n */\nexport const SETTINGS_DEFAULTS = {\n\talignWide: false,\n\tsupportsLayout: true,\n\n\t// colors setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tcolors: [\n\t\t{\n\t\t\tname: __( 'Black' ),\n\t\t\tslug: 'black',\n\t\t\tcolor: '#000000',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Cyan bluish gray' ),\n\t\t\tslug: 'cyan-bluish-gray',\n\t\t\tcolor: '#abb8c3',\n\t\t},\n\t\t{\n\t\t\tname: __( 'White' ),\n\t\t\tslug: 'white',\n\t\t\tcolor: '#ffffff',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale pink' ),\n\t\t\tslug: 'pale-pink',\n\t\t\tcolor: '#f78da7',\n\t\t},\n\t\t{ name: __( 'Vivid red' ), slug: 'vivid-red', color: '#cf2e2e' },\n\t\t{\n\t\t\tname: __( 'Luminous vivid orange' ),\n\t\t\tslug: 'luminous-vivid-orange',\n\t\t\tcolor: '#ff6900',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid amber' ),\n\t\t\tslug: 'luminous-vivid-amber',\n\t\t\tcolor: '#fcb900',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Light green cyan' ),\n\t\t\tslug: 'light-green-cyan',\n\t\t\tcolor: '#7bdcb5',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid green cyan' ),\n\t\t\tslug: 'vivid-green-cyan',\n\t\t\tcolor: '#00d084',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale cyan blue' ),\n\t\t\tslug: 'pale-cyan-blue',\n\t\t\tcolor: '#8ed1fc',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid cyan blue' ),\n\t\t\tslug: 'vivid-cyan-blue',\n\t\t\tcolor: '#0693e3',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid purple' ),\n\t\t\tslug: 'vivid-purple',\n\t\t\tcolor: '#9b51e0',\n\t\t},\n\t],\n\t// fontSizes setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tfontSizes: [\n\t\t{\n\t\t\tname: _x( 'Small', 'font size name' ),\n\t\t\tsize: 13,\n\t\t\tslug: 'small',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Normal', 'font size name' ),\n\t\t\tsize: 16,\n\t\t\tslug: 'normal',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Medium', 'font size name' ),\n\t\t\tsize: 20,\n\t\t\tslug: 'medium',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Large', 'font size name' ),\n\t\t\tsize: 36,\n\t\t\tslug: 'large',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Huge', 'font size name' ),\n\t\t\tsize: 42,\n\t\t\tslug: 'huge',\n\t\t},\n\t],\n\n\t// Image default size slug.\n\timageDefaultSize: 'large',\n\n\timageSizes: [\n\t\t{ slug: 'thumbnail', name: __( 'Thumbnail' ) },\n\t\t{ slug: 'medium', name: __( 'Medium' ) },\n\t\t{ slug: 'large', name: __( 'Large' ) },\n\t\t{ slug: 'full', name: __( 'Full Size' ) },\n\t],\n\n\t// Allow plugin to disable Image Editor if need be.\n\timageEditing: true,\n\n\t// This is current max width of the block inner area\n\t// It's used to constraint image resizing and this value could be overridden later by themes\n\tmaxWidth: 580,\n\n\t// Allowed block types for the editor, defaulting to true (all supported).\n\tallowedBlockTypes: true,\n\n\t// Maximum upload size in bytes allowed for the site.\n\tmaxUploadFileSize: 0,\n\n\t// List of allowed mime types and file extensions.\n\tallowedMimeTypes: null,\n\n\t// Allows to disable block locking interface.\n\tcanLockBlocks: true,\n\n\t// Allows to disable Openverse media category in the inserter.\n\tenableOpenverseMediaCategory: true,\n\n\tclearBlockSelection: true,\n\n\t__experimentalCanUserUseUnfilteredHTML: false,\n\t__experimentalBlockDirectory: false,\n\t__mobileEnablePageTemplates: false,\n\t__experimentalBlockPatterns: [],\n\t__experimentalBlockPatternCategories: [],\n\t__unstableGalleryWithImageBlocks: false,\n\t__unstableIsPreviewMode: false,\n\n\t// These settings will be completely revamped in the future.\n\t// The goal is to evolve this into an API which will instruct\n\t// the block inspector to animate transitions between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tblockInspectorAnimation: {\n\t\tanimationParent: 'core/navigation',\n\t\t'core/navigation': { enterDirection: 'leftToRight' },\n\t\t'core/navigation-submenu': { enterDirection: 'rightToLeft' },\n\t\t'core/navigation-link': { enterDirection: 'rightToLeft' },\n\t\t'core/search': { enterDirection: 'rightToLeft' },\n\t\t'core/social-links': { enterDirection: 'rightToLeft' },\n\t\t'core/page-list': { enterDirection: 'rightToLeft' },\n\t\t'core/spacer': { enterDirection: 'rightToLeft' },\n\t\t'core/home-link': { enterDirection: 'rightToLeft' },\n\t\t'core/site-title': { enterDirection: 'rightToLeft' },\n\t\t'core/site-logo': { enterDirection: 'rightToLeft' },\n\t},\n\n\tgenerateAnchors: false,\n\t// gradients setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tgradients: [\n\t\t{\n\t\t\tname: __( 'Vivid cyan blue to vivid purple' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',\n\t\t\tslug: 'vivid-cyan-blue-to-vivid-purple',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Light green cyan to vivid green cyan' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)',\n\t\t\tslug: 'light-green-cyan-to-vivid-green-cyan',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid amber to luminous vivid orange' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)',\n\t\t\tslug: 'luminous-vivid-amber-to-luminous-vivid-orange',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid orange to vivid red' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)',\n\t\t\tslug: 'luminous-vivid-orange-to-vivid-red',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Very light gray to cyan bluish gray' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)',\n\t\t\tslug: 'very-light-gray-to-cyan-bluish-gray',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Cool to warm spectrum' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)',\n\t\t\tslug: 'cool-to-warm-spectrum',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Blush light purple' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)',\n\t\t\tslug: 'blush-light-purple',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Blush bordeaux' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)',\n\t\t\tslug: 'blush-bordeaux',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous dusk' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)',\n\t\t\tslug: 'luminous-dusk',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale ocean' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)',\n\t\t\tslug: 'pale-ocean',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Electric grass' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)',\n\t\t\tslug: 'electric-grass',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Midnight' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)',\n\t\t\tslug: 'midnight',\n\t\t},\n\t],\n\n\t__unstableResolvedAssets: { styles: [], scripts: [] },\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","PREFERENCES_DEFAULTS","exports","insertUsage","SETTINGS_DEFAULTS","alignWide","supportsLayout","colors","name","__","slug","color","fontSizes","_x","size","imageDefaultSize","imageSizes","imageEditing","maxWidth","allowedBlockTypes","maxUploadFileSize","allowedMimeTypes","canLockBlocks","enableOpenverseMediaCategory","clearBlockSelection","__experimentalCanUserUseUnfilteredHTML","__experimentalBlockDirectory","__mobileEnablePageTemplates","__experimentalBlockPatterns","__experimentalBlockPatternCategories","__unstableIsPreviewMode","blockInspectorAnimation","animationParent","enterDirection","generateAnchors","gradients","gradient","__unstableResolvedAssets","styles","scripts"],"sources":["@wordpress/block-editor/src/store/defaults.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\nexport const PREFERENCES_DEFAULTS = {\n\tinsertUsage: {},\n};\n\n/**\n * The default editor settings\n *\n * @typedef {Object} SETTINGS_DEFAULT\n * @property {boolean} alignWide Enable/Disable Wide/Full Alignments\n * @property {boolean} supportsLayout Enable/disable layouts support in container blocks.\n * @property {boolean} imageEditing Image Editing settings set to false to disable.\n * @property {Array} imageSizes Available image sizes\n * @property {number} maxWidth Max width to constraint resizing\n * @property {boolean|Array} allowedBlockTypes Allowed block types\n * @property {boolean} hasFixedToolbar Whether or not the editor toolbar is fixed\n * @property {boolean} distractionFree Whether or not the editor UI is distraction free\n * @property {boolean} focusMode Whether the focus mode is enabled or not\n * @property {Array} styles Editor Styles\n * @property {boolean} keepCaretInsideBlock Whether caret should move between blocks in edit mode\n * @property {string} bodyPlaceholder Empty post placeholder\n * @property {string} titlePlaceholder Empty title placeholder\n * @property {boolean} canLockBlocks Whether the user can manage Block Lock state\n * @property {boolean} codeEditingEnabled Whether or not the user can switch to the code editor\n * @property {boolean} generateAnchors Enable/Disable auto anchor generation for Heading blocks\n * @property {boolean} enableOpenverseMediaCategory Enable/Disable the Openverse media category in the inserter.\n * @property {boolean} clearBlockSelection Whether the block editor should clear selection on mousedown when a block is not clicked.\n * @property {boolean} __experimentalCanUserUseUnfilteredHTML Whether the user should be able to use unfiltered HTML or the HTML should be filtered e.g., to remove elements considered insecure like iframes.\n * @property {boolean} __experimentalBlockDirectory Whether the user has enabled the Block Directory\n * @property {Array} __experimentalBlockPatterns Array of objects representing the block patterns\n * @property {Array} __experimentalBlockPatternCategories Array of objects representing the block pattern categories\n */\nexport const SETTINGS_DEFAULTS = {\n\talignWide: false,\n\tsupportsLayout: true,\n\n\t// colors setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tcolors: [\n\t\t{\n\t\t\tname: __( 'Black' ),\n\t\t\tslug: 'black',\n\t\t\tcolor: '#000000',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Cyan bluish gray' ),\n\t\t\tslug: 'cyan-bluish-gray',\n\t\t\tcolor: '#abb8c3',\n\t\t},\n\t\t{\n\t\t\tname: __( 'White' ),\n\t\t\tslug: 'white',\n\t\t\tcolor: '#ffffff',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale pink' ),\n\t\t\tslug: 'pale-pink',\n\t\t\tcolor: '#f78da7',\n\t\t},\n\t\t{ name: __( 'Vivid red' ), slug: 'vivid-red', color: '#cf2e2e' },\n\t\t{\n\t\t\tname: __( 'Luminous vivid orange' ),\n\t\t\tslug: 'luminous-vivid-orange',\n\t\t\tcolor: '#ff6900',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid amber' ),\n\t\t\tslug: 'luminous-vivid-amber',\n\t\t\tcolor: '#fcb900',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Light green cyan' ),\n\t\t\tslug: 'light-green-cyan',\n\t\t\tcolor: '#7bdcb5',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid green cyan' ),\n\t\t\tslug: 'vivid-green-cyan',\n\t\t\tcolor: '#00d084',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale cyan blue' ),\n\t\t\tslug: 'pale-cyan-blue',\n\t\t\tcolor: '#8ed1fc',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid cyan blue' ),\n\t\t\tslug: 'vivid-cyan-blue',\n\t\t\tcolor: '#0693e3',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid purple' ),\n\t\t\tslug: 'vivid-purple',\n\t\t\tcolor: '#9b51e0',\n\t\t},\n\t],\n\t// fontSizes setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tfontSizes: [\n\t\t{\n\t\t\tname: _x( 'Small', 'font size name' ),\n\t\t\tsize: 13,\n\t\t\tslug: 'small',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Normal', 'font size name' ),\n\t\t\tsize: 16,\n\t\t\tslug: 'normal',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Medium', 'font size name' ),\n\t\t\tsize: 20,\n\t\t\tslug: 'medium',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Large', 'font size name' ),\n\t\t\tsize: 36,\n\t\t\tslug: 'large',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Huge', 'font size name' ),\n\t\t\tsize: 42,\n\t\t\tslug: 'huge',\n\t\t},\n\t],\n\n\t// Image default size slug.\n\timageDefaultSize: 'large',\n\n\timageSizes: [\n\t\t{ slug: 'thumbnail', name: __( 'Thumbnail' ) },\n\t\t{ slug: 'medium', name: __( 'Medium' ) },\n\t\t{ slug: 'large', name: __( 'Large' ) },\n\t\t{ slug: 'full', name: __( 'Full Size' ) },\n\t],\n\n\t// Allow plugin to disable Image Editor if need be.\n\timageEditing: true,\n\n\t// This is current max width of the block inner area\n\t// It's used to constraint image resizing and this value could be overridden later by themes\n\tmaxWidth: 580,\n\n\t// Allowed block types for the editor, defaulting to true (all supported).\n\tallowedBlockTypes: true,\n\n\t// Maximum upload size in bytes allowed for the site.\n\tmaxUploadFileSize: 0,\n\n\t// List of allowed mime types and file extensions.\n\tallowedMimeTypes: null,\n\n\t// Allows to disable block locking interface.\n\tcanLockBlocks: true,\n\n\t// Allows to disable Openverse media category in the inserter.\n\tenableOpenverseMediaCategory: true,\n\n\tclearBlockSelection: true,\n\n\t__experimentalCanUserUseUnfilteredHTML: false,\n\t__experimentalBlockDirectory: false,\n\t__mobileEnablePageTemplates: false,\n\t__experimentalBlockPatterns: [],\n\t__experimentalBlockPatternCategories: [],\n\t__unstableIsPreviewMode: false,\n\n\t// These settings will be completely revamped in the future.\n\t// The goal is to evolve this into an API which will instruct\n\t// the block inspector to animate transitions between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tblockInspectorAnimation: {\n\t\tanimationParent: 'core/navigation',\n\t\t'core/navigation': { enterDirection: 'leftToRight' },\n\t\t'core/navigation-submenu': { enterDirection: 'rightToLeft' },\n\t\t'core/navigation-link': { enterDirection: 'rightToLeft' },\n\t\t'core/search': { enterDirection: 'rightToLeft' },\n\t\t'core/social-links': { enterDirection: 'rightToLeft' },\n\t\t'core/page-list': { enterDirection: 'rightToLeft' },\n\t\t'core/spacer': { enterDirection: 'rightToLeft' },\n\t\t'core/home-link': { enterDirection: 'rightToLeft' },\n\t\t'core/site-title': { enterDirection: 'rightToLeft' },\n\t\t'core/site-logo': { enterDirection: 'rightToLeft' },\n\t},\n\n\tgenerateAnchors: false,\n\t// gradients setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tgradients: [\n\t\t{\n\t\t\tname: __( 'Vivid cyan blue to vivid purple' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',\n\t\t\tslug: 'vivid-cyan-blue-to-vivid-purple',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Light green cyan to vivid green cyan' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)',\n\t\t\tslug: 'light-green-cyan-to-vivid-green-cyan',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid amber to luminous vivid orange' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)',\n\t\t\tslug: 'luminous-vivid-amber-to-luminous-vivid-orange',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid orange to vivid red' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)',\n\t\t\tslug: 'luminous-vivid-orange-to-vivid-red',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Very light gray to cyan bluish gray' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)',\n\t\t\tslug: 'very-light-gray-to-cyan-bluish-gray',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Cool to warm spectrum' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)',\n\t\t\tslug: 'cool-to-warm-spectrum',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Blush light purple' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)',\n\t\t\tslug: 'blush-light-purple',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Blush bordeaux' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)',\n\t\t\tslug: 'blush-bordeaux',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous dusk' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)',\n\t\t\tslug: 'luminous-dusk',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale ocean' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)',\n\t\t\tslug: 'pale-ocean',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Electric grass' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)',\n\t\t\tslug: 'electric-grass',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Midnight' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)',\n\t\t\tslug: 'midnight',\n\t\t},\n\t],\n\n\t__unstableResolvedAssets: { styles: [], scripts: [] },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -19,9 +19,6 @@ const SETTINGS_DEFAULTS = exports.SETTINGS_DEFAULTS = {
19
19
  ..._defaults.SETTINGS_DEFAULTS,
20
20
  // Don't add the default font sizes for standard themes
21
21
  fontSizes: undefined,
22
- // FOR TESTING ONLY - Later, this will come from a REST API
23
- // eslint-disable-next-line no-undef
24
- __unstableGalleryWithImageBlocks: __DEV__,
25
22
  alignWide: true,
26
23
  supportsLayout: false,
27
24
  __experimentalFeatures: {
@@ -1 +1 @@
1
- {"version":3,"names":["_defaults","require","SETTINGS_DEFAULTS","exports","SETTINGS","fontSizes","undefined","__unstableGalleryWithImageBlocks","__DEV__","alignWide","supportsLayout","__experimentalFeatures","color","text","background"],"sources":["@wordpress/block-editor/src/store/defaults.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tPREFERENCES_DEFAULTS,\n\tSETTINGS_DEFAULTS as SETTINGS,\n} from './defaults.js';\n\nconst SETTINGS_DEFAULTS = {\n\t...SETTINGS,\n\t// Don't add the default font sizes for standard themes\n\tfontSizes: undefined,\n\t// FOR TESTING ONLY - Later, this will come from a REST API\n\t// eslint-disable-next-line no-undef\n\t__unstableGalleryWithImageBlocks: __DEV__,\n\talignWide: true,\n\tsupportsLayout: false,\n\t__experimentalFeatures: {\n\t\tcolor: {\n\t\t\ttext: true,\n\t\t\tbackground: true,\n\t\t},\n\t},\n};\n\nexport { PREFERENCES_DEFAULTS, SETTINGS_DEFAULTS };\n"],"mappings":";;;;;;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAMA,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EACzB,GAAGE,2BAAQ;EACX;EACAC,SAAS,EAAEC,SAAS;EACpB;EACA;EACAC,gCAAgC,EAAEC,OAAO;EACzCC,SAAS,EAAE,IAAI;EACfC,cAAc,EAAE,KAAK;EACrBC,sBAAsB,EAAE;IACvBC,KAAK,EAAE;MACNC,IAAI,EAAE,IAAI;MACVC,UAAU,EAAE;IACb;EACD;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_defaults","require","SETTINGS_DEFAULTS","exports","SETTINGS","fontSizes","undefined","alignWide","supportsLayout","__experimentalFeatures","color","text","background"],"sources":["@wordpress/block-editor/src/store/defaults.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tPREFERENCES_DEFAULTS,\n\tSETTINGS_DEFAULTS as SETTINGS,\n} from './defaults.js';\n\nconst SETTINGS_DEFAULTS = {\n\t...SETTINGS,\n\t// Don't add the default font sizes for standard themes\n\tfontSizes: undefined,\n\talignWide: true,\n\tsupportsLayout: false,\n\t__experimentalFeatures: {\n\t\tcolor: {\n\t\t\ttext: true,\n\t\t\tbackground: true,\n\t\t},\n\t},\n};\n\nexport { PREFERENCES_DEFAULTS, SETTINGS_DEFAULTS };\n"],"mappings":";;;;;;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAMA,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EACzB,GAAGE,2BAAQ;EACX;EACAC,SAAS,EAAEC,SAAS;EACpBC,SAAS,EAAE,IAAI;EACfC,cAAc,EAAE,KAAK;EACrBC,sBAAsB,EAAE;IACvBC,KAAK,EAAE;MACNC,IAAI,EAAE,IAAI;MACVC,UAAU,EAAE;IACb;EACD;AACD,CAAC","ignoreList":[]}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectBlockPatternsKey = exports.reusableBlocksSelectKey = exports.globalStylesDataKey = void 0;
6
+ exports.selectBlockPatternsKey = exports.reusableBlocksSelectKey = exports.globalStylesLinksDataKey = exports.globalStylesDataKey = void 0;
7
7
  const globalStylesDataKey = exports.globalStylesDataKey = Symbol('globalStylesDataKey');
8
+ const globalStylesLinksDataKey = exports.globalStylesLinksDataKey = Symbol('globalStylesLinks');
8
9
  const selectBlockPatternsKey = exports.selectBlockPatternsKey = Symbol('selectBlockPatternsKey');
9
10
  const reusableBlocksSelectKey = exports.reusableBlocksSelectKey = Symbol('reusableBlocksSelect');
10
11
  //# sourceMappingURL=private-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalStylesDataKey","exports","Symbol","selectBlockPatternsKey","reusableBlocksSelectKey"],"sources":["@wordpress/block-editor/src/store/private-keys.js"],"sourcesContent":["export const globalStylesDataKey = Symbol( 'globalStylesDataKey' );\nexport const selectBlockPatternsKey = Symbol( 'selectBlockPatternsKey' );\nexport const reusableBlocksSelectKey = Symbol( 'reusableBlocksSelect' );\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,MAAM,CAAE,qBAAsB,CAAC;AAC3D,MAAMC,sBAAsB,GAAAF,OAAA,CAAAE,sBAAA,GAAGD,MAAM,CAAE,wBAAyB,CAAC;AACjE,MAAME,uBAAuB,GAAAH,OAAA,CAAAG,uBAAA,GAAGF,MAAM,CAAE,sBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["globalStylesDataKey","exports","Symbol","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey"],"sources":["@wordpress/block-editor/src/store/private-keys.js"],"sourcesContent":["export const globalStylesDataKey = Symbol( 'globalStylesDataKey' );\nexport const globalStylesLinksDataKey = Symbol( 'globalStylesLinks' );\nexport const selectBlockPatternsKey = Symbol( 'selectBlockPatternsKey' );\nexport const reusableBlocksSelectKey = Symbol( 'reusableBlocksSelect' );\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,MAAM,CAAE,qBAAsB,CAAC;AAC3D,MAAMC,wBAAwB,GAAAF,OAAA,CAAAE,wBAAA,GAAGD,MAAM,CAAE,mBAAoB,CAAC;AAC9D,MAAME,sBAAsB,GAAAH,OAAA,CAAAG,sBAAA,GAAGF,MAAM,CAAE,wBAAyB,CAAC;AACjE,MAAMG,uBAAuB,GAAAJ,OAAA,CAAAI,uBAAA,GAAGH,MAAM,CAAE,sBAAuB,CAAC","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatFontStyle = formatFontStyle;
7
+ var _i18n = require("@wordpress/i18n");
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ /**
13
+ * Formats font styles to human readable names.
14
+ *
15
+ * @param {string} fontStyle font style string
16
+ * @return {Object} new object with formatted font style
17
+ */
18
+ function formatFontStyle(fontStyle) {
19
+ if (!fontStyle) {
20
+ return {};
21
+ }
22
+ if (typeof fontStyle === 'object') {
23
+ return fontStyle;
24
+ }
25
+ let name;
26
+ switch (fontStyle) {
27
+ case 'normal':
28
+ name = (0, _i18n._x)('Regular', 'font style');
29
+ break;
30
+ case 'italic':
31
+ name = (0, _i18n._x)('Italic', 'font style');
32
+ break;
33
+ case 'oblique':
34
+ name = (0, _i18n._x)('Oblique', 'font style');
35
+ break;
36
+ default:
37
+ name = fontStyle;
38
+ break;
39
+ }
40
+ return {
41
+ name,
42
+ value: fontStyle
43
+ };
44
+ }
45
+ //# sourceMappingURL=format-font-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","formatFontStyle","fontStyle","name","_x","value"],"sources":["@wordpress/block-editor/src/utils/format-font-style.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Formats font styles to human readable names.\n *\n * @param {string} fontStyle font style string\n * @return {Object} new object with formatted font style\n */\nexport function formatFontStyle( fontStyle ) {\n\tif ( ! fontStyle ) {\n\t\treturn {};\n\t}\n\n\tif ( typeof fontStyle === 'object' ) {\n\t\treturn fontStyle;\n\t}\n\n\tlet name;\n\n\tswitch ( fontStyle ) {\n\t\tcase 'normal':\n\t\t\tname = _x( 'Regular', 'font style' );\n\t\t\tbreak;\n\t\tcase 'italic':\n\t\t\tname = _x( 'Italic', 'font style' );\n\t\t\tbreak;\n\t\tcase 'oblique':\n\t\t\tname = _x( 'Oblique', 'font style' );\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tname = fontStyle;\n\t\t\tbreak;\n\t}\n\n\treturn { name, value: fontStyle };\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAAEC,SAAS,EAAG;EAC5C,IAAK,CAAEA,SAAS,EAAG;IAClB,OAAO,CAAC,CAAC;EACV;EAEA,IAAK,OAAOA,SAAS,KAAK,QAAQ,EAAG;IACpC,OAAOA,SAAS;EACjB;EAEA,IAAIC,IAAI;EAER,QAASD,SAAS;IACjB,KAAK,QAAQ;MACZC,IAAI,GAAG,IAAAC,QAAE,EAAE,SAAS,EAAE,YAAa,CAAC;MACpC;IACD,KAAK,QAAQ;MACZD,IAAI,GAAG,IAAAC,QAAE,EAAE,QAAQ,EAAE,YAAa,CAAC;MACnC;IACD,KAAK,SAAS;MACbD,IAAI,GAAG,IAAAC,QAAE,EAAE,SAAS,EAAE,YAAa,CAAC;MACpC;IAED;MACCD,IAAI,GAAGD,SAAS;MAChB;EACF;EAEA,OAAO;IAAEC,IAAI;IAAEE,KAAK,EAAEH;EAAU,CAAC;AAClC","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatFontWeight = formatFontWeight;
7
+ var _i18n = require("@wordpress/i18n");
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ /**
13
+ * Formats font weights to human readable names.
14
+ *
15
+ * @param {string} fontWeight font weight string
16
+ * @return {Object} new object with formatted font weight
17
+ */
18
+ function formatFontWeight(fontWeight) {
19
+ if (!fontWeight) {
20
+ return {};
21
+ }
22
+ if (typeof fontWeight === 'object') {
23
+ return fontWeight;
24
+ }
25
+ let name;
26
+ switch (fontWeight) {
27
+ case 'normal':
28
+ case '400':
29
+ name = (0, _i18n._x)('Regular', 'font weight');
30
+ break;
31
+ case 'bold':
32
+ case '700':
33
+ name = (0, _i18n._x)('Bold', 'font weight');
34
+ break;
35
+ case '100':
36
+ name = (0, _i18n._x)('Thin', 'font weight');
37
+ break;
38
+ case '200':
39
+ name = (0, _i18n._x)('Extra Light', 'font weight');
40
+ break;
41
+ case '300':
42
+ name = (0, _i18n._x)('Light', 'font weight');
43
+ break;
44
+ case '500':
45
+ name = (0, _i18n._x)('Medium', 'font weight');
46
+ break;
47
+ case '600':
48
+ name = (0, _i18n._x)('Semi Bold', 'font weight');
49
+ break;
50
+ case '800':
51
+ name = (0, _i18n._x)('Extra Bold', 'font weight');
52
+ break;
53
+ case '900':
54
+ name = (0, _i18n._x)('Black', 'font weight');
55
+ break;
56
+ case '1000':
57
+ name = (0, _i18n._x)('Extra Black', 'font weight');
58
+ break;
59
+ default:
60
+ name = fontWeight;
61
+ break;
62
+ }
63
+ return {
64
+ name,
65
+ value: fontWeight
66
+ };
67
+ }
68
+ //# sourceMappingURL=format-font-weight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","formatFontWeight","fontWeight","name","_x","value"],"sources":["@wordpress/block-editor/src/utils/format-font-weight.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Formats font weights to human readable names.\n *\n * @param {string} fontWeight font weight string\n * @return {Object} new object with formatted font weight\n */\nexport function formatFontWeight( fontWeight ) {\n\tif ( ! fontWeight ) {\n\t\treturn {};\n\t}\n\n\tif ( typeof fontWeight === 'object' ) {\n\t\treturn fontWeight;\n\t}\n\n\tlet name;\n\n\tswitch ( fontWeight ) {\n\t\tcase 'normal':\n\t\tcase '400':\n\t\t\tname = _x( 'Regular', 'font weight' );\n\t\t\tbreak;\n\t\tcase 'bold':\n\t\tcase '700':\n\t\t\tname = _x( 'Bold', 'font weight' );\n\t\t\tbreak;\n\t\tcase '100':\n\t\t\tname = _x( 'Thin', 'font weight' );\n\t\t\tbreak;\n\t\tcase '200':\n\t\t\tname = _x( 'Extra Light', 'font weight' );\n\t\t\tbreak;\n\t\tcase '300':\n\t\t\tname = _x( 'Light', 'font weight' );\n\t\t\tbreak;\n\t\tcase '500':\n\t\t\tname = _x( 'Medium', 'font weight' );\n\t\t\tbreak;\n\t\tcase '600':\n\t\t\tname = _x( 'Semi Bold', 'font weight' );\n\t\t\tbreak;\n\t\tcase '800':\n\t\t\tname = _x( 'Extra Bold', 'font weight' );\n\t\t\tbreak;\n\t\tcase '900':\n\t\t\tname = _x( 'Black', 'font weight' );\n\t\t\tbreak;\n\t\tcase '1000':\n\t\t\tname = _x( 'Extra Black', 'font weight' );\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tname = fontWeight;\n\t\t\tbreak;\n\t}\n\n\treturn { name, value: fontWeight };\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAEC,UAAU,EAAG;EAC9C,IAAK,CAAEA,UAAU,EAAG;IACnB,OAAO,CAAC,CAAC;EACV;EAEA,IAAK,OAAOA,UAAU,KAAK,QAAQ,EAAG;IACrC,OAAOA,UAAU;EAClB;EAEA,IAAIC,IAAI;EAER,QAASD,UAAU;IAClB,KAAK,QAAQ;IACb,KAAK,KAAK;MACTC,IAAI,GAAG,IAAAC,QAAE,EAAE,SAAS,EAAE,aAAc,CAAC;MACrC;IACD,KAAK,MAAM;IACX,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,MAAM,EAAE,aAAc,CAAC;MAClC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,MAAM,EAAE,aAAc,CAAC;MAClC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,aAAa,EAAE,aAAc,CAAC;MACzC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,OAAO,EAAE,aAAc,CAAC;MACnC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,QAAQ,EAAE,aAAc,CAAC;MACpC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,WAAW,EAAE,aAAc,CAAC;MACvC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,YAAY,EAAE,aAAc,CAAC;MACxC;IACD,KAAK,KAAK;MACTD,IAAI,GAAG,IAAAC,QAAE,EAAE,OAAO,EAAE,aAAc,CAAC;MACnC;IACD,KAAK,MAAM;MACVD,IAAI,GAAG,IAAAC,QAAE,EAAE,aAAa,EAAE,aAAc,CAAC;MACzC;IAED;MACCD,IAAI,GAAGD,UAAU;MACjB;EACF;EAEA,OAAO;IAAEC,IAAI;IAAEE,KAAK,EAAEH;EAAW,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getEditorRegion;
7
+ /**
8
+ * Gets the editor region for a given editor canvas element or
9
+ * returns the passed element if no region is found
10
+ *
11
+ * @param { Object } editor The editor canvas element.
12
+ * @return { Object } The editor region or given editor element
13
+ */
14
+ function getEditorRegion(editor) {
15
+ var _Array$from$find, _editorCanvas$closest;
16
+ if (!editor) {
17
+ return null;
18
+ }
19
+
20
+ // If there are multiple editors, we need to find the iframe that contains our contentRef to make sure
21
+ // we're focusing the region that contains this editor.
22
+ const editorCanvas = (_Array$from$find = Array.from(document.querySelectorAll('iframe[name="editor-canvas"]').values()).find(iframe => {
23
+ // Find the iframe that contains our contentRef
24
+ const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
25
+ return iframeDocument === editor.ownerDocument;
26
+ })) !== null && _Array$from$find !== void 0 ? _Array$from$find : editor;
27
+
28
+ // The region is provivided by the editor, not the block-editor.
29
+ // We should send focus to the region if one is available to reuse the
30
+ // same interface for navigating landmarks. If no region is available,
31
+ // use the canvas instead.
32
+ return (_editorCanvas$closest = editorCanvas?.closest('[role="region"]')) !== null && _editorCanvas$closest !== void 0 ? _editorCanvas$closest : editorCanvas;
33
+ }
34
+ //# sourceMappingURL=get-editor-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getEditorRegion","editor","_Array$from$find","_editorCanvas$closest","editorCanvas","Array","from","document","querySelectorAll","values","find","iframe","iframeDocument","contentDocument","contentWindow","ownerDocument","closest"],"sources":["@wordpress/block-editor/src/utils/get-editor-region.js"],"sourcesContent":["/**\n * Gets the editor region for a given editor canvas element or\n * returns the passed element if no region is found\n *\n * @param { Object } editor The editor canvas element.\n * @return { Object } The editor region or given editor element\n */\nexport default function getEditorRegion( editor ) {\n\tif ( ! editor ) {\n\t\treturn null;\n\t}\n\n\t// If there are multiple editors, we need to find the iframe that contains our contentRef to make sure\n\t// we're focusing the region that contains this editor.\n\tconst editorCanvas =\n\t\tArray.from(\n\t\t\tdocument.querySelectorAll( 'iframe[name=\"editor-canvas\"]' ).values()\n\t\t).find( ( iframe ) => {\n\t\t\t// Find the iframe that contains our contentRef\n\t\t\tconst iframeDocument =\n\t\t\t\tiframe.contentDocument || iframe.contentWindow.document;\n\n\t\t\treturn iframeDocument === editor.ownerDocument;\n\t\t} ) ?? editor;\n\n\t// The region is provivided by the editor, not the block-editor.\n\t// We should send focus to the region if one is available to reuse the\n\t// same interface for navigating landmarks. If no region is available,\n\t// use the canvas instead.\n\treturn editorCanvas?.closest( '[role=\"region\"]' ) ?? editorCanvas;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,eAAeA,CAAEC,MAAM,EAAG;EAAA,IAAAC,gBAAA,EAAAC,qBAAA;EACjD,IAAK,CAAEF,MAAM,EAAG;IACf,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,MAAMG,YAAY,IAAAF,gBAAA,GACjBG,KAAK,CAACC,IAAI,CACTC,QAAQ,CAACC,gBAAgB,CAAE,8BAA+B,CAAC,CAACC,MAAM,CAAC,CACpE,CAAC,CAACC,IAAI,CAAIC,MAAM,IAAM;IACrB;IACA,MAAMC,cAAc,GACnBD,MAAM,CAACE,eAAe,IAAIF,MAAM,CAACG,aAAa,CAACP,QAAQ;IAExD,OAAOK,cAAc,KAAKX,MAAM,CAACc,aAAa;EAC/C,CAAE,CAAC,cAAAb,gBAAA,cAAAA,gBAAA,GAAID,MAAM;;EAEd;EACA;EACA;EACA;EACA,QAAAE,qBAAA,GAAOC,YAAY,EAAEY,OAAO,CAAE,iBAAkB,CAAC,cAAAb,qBAAA,cAAAA,qBAAA,GAAIC,YAAY;AAClE","ignoreList":[]}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getFontStylesAndWeights = getFontStylesAndWeights;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _formatFontStyle = require("./format-font-style");
9
+ var _formatFontWeight = require("./format-font-weight");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ const FONT_STYLES = [{
19
+ name: (0, _i18n._x)('Regular', 'font style'),
20
+ value: 'normal'
21
+ }, {
22
+ name: (0, _i18n._x)('Italic', 'font style'),
23
+ value: 'italic'
24
+ }];
25
+ const FONT_WEIGHTS = [{
26
+ name: (0, _i18n._x)('Thin', 'font weight'),
27
+ value: '100'
28
+ }, {
29
+ name: (0, _i18n._x)('Extra Light', 'font weight'),
30
+ value: '200'
31
+ }, {
32
+ name: (0, _i18n._x)('Light', 'font weight'),
33
+ value: '300'
34
+ }, {
35
+ name: (0, _i18n._x)('Regular', 'font weight'),
36
+ value: '400'
37
+ }, {
38
+ name: (0, _i18n._x)('Medium', 'font weight'),
39
+ value: '500'
40
+ }, {
41
+ name: (0, _i18n._x)('Semi Bold', 'font weight'),
42
+ value: '600'
43
+ }, {
44
+ name: (0, _i18n._x)('Bold', 'font weight'),
45
+ value: '700'
46
+ }, {
47
+ name: (0, _i18n._x)('Extra Bold', 'font weight'),
48
+ value: '800'
49
+ }, {
50
+ name: (0, _i18n._x)('Black', 'font weight'),
51
+ value: '900'
52
+ }, {
53
+ name: (0, _i18n._x)('Extra Black', 'font weight'),
54
+ value: '1000'
55
+ }];
56
+
57
+ /**
58
+ * Builds a list of font style and weight options based on font family faces.
59
+ * Defaults to the standard font styles and weights if no font family faces are provided.
60
+ *
61
+ * @param {Array} fontFamilyFaces font family faces array
62
+ * @return {Object} new object with combined and separated font style and weight properties
63
+ */
64
+ function getFontStylesAndWeights(fontFamilyFaces) {
65
+ let fontStyles = [];
66
+ let fontWeights = [];
67
+ const combinedStyleAndWeightOptions = [];
68
+ const isSystemFont = !fontFamilyFaces || fontFamilyFaces?.length === 0;
69
+ let isVariableFont = false;
70
+ fontFamilyFaces?.forEach(face => {
71
+ // Check for variable font by looking for a space in the font weight value. e.g. "100 900"
72
+ if (/\s/.test(face.fontWeight.trim())) {
73
+ isVariableFont = true;
74
+
75
+ // Find font weight start and end values.
76
+ let [startValue, endValue] = face.fontWeight.split(' ');
77
+ startValue = parseInt(startValue.slice(0, 1));
78
+ if (endValue === '1000') {
79
+ endValue = 10;
80
+ } else {
81
+ endValue = parseInt(endValue.slice(0, 1));
82
+ }
83
+
84
+ // Create font weight options for available variable weights.
85
+ for (let i = startValue; i <= endValue; i++) {
86
+ const fontWeightValue = `${i.toString()}00`;
87
+ if (!fontWeights.some(weight => weight.value === fontWeightValue)) {
88
+ fontWeights.push((0, _formatFontWeight.formatFontWeight)(fontWeightValue));
89
+ }
90
+ }
91
+ }
92
+
93
+ // Format font style and weight values.
94
+ const fontWeight = (0, _formatFontWeight.formatFontWeight)(face.fontWeight);
95
+ const fontStyle = (0, _formatFontStyle.formatFontStyle)(face.fontStyle);
96
+
97
+ // Create font style and font weight lists without duplicates.
98
+ if (fontStyle) {
99
+ if (!fontStyles.some(style => style.value === fontStyle.value)) {
100
+ fontStyles.push(fontStyle);
101
+ }
102
+ }
103
+ if (fontWeight) {
104
+ if (!fontWeights.some(weight => weight.value === fontWeight.value)) {
105
+ if (!isVariableFont) {
106
+ fontWeights.push(fontWeight);
107
+ }
108
+ }
109
+ }
110
+ });
111
+
112
+ // If there is no font weight of 600 or above, then include faux bold as an option.
113
+ if (!fontWeights.some(weight => weight.value >= '600')) {
114
+ fontWeights.push({
115
+ name: (0, _i18n._x)('Bold', 'font weight'),
116
+ value: '700'
117
+ });
118
+ }
119
+
120
+ // If there is no italic font style, then include faux italic as an option.
121
+ if (!fontStyles.some(style => style.value === 'italic')) {
122
+ fontStyles.push({
123
+ name: (0, _i18n._x)('Italic', 'font style'),
124
+ value: 'italic'
125
+ });
126
+ }
127
+
128
+ // Use default font styles and weights for system fonts.
129
+ if (isSystemFont) {
130
+ fontStyles = FONT_STYLES;
131
+ fontWeights = FONT_WEIGHTS;
132
+ }
133
+
134
+ // Use default styles and weights if there are no available styles or weights from the provided font faces.
135
+ fontStyles = fontStyles.length === 0 ? FONT_STYLES : fontStyles;
136
+ fontWeights = fontWeights.length === 0 ? FONT_WEIGHTS : fontWeights;
137
+
138
+ // Generate combined font style and weight options for available fonts.
139
+ fontStyles.forEach(({
140
+ name: styleName,
141
+ value: styleValue
142
+ }) => {
143
+ fontWeights.forEach(({
144
+ name: weightName,
145
+ value: weightValue
146
+ }) => {
147
+ const optionName = styleValue === 'normal' ? weightName : (0, _i18n.sprintf)( /* translators: 1: Font weight name. 2: Font style name. */
148
+ (0, _i18n.__)('%1$s %2$s'), weightName, styleName);
149
+ combinedStyleAndWeightOptions.push({
150
+ key: `${styleValue}-${weightValue}`,
151
+ name: optionName,
152
+ style: {
153
+ fontStyle: styleValue,
154
+ fontWeight: weightValue
155
+ }
156
+ });
157
+ });
158
+ });
159
+ return {
160
+ fontStyles,
161
+ fontWeights,
162
+ combinedStyleAndWeightOptions,
163
+ isSystemFont,
164
+ isVariableFont
165
+ };
166
+ }
167
+ //# sourceMappingURL=get-font-styles-and-weights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_formatFontStyle","_formatFontWeight","FONT_STYLES","name","_x","value","FONT_WEIGHTS","getFontStylesAndWeights","fontFamilyFaces","fontStyles","fontWeights","combinedStyleAndWeightOptions","isSystemFont","length","isVariableFont","forEach","face","test","fontWeight","trim","startValue","endValue","split","parseInt","slice","i","fontWeightValue","toString","some","weight","push","formatFontWeight","fontStyle","formatFontStyle","style","styleName","styleValue","weightName","weightValue","optionName","sprintf","__","key"],"sources":["@wordpress/block-editor/src/utils/get-font-styles-and-weights.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { formatFontStyle } from './format-font-style';\nimport { formatFontWeight } from './format-font-weight';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n\t{\n\t\tname: _x( 'Extra Black', 'font weight' ),\n\t\tvalue: '1000',\n\t},\n];\n\n/**\n * Builds a list of font style and weight options based on font family faces.\n * Defaults to the standard font styles and weights if no font family faces are provided.\n *\n * @param {Array} fontFamilyFaces font family faces array\n * @return {Object} new object with combined and separated font style and weight properties\n */\nexport function getFontStylesAndWeights( fontFamilyFaces ) {\n\tlet fontStyles = [];\n\tlet fontWeights = [];\n\tconst combinedStyleAndWeightOptions = [];\n\tconst isSystemFont = ! fontFamilyFaces || fontFamilyFaces?.length === 0;\n\tlet isVariableFont = false;\n\n\tfontFamilyFaces?.forEach( ( face ) => {\n\t\t// Check for variable font by looking for a space in the font weight value. e.g. \"100 900\"\n\t\tif ( /\\s/.test( face.fontWeight.trim() ) ) {\n\t\t\tisVariableFont = true;\n\n\t\t\t// Find font weight start and end values.\n\t\t\tlet [ startValue, endValue ] = face.fontWeight.split( ' ' );\n\t\t\tstartValue = parseInt( startValue.slice( 0, 1 ) );\n\t\t\tif ( endValue === '1000' ) {\n\t\t\t\tendValue = 10;\n\t\t\t} else {\n\t\t\t\tendValue = parseInt( endValue.slice( 0, 1 ) );\n\t\t\t}\n\n\t\t\t// Create font weight options for available variable weights.\n\t\t\tfor ( let i = startValue; i <= endValue; i++ ) {\n\t\t\t\tconst fontWeightValue = `${ i.toString() }00`;\n\t\t\t\tif (\n\t\t\t\t\t! fontWeights.some(\n\t\t\t\t\t\t( weight ) => weight.value === fontWeightValue\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tfontWeights.push( formatFontWeight( fontWeightValue ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Format font style and weight values.\n\t\tconst fontWeight = formatFontWeight( face.fontWeight );\n\t\tconst fontStyle = formatFontStyle( face.fontStyle );\n\n\t\t// Create font style and font weight lists without duplicates.\n\t\tif ( fontStyle ) {\n\t\t\tif (\n\t\t\t\t! fontStyles.some(\n\t\t\t\t\t( style ) => style.value === fontStyle.value\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tfontStyles.push( fontStyle );\n\t\t\t}\n\t\t}\n\t\tif ( fontWeight ) {\n\t\t\tif (\n\t\t\t\t! fontWeights.some(\n\t\t\t\t\t( weight ) => weight.value === fontWeight.value\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif ( ! isVariableFont ) {\n\t\t\t\t\tfontWeights.push( fontWeight );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} );\n\n\t// If there is no font weight of 600 or above, then include faux bold as an option.\n\tif ( ! fontWeights.some( ( weight ) => weight.value >= '600' ) ) {\n\t\tfontWeights.push( {\n\t\t\tname: _x( 'Bold', 'font weight' ),\n\t\t\tvalue: '700',\n\t\t} );\n\t}\n\n\t// If there is no italic font style, then include faux italic as an option.\n\tif ( ! fontStyles.some( ( style ) => style.value === 'italic' ) ) {\n\t\tfontStyles.push( {\n\t\t\tname: _x( 'Italic', 'font style' ),\n\t\t\tvalue: 'italic',\n\t\t} );\n\t}\n\n\t// Use default font styles and weights for system fonts.\n\tif ( isSystemFont ) {\n\t\tfontStyles = FONT_STYLES;\n\t\tfontWeights = FONT_WEIGHTS;\n\t}\n\n\t// Use default styles and weights if there are no available styles or weights from the provided font faces.\n\tfontStyles = fontStyles.length === 0 ? FONT_STYLES : fontStyles;\n\tfontWeights = fontWeights.length === 0 ? FONT_WEIGHTS : fontWeights;\n\n\t// Generate combined font style and weight options for available fonts.\n\tfontStyles.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\tfontWeights.forEach( ( { name: weightName, value: weightValue } ) => {\n\t\t\tconst optionName =\n\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t? weightName\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t );\n\n\t\t\tcombinedStyleAndWeightOptions.push( {\n\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\tname: optionName,\n\t\t\t\tstyle: {\n\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\tfontWeight: weightValue,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t} );\n\n\treturn {\n\t\tfontStyles,\n\t\tfontWeights,\n\t\tcombinedStyleAndWeightOptions,\n\t\tisSystemFont,\n\t\tisVariableFont,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -55,22 +55,14 @@ function getPasteEventData({
55
55
  }) {
56
56
  let plainText = '';
57
57
  let html = '';
58
-
59
- // IE11 only supports `Text` as an argument for `getData` and will
60
- // otherwise throw an invalid argument error, so we try the standard
61
- // arguments first, then fallback to `Text` if they fail.
62
58
  try {
63
59
  plainText = clipboardData.getData('text/plain');
64
60
  html = clipboardData.getData('text/html');
65
- } catch (error1) {
66
- try {
67
- html = clipboardData.getData('Text');
68
- } catch (error2) {
69
- // Some browsers like UC Browser paste plain text by default and
70
- // don't support clipboardData at all, so allow default
71
- // behaviour.
72
- return;
73
- }
61
+ } catch (error) {
62
+ // Some browsers like UC Browser paste plain text by default and
63
+ // don't support clipboardData at all, so allow default
64
+ // behaviour.
65
+ return;
74
66
  }
75
67
 
76
68
  // Remove Windows-specific metadata appended within copied HTML text.
@@ -1 +1 @@
1
- {"version":3,"names":["_dom","require","removeWindowsFragments","html","startStr","startIdx","indexOf","substring","length","endStr","endIdx","removeCharsetMetaTag","metaTag","startsWith","slice","getPasteEventData","clipboardData","plainText","getData","error1","error2","files","getFilesFromDataTransfer","shouldDismissPastedFiles","type","IMAGE_TAG","match","IMG_WITH_LOCAL_SRC"],"sources":["@wordpress/block-editor/src/utils/pasting.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\n\n/**\n * Normalizes a given string of HTML to remove the Windows-specific \"Fragment\"\n * comments and any preceding and trailing content.\n *\n * @param {string} html the html to be normalized\n * @return {string} the normalized html\n */\nfunction removeWindowsFragments( html ) {\n\tconst startStr = '<!--StartFragment-->';\n\tconst startIdx = html.indexOf( startStr );\n\tif ( startIdx > -1 ) {\n\t\thtml = html.substring( startIdx + startStr.length );\n\t} else {\n\t\t// No point looking for EndFragment\n\t\treturn html;\n\t}\n\n\tconst endStr = '<!--EndFragment-->';\n\tconst endIdx = html.indexOf( endStr );\n\tif ( endIdx > -1 ) {\n\t\thtml = html.substring( 0, endIdx );\n\t}\n\n\treturn html;\n}\n\n/**\n * Removes the charset meta tag inserted by Chromium.\n * See:\n * - https://github.com/WordPress/gutenberg/issues/33585\n * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4\n *\n * @param {string} html the html to be stripped of the meta tag.\n * @return {string} the cleaned html\n */\nfunction removeCharsetMetaTag( html ) {\n\tconst metaTag = `<meta charset='utf-8'>`;\n\n\tif ( html.startsWith( metaTag ) ) {\n\t\treturn html.slice( metaTag.length );\n\t}\n\n\treturn html;\n}\n\nexport function getPasteEventData( { clipboardData } ) {\n\tlet plainText = '';\n\tlet html = '';\n\n\t// IE11 only supports `Text` as an argument for `getData` and will\n\t// otherwise throw an invalid argument error, so we try the standard\n\t// arguments first, then fallback to `Text` if they fail.\n\ttry {\n\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\thtml = clipboardData.getData( 'text/html' );\n\t} catch ( error1 ) {\n\t\ttry {\n\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t} catch ( error2 ) {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Remove Windows-specific metadata appended within copied HTML text.\n\thtml = removeWindowsFragments( html );\n\n\t// Strip meta tag.\n\thtml = removeCharsetMetaTag( html );\n\n\tconst files = getFilesFromDataTransfer( clipboardData );\n\n\tif ( files.length && ! shouldDismissPastedFiles( files, html ) ) {\n\t\treturn { files };\n\t}\n\n\treturn { html, plainText, files: [] };\n}\n\n/**\n * Given a collection of DataTransfer files and HTML and plain text strings,\n * determine whether the files are to be dismissed in favor of the HTML.\n *\n * Certain office-type programs, like Microsoft Word or Apple Numbers,\n * will, upon copy, generate a screenshot of the content being copied and\n * attach it to the clipboard alongside the actual rich text that the user\n * sought to copy. In those cases, we should let Gutenberg handle the rich text\n * content and not the screenshot, since this allows Gutenberg to insert\n * meaningful blocks, like paragraphs, lists or even tables.\n *\n * @param {File[]} files File objects obtained from a paste event\n * @param {string} html HTML content obtained from a paste event\n * @return {boolean} True if the files should be dismissed\n */\nexport function shouldDismissPastedFiles( files, html /*, plainText */ ) {\n\t// The question is only relevant when there is actual HTML content and when\n\t// there is exactly one image file.\n\tif (\n\t\thtml &&\n\t\tfiles?.length === 1 &&\n\t\tfiles[ 0 ].type.indexOf( 'image/' ) === 0\n\t) {\n\t\t// A single <img> tag found in the HTML source suggests that the\n\t\t// content being pasted revolves around an image. Sometimes there are\n\t\t// other elements found, like <figure>, but we assume that the user's\n\t\t// intention is to paste the actual image file.\n\t\tconst IMAGE_TAG = /<\\s*img\\b/gi;\n\t\tif ( html.match( IMAGE_TAG )?.length !== 1 ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Even when there is exactly one <img> tag in the HTML payload, we\n\t\t// choose to weed out local images, i.e. those whose source starts with\n\t\t// \"file://\". These payloads occur in specific configurations, such as\n\t\t// when copying an entire document from Microsoft Word, that contains\n\t\t// text and exactly one image, and pasting that content using Google\n\t\t// Chrome.\n\t\tconst IMG_WITH_LOCAL_SRC = /<\\s*img\\b[^>]*\\bsrc=\"file:\\/\\//i;\n\t\tif ( html.match( IMG_WITH_LOCAL_SRC ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_dom","require","removeWindowsFragments","html","startStr","startIdx","indexOf","substring","length","endStr","endIdx","removeCharsetMetaTag","metaTag","startsWith","slice","getPasteEventData","clipboardData","plainText","getData","error","files","getFilesFromDataTransfer","shouldDismissPastedFiles","type","IMAGE_TAG","match","IMG_WITH_LOCAL_SRC"],"sources":["@wordpress/block-editor/src/utils/pasting.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\n\n/**\n * Normalizes a given string of HTML to remove the Windows-specific \"Fragment\"\n * comments and any preceding and trailing content.\n *\n * @param {string} html the html to be normalized\n * @return {string} the normalized html\n */\nfunction removeWindowsFragments( html ) {\n\tconst startStr = '<!--StartFragment-->';\n\tconst startIdx = html.indexOf( startStr );\n\tif ( startIdx > -1 ) {\n\t\thtml = html.substring( startIdx + startStr.length );\n\t} else {\n\t\t// No point looking for EndFragment\n\t\treturn html;\n\t}\n\n\tconst endStr = '<!--EndFragment-->';\n\tconst endIdx = html.indexOf( endStr );\n\tif ( endIdx > -1 ) {\n\t\thtml = html.substring( 0, endIdx );\n\t}\n\n\treturn html;\n}\n\n/**\n * Removes the charset meta tag inserted by Chromium.\n * See:\n * - https://github.com/WordPress/gutenberg/issues/33585\n * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4\n *\n * @param {string} html the html to be stripped of the meta tag.\n * @return {string} the cleaned html\n */\nfunction removeCharsetMetaTag( html ) {\n\tconst metaTag = `<meta charset='utf-8'>`;\n\n\tif ( html.startsWith( metaTag ) ) {\n\t\treturn html.slice( metaTag.length );\n\t}\n\n\treturn html;\n}\n\nexport function getPasteEventData( { clipboardData } ) {\n\tlet plainText = '';\n\tlet html = '';\n\n\ttry {\n\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\thtml = clipboardData.getData( 'text/html' );\n\t} catch ( error ) {\n\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t// don't support clipboardData at all, so allow default\n\t\t// behaviour.\n\t\treturn;\n\t}\n\n\t// Remove Windows-specific metadata appended within copied HTML text.\n\thtml = removeWindowsFragments( html );\n\n\t// Strip meta tag.\n\thtml = removeCharsetMetaTag( html );\n\n\tconst files = getFilesFromDataTransfer( clipboardData );\n\n\tif ( files.length && ! shouldDismissPastedFiles( files, html ) ) {\n\t\treturn { files };\n\t}\n\n\treturn { html, plainText, files: [] };\n}\n\n/**\n * Given a collection of DataTransfer files and HTML and plain text strings,\n * determine whether the files are to be dismissed in favor of the HTML.\n *\n * Certain office-type programs, like Microsoft Word or Apple Numbers,\n * will, upon copy, generate a screenshot of the content being copied and\n * attach it to the clipboard alongside the actual rich text that the user\n * sought to copy. In those cases, we should let Gutenberg handle the rich text\n * content and not the screenshot, since this allows Gutenberg to insert\n * meaningful blocks, like paragraphs, lists or even tables.\n *\n * @param {File[]} files File objects obtained from a paste event\n * @param {string} html HTML content obtained from a paste event\n * @return {boolean} True if the files should be dismissed\n */\nexport function shouldDismissPastedFiles( files, html /*, plainText */ ) {\n\t// The question is only relevant when there is actual HTML content and when\n\t// there is exactly one image file.\n\tif (\n\t\thtml &&\n\t\tfiles?.length === 1 &&\n\t\tfiles[ 0 ].type.indexOf( 'image/' ) === 0\n\t) {\n\t\t// A single <img> tag found in the HTML source suggests that the\n\t\t// content being pasted revolves around an image. Sometimes there are\n\t\t// other elements found, like <figure>, but we assume that the user's\n\t\t// intention is to paste the actual image file.\n\t\tconst IMAGE_TAG = /<\\s*img\\b/gi;\n\t\tif ( html.match( IMAGE_TAG )?.length !== 1 ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Even when there is exactly one <img> tag in the HTML payload, we\n\t\t// choose to weed out local images, i.e. those whose source starts with\n\t\t// \"file://\". These payloads occur in specific configurations, such as\n\t\t// when copying an entire document from Microsoft Word, that contains\n\t\t// text and exactly one image, and pasting that content using Google\n\t\t// Chrome.\n\t\tconst IMG_WITH_LOCAL_SRC = /<\\s*img\\b[^>]*\\bsrc=\"file:\\/\\//i;\n\t\tif ( html.match( IMG_WITH_LOCAL_SRC ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAAEC,IAAI,EAAG;EACvC,MAAMC,QAAQ,GAAG,sBAAsB;EACvC,MAAMC,QAAQ,GAAGF,IAAI,CAACG,OAAO,CAAEF,QAAS,CAAC;EACzC,IAAKC,QAAQ,GAAG,CAAC,CAAC,EAAG;IACpBF,IAAI,GAAGA,IAAI,CAACI,SAAS,CAAEF,QAAQ,GAAGD,QAAQ,CAACI,MAAO,CAAC;EACpD,CAAC,MAAM;IACN;IACA,OAAOL,IAAI;EACZ;EAEA,MAAMM,MAAM,GAAG,oBAAoB;EACnC,MAAMC,MAAM,GAAGP,IAAI,CAACG,OAAO,CAAEG,MAAO,CAAC;EACrC,IAAKC,MAAM,GAAG,CAAC,CAAC,EAAG;IAClBP,IAAI,GAAGA,IAAI,CAACI,SAAS,CAAE,CAAC,EAAEG,MAAO,CAAC;EACnC;EAEA,OAAOP,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASQ,oBAAoBA,CAAER,IAAI,EAAG;EACrC,MAAMS,OAAO,GAAI,wBAAuB;EAExC,IAAKT,IAAI,CAACU,UAAU,CAAED,OAAQ,CAAC,EAAG;IACjC,OAAOT,IAAI,CAACW,KAAK,CAAEF,OAAO,CAACJ,MAAO,CAAC;EACpC;EAEA,OAAOL,IAAI;AACZ;AAEO,SAASY,iBAAiBA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACtD,IAAIC,SAAS,GAAG,EAAE;EAClB,IAAId,IAAI,GAAG,EAAE;EAEb,IAAI;IACHc,SAAS,GAAGD,aAAa,CAACE,OAAO,CAAE,YAAa,CAAC;IACjDf,IAAI,GAAGa,aAAa,CAACE,OAAO,CAAE,WAAY,CAAC;EAC5C,CAAC,CAAC,OAAQC,KAAK,EAAG;IACjB;IACA;IACA;IACA;EACD;;EAEA;EACAhB,IAAI,GAAGD,sBAAsB,CAAEC,IAAK,CAAC;;EAErC;EACAA,IAAI,GAAGQ,oBAAoB,CAAER,IAAK,CAAC;EAEnC,MAAMiB,KAAK,GAAG,IAAAC,6BAAwB,EAAEL,aAAc,CAAC;EAEvD,IAAKI,KAAK,CAACZ,MAAM,IAAI,CAAEc,wBAAwB,CAAEF,KAAK,EAAEjB,IAAK,CAAC,EAAG;IAChE,OAAO;MAAEiB;IAAM,CAAC;EACjB;EAEA,OAAO;IAAEjB,IAAI;IAAEc,SAAS;IAAEG,KAAK,EAAE;EAAG,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,wBAAwBA,CAAEF,KAAK,EAAEjB,IAAI,CAAC,kBAAmB;EACxE;EACA;EACA,IACCA,IAAI,IACJiB,KAAK,EAAEZ,MAAM,KAAK,CAAC,IACnBY,KAAK,CAAE,CAAC,CAAE,CAACG,IAAI,CAACjB,OAAO,CAAE,QAAS,CAAC,KAAK,CAAC,EACxC;IACD;IACA;IACA;IACA;IACA,MAAMkB,SAAS,GAAG,aAAa;IAC/B,IAAKrB,IAAI,CAACsB,KAAK,CAAED,SAAU,CAAC,EAAEhB,MAAM,KAAK,CAAC,EAAG;MAC5C,OAAO,IAAI;IACZ;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMkB,kBAAkB,GAAG,iCAAiC;IAC5D,IAAKvB,IAAI,CAACsB,KAAK,CAAEC,kBAAmB,CAAC,EAAG;MACvC,OAAO,IAAI;IACZ;EACD;EAEA,OAAO,KAAK;AACb","ignoreList":[]}
@@ -12,6 +12,8 @@ import { chevronRightSmall, Icon } from '@wordpress/icons';
12
12
  import BlockTitle from '../block-title';
13
13
  import { store as blockEditorStore } from '../../store';
14
14
  import { unlock } from '../../lock-unlock';
15
+ import { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';
16
+ import getEditorRegion from '../../utils/get-editor-region';
15
17
 
16
18
  /**
17
19
  * Block breadcrumb component, displaying the hierarchy of the current block selection as a breadcrumb.
@@ -48,6 +50,10 @@ function BlockBreadcrumb({
48
50
  }, []);
49
51
  const rootLabel = rootLabelText || __('Document');
50
52
 
53
+ // We don't care about this specific ref, but this is a way
54
+ // to get a ref within the editor canvas so we can focus it later.
55
+ const blockRef = useBlockRef(clientId);
56
+
51
57
  /*
52
58
  * Disable reason: The `list` ARIA role is redundant but
53
59
  * Safari+VoiceOver won't announce the list otherwise.
@@ -63,7 +69,12 @@ function BlockBreadcrumb({
63
69
  children: [hasSelection && /*#__PURE__*/_jsx(Button, {
64
70
  className: "block-editor-block-breadcrumb__button",
65
71
  variant: "tertiary",
66
- onClick: clearSelectedBlock,
72
+ onClick: () => {
73
+ // Find the block editor wrapper for the selected block
74
+ const blockEditor = blockRef.current?.closest('.editor-styles-wrapper');
75
+ clearSelectedBlock();
76
+ getEditorRegion(blockEditor)?.focus();
77
+ },
67
78
  children: rootLabel
68
79
  }), !hasSelection && rootLabel, !!clientId && /*#__PURE__*/_jsx(Icon, {
69
80
  icon: chevronRightSmall,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","useSelect","useDispatch","__","chevronRightSmall","Icon","BlockTitle","store","blockEditorStore","unlock","jsx","_jsx","jsxs","_jsxs","BlockBreadcrumb","rootLabelText","selectBlock","clearSelectedBlock","clientId","parents","hasSelection","select","getSelectionStart","getSelectedBlockClientId","getEnabledBlockParents","selectedBlockClientId","rootLabel","className","role","children","undefined","variant","onClick","icon","map","parentClientId","maximumLength"],"sources":["@wordpress/block-editor/src/components/block-breadcrumb/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { chevronRightSmall, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Block breadcrumb component, displaying the hierarchy of the current block selection as a breadcrumb.\n *\n * @param {Object} props Component props.\n * @param {string} props.rootLabelText Translated label for the root element of the breadcrumb trail.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockBreadcrumb( { rootLabelText } ) {\n\tconst { selectBlock, clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { clientId, parents, hasSelection } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectionStart,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetEnabledBlockParents,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tparents: getEnabledBlockParents( selectedBlockClientId ),\n\t\t\tclientId: selectedBlockClientId,\n\t\t\thasSelection: !! getSelectionStart().clientId,\n\t\t};\n\t}, [] );\n\tconst rootLabel = rootLabelText || __( 'Document' );\n\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"block-editor-block-breadcrumb\"\n\t\t\trole=\"list\"\n\t\t\taria-label={ __( 'Block breadcrumb' ) }\n\t\t>\n\t\t\t<li\n\t\t\t\tclassName={\n\t\t\t\t\t! hasSelection\n\t\t\t\t\t\t? 'block-editor-block-breadcrumb__current'\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taria-current={ ! hasSelection ? 'true' : undefined }\n\t\t\t>\n\t\t\t\t{ hasSelection && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__button\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ clearSelectedBlock }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ rootLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t{ ! hasSelection && rootLabel }\n\t\t\t\t{ !! clientId && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ chevronRightSmall }\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__separator\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</li>\n\n\t\t\t{ parents.map( ( parentClientId ) => (\n\t\t\t\t<li key={ parentClientId }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__button\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => selectBlock( parentClientId ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\tclientId={ parentClientId }\n\t\t\t\t\t\t\tmaximumLength={ 35 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ chevronRightSmall }\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__separator\"\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t\t{ !! clientId && (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__current\"\n\t\t\t\t\taria-current=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<BlockTitle clientId={ clientId } maximumLength={ 35 } />\n\t\t\t\t</li>\n\t\t\t) }\n\t\t</ul>\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default BlockBreadcrumb;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","useSelect","useDispatch","__","chevronRightSmall","Icon","BlockTitle","store","blockEditorStore","unlock","__unstableUseBlockRef","useBlockRef","getEditorRegion","jsx","_jsx","jsxs","_jsxs","BlockBreadcrumb","rootLabelText","selectBlock","clearSelectedBlock","clientId","parents","hasSelection","select","getSelectionStart","getSelectedBlockClientId","getEnabledBlockParents","selectedBlockClientId","rootLabel","blockRef","className","role","children","undefined","variant","onClick","blockEditor","current","closest","focus","icon","map","parentClientId","maximumLength"],"sources":["@wordpress/block-editor/src/components/block-breadcrumb/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { chevronRightSmall, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';\nimport getEditorRegion from '../../utils/get-editor-region';\n\n/**\n * Block breadcrumb component, displaying the hierarchy of the current block selection as a breadcrumb.\n *\n * @param {Object} props Component props.\n * @param {string} props.rootLabelText Translated label for the root element of the breadcrumb trail.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockBreadcrumb( { rootLabelText } ) {\n\tconst { selectBlock, clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { clientId, parents, hasSelection } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectionStart,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetEnabledBlockParents,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tparents: getEnabledBlockParents( selectedBlockClientId ),\n\t\t\tclientId: selectedBlockClientId,\n\t\t\thasSelection: !! getSelectionStart().clientId,\n\t\t};\n\t}, [] );\n\tconst rootLabel = rootLabelText || __( 'Document' );\n\n\t// We don't care about this specific ref, but this is a way\n\t// to get a ref within the editor canvas so we can focus it later.\n\tconst blockRef = useBlockRef( clientId );\n\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"block-editor-block-breadcrumb\"\n\t\t\trole=\"list\"\n\t\t\taria-label={ __( 'Block breadcrumb' ) }\n\t\t>\n\t\t\t<li\n\t\t\t\tclassName={\n\t\t\t\t\t! hasSelection\n\t\t\t\t\t\t? 'block-editor-block-breadcrumb__current'\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taria-current={ ! hasSelection ? 'true' : undefined }\n\t\t\t>\n\t\t\t\t{ hasSelection && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__button\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Find the block editor wrapper for the selected block\n\t\t\t\t\t\t\tconst blockEditor = blockRef.current?.closest(\n\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tclearSelectedBlock();\n\n\t\t\t\t\t\t\tgetEditorRegion( blockEditor )?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ rootLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t{ ! hasSelection && rootLabel }\n\t\t\t\t{ !! clientId && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ chevronRightSmall }\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__separator\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</li>\n\n\t\t\t{ parents.map( ( parentClientId ) => (\n\t\t\t\t<li key={ parentClientId }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__button\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => selectBlock( parentClientId ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\tclientId={ parentClientId }\n\t\t\t\t\t\t\tmaximumLength={ 35 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ chevronRightSmall }\n\t\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__separator\"\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t\t{ !! clientId && (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"block-editor-block-breadcrumb__current\"\n\t\t\t\t\taria-current=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<BlockTitle clientId={ clientId } maximumLength={ 35 } />\n\t\t\t\t</li>\n\t\t\t) }\n\t\t</ul>\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default BlockBreadcrumb;\n"],"mappings":"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","ignoreList":[]}