@wordpress/block-editor 12.2.0 → 12.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1881) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +12 -0
  3. package/build/autocompleters/block.js +6 -6
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +14 -20
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +5 -8
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +12 -12
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +20 -25
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +17 -20
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-control/use-available-alignments.js +5 -10
  22. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  23. package/build/components/block-alignment-matrix-control/index.js +4 -7
  24. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  25. package/build/components/block-breadcrumb/index.js +5 -7
  26. package/build/components/block-breadcrumb/index.js.map +1 -1
  27. package/build/components/block-caption/index.native.js +30 -35
  28. package/build/components/block-caption/index.native.js.map +1 -1
  29. package/build/components/block-card/index.js +7 -9
  30. package/build/components/block-card/index.js.map +1 -1
  31. package/build/components/block-compare/block-view.js +8 -9
  32. package/build/components/block-compare/block-view.js.map +1 -1
  33. package/build/components/block-compare/index.js +7 -9
  34. package/build/components/block-compare/index.js.map +1 -1
  35. package/build/components/block-context/index.js +4 -5
  36. package/build/components/block-context/index.js.map +1 -1
  37. package/build/components/block-controls/fill.js +16 -22
  38. package/build/components/block-controls/fill.js.map +1 -1
  39. package/build/components/block-controls/hook.js +1 -3
  40. package/build/components/block-controls/hook.js.map +1 -1
  41. package/build/components/block-controls/index.js +8 -8
  42. package/build/components/block-controls/index.js.map +1 -1
  43. package/build/components/block-controls/slot.js +28 -20
  44. package/build/components/block-controls/slot.js.map +1 -1
  45. package/build/components/block-controls/slot.native.js +9 -17
  46. package/build/components/block-controls/slot.native.js.map +1 -1
  47. package/build/components/block-draggable/draggable-chip.js +5 -6
  48. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  49. package/build/components/block-draggable/draggable-chip.native.js +3 -4
  50. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  51. package/build/components/block-draggable/dropping-insertion-point.native.js +6 -7
  52. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  53. package/build/components/block-draggable/index.js +15 -16
  54. package/build/components/block-draggable/index.js.map +1 -1
  55. package/build/components/block-draggable/index.native.js +43 -58
  56. package/build/components/block-draggable/index.native.js.map +1 -1
  57. package/build/components/block-edit/edit.js +5 -10
  58. package/build/components/block-edit/edit.js.map +1 -1
  59. package/build/components/block-edit/edit.native.js +3 -8
  60. package/build/components/block-edit/edit.native.js.map +1 -1
  61. package/build/components/block-edit/index.js +3 -2
  62. package/build/components/block-edit/index.js.map +1 -1
  63. package/build/components/block-edit-visually-button/index.js +3 -4
  64. package/build/components/block-edit-visually-button/index.js.map +1 -1
  65. package/build/components/block-full-height-alignment-control/index.js +6 -7
  66. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  67. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  68. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  69. package/build/components/block-heading-level-dropdown/index.js +83 -0
  70. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  71. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  72. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  73. package/build/components/block-icon/index.js +7 -11
  74. package/build/components/block-icon/index.js.map +1 -1
  75. package/build/components/block-icon/index.native.js +15 -20
  76. package/build/components/block-icon/index.native.js.map +1 -1
  77. package/build/components/block-info-slot-fill/index.js +4 -2
  78. package/build/components/block-info-slot-fill/index.js.map +1 -1
  79. package/build/components/block-inspector/index.js +45 -122
  80. package/build/components/block-inspector/index.js.map +1 -1
  81. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  82. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  83. package/build/components/block-list/block-html.js +3 -4
  84. package/build/components/block-list/block-html.js.map +1 -1
  85. package/build/components/block-list/block-invalid-warning.js +3 -4
  86. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  87. package/build/components/block-list/block-invalid-warning.native.js +10 -15
  88. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  89. package/build/components/block-list/block-list-context.native.js +5 -11
  90. package/build/components/block-list/block-list-context.native.js.map +1 -1
  91. package/build/components/block-list/block-list-item-cell.native.js +5 -6
  92. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  93. package/build/components/block-list/block-list-item.native.js +21 -20
  94. package/build/components/block-list/block-list-item.native.js.map +1 -1
  95. package/build/components/block-list/block-outline.native.js +8 -9
  96. package/build/components/block-list/block-outline.native.js.map +1 -1
  97. package/build/components/block-list/block-selection-button.native.js +10 -12
  98. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  99. package/build/components/block-list/block.js +45 -50
  100. package/build/components/block-list/block.js.map +1 -1
  101. package/build/components/block-list/block.native.js +56 -68
  102. package/build/components/block-list/block.native.js.map +1 -1
  103. package/build/components/block-list/index.js +18 -18
  104. package/build/components/block-list/index.js.map +1 -1
  105. package/build/components/block-list/index.native.js +80 -90
  106. package/build/components/block-list/index.native.js.map +1 -1
  107. package/build/components/block-list/insertion-point.native.js +4 -5
  108. package/build/components/block-list/insertion-point.native.js.map +1 -1
  109. package/build/components/block-list/layout.js +6 -9
  110. package/build/components/block-list/layout.js.map +1 -1
  111. package/build/components/block-list/subdirectory-icon.js +11 -17
  112. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  113. package/build/components/block-list/use-block-props/index.js +15 -11
  114. package/build/components/block-list/use-block-props/index.js.map +1 -1
  115. package/build/components/block-list/use-block-props/index.native.js +1 -2
  116. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  117. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  118. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  119. package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  120. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  121. package/build/components/block-list/use-in-between-inserter.js +2 -6
  122. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  123. package/build/components/block-list-appender/index.js +36 -33
  124. package/build/components/block-list-appender/index.js.map +1 -1
  125. package/build/components/block-list-appender/index.native.js +9 -11
  126. package/build/components/block-list-appender/index.native.js.map +1 -1
  127. package/build/components/block-lock/menu-item.js +3 -4
  128. package/build/components/block-lock/menu-item.js.map +1 -1
  129. package/build/components/block-lock/modal.js +6 -9
  130. package/build/components/block-lock/modal.js.map +1 -1
  131. package/build/components/block-lock/toolbar.js +4 -10
  132. package/build/components/block-lock/toolbar.js.map +1 -1
  133. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +50 -68
  134. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  135. package/build/components/block-mobile-toolbar/index.native.js +26 -34
  136. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  137. package/build/components/block-mover/button.js +18 -19
  138. package/build/components/block-mover/button.js.map +1 -1
  139. package/build/components/block-mover/index.js +16 -18
  140. package/build/components/block-mover/index.js.map +1 -1
  141. package/build/components/block-mover/index.native.js +23 -46
  142. package/build/components/block-mover/index.native.js.map +1 -1
  143. package/build/components/block-mover/mover-description.native.js +7 -10
  144. package/build/components/block-mover/mover-description.native.js.map +1 -1
  145. package/build/components/block-navigation/dropdown.js +22 -29
  146. package/build/components/block-navigation/dropdown.js.map +1 -1
  147. package/build/components/block-parent-selector/index.js +6 -7
  148. package/build/components/block-parent-selector/index.js.map +1 -1
  149. package/build/components/block-pattern-setup/index.js +33 -39
  150. package/build/components/block-pattern-setup/index.js.map +1 -1
  151. package/build/components/block-pattern-setup/setup-toolbar.js +35 -42
  152. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  153. package/build/components/block-patterns-list/index.js +76 -85
  154. package/build/components/block-patterns-list/index.js.map +1 -1
  155. package/build/components/block-popover/drop-zone.js +4 -5
  156. package/build/components/block-popover/drop-zone.js.map +1 -1
  157. package/build/components/block-popover/inbetween.js +14 -21
  158. package/build/components/block-popover/inbetween.js.map +1 -1
  159. package/build/components/block-popover/index.js +18 -21
  160. package/build/components/block-popover/index.js.map +1 -1
  161. package/build/components/block-preview/auto.js +8 -12
  162. package/build/components/block-preview/auto.js.map +1 -1
  163. package/build/components/block-preview/index.js +21 -24
  164. package/build/components/block-preview/index.js.map +1 -1
  165. package/build/components/block-quick-navigation/index.js +83 -0
  166. package/build/components/block-quick-navigation/index.js.map +1 -0
  167. package/build/components/block-removal-warning-modal/index.js +90 -0
  168. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  169. package/build/components/block-selection-clearer/index.js +4 -7
  170. package/build/components/block-selection-clearer/index.js.map +1 -1
  171. package/build/components/block-settings/button.native.js +10 -12
  172. package/build/components/block-settings/button.native.js.map +1 -1
  173. package/build/components/block-settings/container.native.js +6 -6
  174. package/build/components/block-settings/container.native.js.map +1 -1
  175. package/build/components/block-settings-menu/block-convert-button.js +5 -7
  176. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  177. package/build/components/block-settings-menu/block-html-convert-button.js +10 -14
  178. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  179. package/build/components/block-settings-menu/block-mode-toggle.js +19 -25
  180. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  181. package/build/components/block-settings-menu/block-settings-dropdown.js +136 -116
  182. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  183. package/build/components/block-settings-menu/index.js +8 -10
  184. package/build/components/block-settings-menu/index.js.map +1 -1
  185. package/build/components/block-settings-menu-controls/index.js +18 -21
  186. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  187. package/build/components/block-styles/index.js +6 -7
  188. package/build/components/block-styles/index.js.map +1 -1
  189. package/build/components/block-styles/index.native.js +5 -7
  190. package/build/components/block-styles/index.native.js.map +1 -1
  191. package/build/components/block-styles/menu-items.js +4 -5
  192. package/build/components/block-styles/menu-items.js.map +1 -1
  193. package/build/components/block-styles/preview-panel.js +7 -10
  194. package/build/components/block-styles/preview-panel.js.map +1 -1
  195. package/build/components/block-styles/preview.native.js +6 -7
  196. package/build/components/block-styles/preview.native.js.map +1 -1
  197. package/build/components/block-styles/use-styles-for-block.js +7 -9
  198. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  199. package/build/components/block-styles/utils.js +4 -7
  200. package/build/components/block-styles/utils.js.map +1 -1
  201. package/build/components/block-switcher/block-styles-menu.js +4 -5
  202. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  203. package/build/components/block-switcher/block-transformations-menu.js +24 -29
  204. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  205. package/build/components/block-switcher/block-transformations-menu.native.js +9 -10
  206. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  207. package/build/components/block-switcher/block-variation-transformations.js +21 -30
  208. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  209. package/build/components/block-switcher/index.js +48 -62
  210. package/build/components/block-switcher/index.js.map +1 -1
  211. package/build/components/block-switcher/pattern-transformations-menu.js +24 -30
  212. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  213. package/build/components/block-switcher/preview-block-popover.js +3 -4
  214. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  215. package/build/components/block-switcher/utils.js +2 -3
  216. package/build/components/block-switcher/utils.js.map +1 -1
  217. package/build/components/block-title/index.js +5 -6
  218. package/build/components/block-title/index.js.map +1 -1
  219. package/build/components/block-title/use-block-display-title.js +5 -6
  220. package/build/components/block-title/use-block-display-title.js.map +1 -1
  221. package/build/components/block-toolbar/index.js +8 -10
  222. package/build/components/block-toolbar/index.js.map +1 -1
  223. package/build/components/block-toolbar/utils.js +14 -16
  224. package/build/components/block-toolbar/utils.js.map +1 -1
  225. package/build/components/block-tools/back-compat.js +3 -4
  226. package/build/components/block-tools/back-compat.js.map +1 -1
  227. package/build/components/block-tools/block-contextual-toolbar.js +9 -11
  228. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  229. package/build/components/block-tools/block-selection-button.js +10 -14
  230. package/build/components/block-tools/block-selection-button.js.map +1 -1
  231. package/build/components/block-tools/index.js +19 -13
  232. package/build/components/block-tools/index.js.map +1 -1
  233. package/build/components/block-tools/insertion-point.js +12 -15
  234. package/build/components/block-tools/insertion-point.js.map +1 -1
  235. package/build/components/block-tools/selected-block-popover.js +27 -28
  236. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  237. package/build/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  238. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  239. package/build/components/block-tools/zoom-out-mode-inserters.js +3 -4
  240. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  241. package/build/components/block-types-list/index.js +8 -9
  242. package/build/components/block-types-list/index.js.map +1 -1
  243. package/build/components/block-types-list/index.native.js +26 -33
  244. package/build/components/block-types-list/index.native.js.map +1 -1
  245. package/build/components/block-variation-picker/index.js +8 -9
  246. package/build/components/block-variation-picker/index.js.map +1 -1
  247. package/build/components/block-variation-picker/index.native.js +7 -9
  248. package/build/components/block-variation-picker/index.native.js.map +1 -1
  249. package/build/components/block-variation-transforms/index.js +30 -41
  250. package/build/components/block-variation-transforms/index.js.map +1 -1
  251. package/build/components/block-vertical-alignment-control/index.js +4 -6
  252. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  253. package/build/components/block-vertical-alignment-control/ui.js +12 -21
  254. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  255. package/build/components/border-radius-control/all-input-control.js +9 -14
  256. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  257. package/build/components/border-radius-control/index.js +9 -10
  258. package/build/components/border-radius-control/index.js.map +1 -1
  259. package/build/components/border-radius-control/input-controls.js +10 -17
  260. package/build/components/border-radius-control/input-controls.js.map +1 -1
  261. package/build/components/border-radius-control/linked-button.js +6 -11
  262. package/build/components/border-radius-control/linked-button.js.map +1 -1
  263. package/build/components/border-radius-control/utils.js +3 -7
  264. package/build/components/border-radius-control/utils.js.map +1 -1
  265. package/build/components/button-block-appender/index.js +13 -15
  266. package/build/components/button-block-appender/index.js.map +1 -1
  267. package/build/components/button-block-appender/index.native.js +25 -29
  268. package/build/components/button-block-appender/index.native.js.map +1 -1
  269. package/build/components/caption/index.native.js +40 -43
  270. package/build/components/caption/index.native.js.map +1 -1
  271. package/build/components/child-layout-control/index.js +5 -6
  272. package/build/components/child-layout-control/index.js.map +1 -1
  273. package/build/components/color-palette/control.js +7 -10
  274. package/build/components/color-palette/control.js.map +1 -1
  275. package/build/components/color-palette/with-color-context.js +3 -11
  276. package/build/components/color-palette/with-color-context.js.map +1 -1
  277. package/build/components/color-style-selector/index.js +28 -35
  278. package/build/components/color-style-selector/index.js.map +1 -1
  279. package/build/components/colors/utils.js +12 -11
  280. package/build/components/colors/utils.js.map +1 -1
  281. package/build/components/colors/with-colors.js +20 -40
  282. package/build/components/colors/with-colors.js.map +1 -1
  283. package/build/components/colors-gradients/control.js +26 -27
  284. package/build/components/colors-gradients/control.js.map +1 -1
  285. package/build/components/colors-gradients/dropdown.js +44 -50
  286. package/build/components/colors-gradients/dropdown.js.map +1 -1
  287. package/build/components/colors-gradients/panel-color-gradient-settings.js +27 -30
  288. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  289. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  290. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  291. package/build/components/contrast-checker/index.js +12 -13
  292. package/build/components/contrast-checker/index.js.map +1 -1
  293. package/build/components/contrast-checker/index.native.js +16 -18
  294. package/build/components/contrast-checker/index.native.js.map +1 -1
  295. package/build/components/convert-to-group-buttons/index.js +9 -10
  296. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  297. package/build/components/convert-to-group-buttons/index.native.js +6 -7
  298. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  299. package/build/components/convert-to-group-buttons/toolbar.js +6 -12
  300. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  301. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -6
  302. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  303. package/build/components/copy-handler/index.js +9 -13
  304. package/build/components/copy-handler/index.js.map +1 -1
  305. package/build/components/date-format-picker/index.js +12 -16
  306. package/build/components/date-format-picker/index.js.map +1 -1
  307. package/build/components/default-block-appender/index.js +7 -9
  308. package/build/components/default-block-appender/index.js.map +1 -1
  309. package/build/components/default-block-appender/index.native.js +8 -10
  310. package/build/components/default-block-appender/index.native.js.map +1 -1
  311. package/build/components/default-style-picker/index.js +14 -22
  312. package/build/components/default-style-picker/index.js.map +1 -1
  313. package/build/components/duotone/components.js +14 -18
  314. package/build/components/duotone/components.js.map +1 -1
  315. package/build/components/duotone/utils.js +1 -2
  316. package/build/components/duotone/utils.js.map +1 -1
  317. package/build/components/duotone-control/index.js +13 -17
  318. package/build/components/duotone-control/index.js.map +1 -1
  319. package/build/components/editable-text/index.js +11 -13
  320. package/build/components/editable-text/index.js.map +1 -1
  321. package/build/components/editor-styles/index.js +4 -5
  322. package/build/components/editor-styles/index.js.map +1 -1
  323. package/build/components/floating-toolbar/index.native.js +7 -8
  324. package/build/components/floating-toolbar/index.native.js.map +1 -1
  325. package/build/components/font-appearance-control/index.js +21 -32
  326. package/build/components/font-appearance-control/index.js.map +1 -1
  327. package/build/components/font-family/index.js +14 -17
  328. package/build/components/font-family/index.js.map +1 -1
  329. package/build/components/font-sizes/fluid-utils.js +17 -21
  330. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  331. package/build/components/font-sizes/font-size-picker.js +2 -4
  332. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  333. package/build/components/font-sizes/utils.js +9 -15
  334. package/build/components/font-sizes/utils.js.map +1 -1
  335. package/build/components/font-sizes/with-font-sizes.js +18 -37
  336. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  337. package/build/components/global-styles/advanced-panel.js +7 -10
  338. package/build/components/global-styles/advanced-panel.js.map +1 -1
  339. package/build/components/global-styles/border-panel.js +45 -78
  340. package/build/components/global-styles/border-panel.js.map +1 -1
  341. package/build/components/global-styles/color-panel.js +119 -163
  342. package/build/components/global-styles/color-panel.js.map +1 -1
  343. package/build/components/global-styles/color-panel.native.js +25 -42
  344. package/build/components/global-styles/color-panel.native.js.map +1 -1
  345. package/build/components/global-styles/dimensions-panel.js +78 -109
  346. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  347. package/build/components/global-styles/effects-panel.js +60 -73
  348. package/build/components/global-styles/effects-panel.js.map +1 -1
  349. package/build/components/global-styles/filters-panel.js +55 -72
  350. package/build/components/global-styles/filters-panel.js.map +1 -1
  351. package/build/components/global-styles/get-block-css-selector.js +4 -7
  352. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  353. package/build/components/global-styles/hooks.js +22 -37
  354. package/build/components/global-styles/hooks.js.map +1 -1
  355. package/build/components/global-styles/index.js +6 -0
  356. package/build/components/global-styles/index.js.map +1 -1
  357. package/build/components/global-styles/typography-panel.js +69 -125
  358. package/build/components/global-styles/typography-panel.js.map +1 -1
  359. package/build/components/global-styles/typography-utils.js +49 -26
  360. package/build/components/global-styles/typography-utils.js.map +1 -1
  361. package/build/components/global-styles/use-global-styles-output.js +153 -245
  362. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  363. package/build/components/global-styles/utils.js +11 -27
  364. package/build/components/global-styles/utils.js.map +1 -1
  365. package/build/components/gradients/use-gradient.js +6 -7
  366. package/build/components/gradients/use-gradient.js.map +1 -1
  367. package/build/components/gradients/with-gradient.js +2 -6
  368. package/build/components/gradients/with-gradient.js.map +1 -1
  369. package/build/components/height-control/index.js +9 -10
  370. package/build/components/height-control/index.js.map +1 -1
  371. package/build/components/iframe/index.js +53 -90
  372. package/build/components/iframe/index.js.map +1 -1
  373. package/build/components/iframe/use-compatibility-styles.js +29 -20
  374. package/build/components/iframe/use-compatibility-styles.js.map +1 -1
  375. package/build/components/image-editor/aspect-ratio-dropdown.js +83 -91
  376. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  377. package/build/components/image-editor/constants.js +1 -2
  378. package/build/components/image-editor/constants.js.map +1 -1
  379. package/build/components/image-editor/context.js +9 -10
  380. package/build/components/image-editor/context.js.map +1 -1
  381. package/build/components/image-editor/cropper.js +11 -12
  382. package/build/components/image-editor/cropper.js.map +1 -1
  383. package/build/components/image-editor/index.js +12 -13
  384. package/build/components/image-editor/index.js.map +1 -1
  385. package/build/components/image-editor/use-save-image.js +11 -12
  386. package/build/components/image-editor/use-save-image.js.map +1 -1
  387. package/build/components/image-editor/use-transform-image.js +5 -6
  388. package/build/components/image-editor/use-transform-image.js.map +1 -1
  389. package/build/components/image-editor/zoom-dropdown.js +10 -13
  390. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  391. package/build/components/image-size-control/index.js +12 -13
  392. package/build/components/image-size-control/index.js.map +1 -1
  393. package/build/components/index.js +9 -9
  394. package/build/components/index.js.map +1 -1
  395. package/build/components/index.native.js +9 -0
  396. package/build/components/index.native.js.map +1 -1
  397. package/build/components/inner-blocks/button-block-appender.js +7 -8
  398. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  399. package/build/components/inner-blocks/default-block-appender.js +6 -8
  400. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  401. package/build/components/inner-blocks/index.js +11 -14
  402. package/build/components/inner-blocks/index.js.map +1 -1
  403. package/build/components/inner-blocks/index.native.js +9 -10
  404. package/build/components/inner-blocks/index.native.js.map +1 -1
  405. package/build/components/inner-blocks/use-block-context.js +1 -4
  406. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  407. package/build/components/inner-blocks/use-nested-settings-update.js +24 -32
  408. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  409. package/build/components/inner-blocks/with-client-id.js +2 -6
  410. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  411. package/build/components/inserter/block-patterns-explorer/explorer.js +11 -12
  412. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  413. package/build/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  414. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  415. package/build/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  416. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  417. package/build/components/inserter/block-patterns-tab.js +62 -45
  418. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  419. package/build/components/inserter/block-types-tab.js +7 -9
  420. package/build/components/inserter/block-types-tab.js.map +1 -1
  421. package/build/components/inserter/block-types-tab.native.js +8 -9
  422. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  423. package/build/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  424. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  425. package/build/components/inserter/hooks/use-block-types-state.js +9 -9
  426. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  427. package/build/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  428. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  429. package/build/components/inserter/hooks/use-debounced-input.js +1 -2
  430. package/build/components/inserter/hooks/use-debounced-input.js.map +1 -1
  431. package/build/components/inserter/hooks/use-insertion-point.js +11 -13
  432. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  433. package/build/components/inserter/index.js +45 -59
  434. package/build/components/inserter/index.js.map +1 -1
  435. package/build/components/inserter/index.native.js +28 -36
  436. package/build/components/inserter/index.native.js.map +1 -1
  437. package/build/components/inserter/library.js +12 -13
  438. package/build/components/inserter/library.js.map +1 -1
  439. package/build/components/inserter/media-tab/hooks.js +2 -5
  440. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  441. package/build/components/inserter/media-tab/media-list.js +8 -13
  442. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  443. package/build/components/inserter/media-tab/media-panel.js +12 -14
  444. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  445. package/build/components/inserter/media-tab/media-preview.js +47 -60
  446. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  447. package/build/components/inserter/media-tab/media-tab.js +25 -29
  448. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  449. package/build/components/inserter/media-tab/utils.js +3 -5
  450. package/build/components/inserter/media-tab/utils.js.map +1 -1
  451. package/build/components/inserter/menu.js +15 -19
  452. package/build/components/inserter/menu.js.map +1 -1
  453. package/build/components/inserter/menu.native.js +27 -31
  454. package/build/components/inserter/menu.native.js.map +1 -1
  455. package/build/components/inserter/mobile-tab-navigation.js +7 -9
  456. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  457. package/build/components/inserter/panel.js +5 -6
  458. package/build/components/inserter/panel.js.map +1 -1
  459. package/build/components/inserter/preview-panel.js +4 -5
  460. package/build/components/inserter/preview-panel.js.map +1 -1
  461. package/build/components/inserter/quick-inserter.js +8 -9
  462. package/build/components/inserter/quick-inserter.js.map +1 -1
  463. package/build/components/inserter/reusable-blocks-tab.js +16 -21
  464. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  465. package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
  466. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  467. package/build/components/inserter/search-items.js +12 -40
  468. package/build/components/inserter/search-items.js.map +1 -1
  469. package/build/components/inserter/search-results.js +17 -18
  470. package/build/components/inserter/search-results.js.map +1 -1
  471. package/build/components/inserter/search-results.native.js +11 -12
  472. package/build/components/inserter/search-results.native.js.map +1 -1
  473. package/build/components/inserter/tabs.js +11 -12
  474. package/build/components/inserter/tabs.js.map +1 -1
  475. package/build/components/inserter/tabs.native.js +37 -55
  476. package/build/components/inserter/tabs.native.js.map +1 -1
  477. package/build/components/inserter/utils.native.js +13 -17
  478. package/build/components/inserter/utils.native.js.map +1 -1
  479. package/build/components/inserter-draggable-blocks/index.js +11 -13
  480. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  481. package/build/components/inserter-list-item/index.js +69 -74
  482. package/build/components/inserter-list-item/index.js.map +1 -1
  483. package/build/components/inserter-listbox/group.js +4 -7
  484. package/build/components/inserter-listbox/group.js.map +1 -1
  485. package/build/components/inserter-listbox/index.js +3 -4
  486. package/build/components/inserter-listbox/index.js.map +1 -1
  487. package/build/components/inserter-listbox/item.js +14 -14
  488. package/build/components/inserter-listbox/item.js.map +1 -1
  489. package/build/components/inserter-listbox/row.js +4 -5
  490. package/build/components/inserter-listbox/row.js.map +1 -1
  491. package/build/components/inspector-controls/block-support-slot-container.js +6 -11
  492. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  493. package/build/components/inspector-controls/block-support-tools-panel.js +6 -8
  494. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  495. package/build/components/inspector-controls/fill.js +13 -24
  496. package/build/components/inspector-controls/fill.js.map +1 -1
  497. package/build/components/inspector-controls/fill.native.js +9 -12
  498. package/build/components/inspector-controls/fill.native.js.map +1 -1
  499. package/build/components/inspector-controls/index.js +4 -6
  500. package/build/components/inspector-controls/index.js.map +1 -1
  501. package/build/components/inspector-controls/slot.js +13 -19
  502. package/build/components/inspector-controls/slot.js.map +1 -1
  503. package/build/components/inspector-controls/slot.native.js +8 -11
  504. package/build/components/inspector-controls/slot.native.js.map +1 -1
  505. package/build/components/inspector-controls-tabs/index.js +6 -7
  506. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  507. package/build/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  508. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  509. package/build/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  510. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  511. package/build/components/inspector-controls-tabs/settings-tab.js +3 -6
  512. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  513. package/build/components/inspector-controls-tabs/styles-tab.js +5 -6
  514. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  515. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  516. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  517. package/build/components/inspector-popover-header/index.js +18 -22
  518. package/build/components/inspector-popover-header/index.js.map +1 -1
  519. package/build/components/justify-content-control/index.js +4 -6
  520. package/build/components/justify-content-control/index.js.map +1 -1
  521. package/build/components/justify-content-control/ui.js +12 -17
  522. package/build/components/justify-content-control/ui.js.map +1 -1
  523. package/build/components/letter-spacing-control/index.js +8 -11
  524. package/build/components/letter-spacing-control/index.js.map +1 -1
  525. package/build/components/line-height-control/index.js +15 -22
  526. package/build/components/line-height-control/index.js.map +1 -1
  527. package/build/components/line-height-control/index.native.js +4 -5
  528. package/build/components/line-height-control/index.native.js.map +1 -1
  529. package/build/components/link-control/index.js +86 -71
  530. package/build/components/link-control/index.js.map +1 -1
  531. package/build/components/link-control/is-url-like.js +32 -2
  532. package/build/components/link-control/is-url-like.js.map +1 -1
  533. package/build/components/link-control/link-preview.js +24 -27
  534. package/build/components/link-control/link-preview.js.map +1 -1
  535. package/build/components/link-control/search-create-button.js +9 -13
  536. package/build/components/link-control/search-create-button.js.map +1 -1
  537. package/build/components/link-control/search-input.js +24 -27
  538. package/build/components/link-control/search-input.js.map +1 -1
  539. package/build/components/link-control/search-item.js +15 -19
  540. package/build/components/link-control/search-item.js.map +1 -1
  541. package/build/components/link-control/search-results.js +23 -31
  542. package/build/components/link-control/search-results.js.map +1 -1
  543. package/build/components/link-control/settings-drawer.js +6 -35
  544. package/build/components/link-control/settings-drawer.js.map +1 -1
  545. package/build/components/link-control/settings.js +6 -8
  546. package/build/components/link-control/settings.js.map +1 -1
  547. package/build/components/link-control/use-internal-value.js +54 -0
  548. package/build/components/link-control/use-internal-value.js.map +1 -0
  549. package/build/components/link-control/use-rich-url-data.js +1 -1
  550. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  551. package/build/components/link-control/use-search-handler.js +10 -23
  552. package/build/components/link-control/use-search-handler.js.map +1 -1
  553. package/build/components/list-view/appender.js +15 -17
  554. package/build/components/list-view/appender.js.map +1 -1
  555. package/build/components/list-view/aria-referenced-text.js +40 -0
  556. package/build/components/list-view/aria-referenced-text.js.map +1 -0
  557. package/build/components/list-view/block-contents.js +39 -40
  558. package/build/components/list-view/block-contents.js.map +1 -1
  559. package/build/components/list-view/block-select-button.js +79 -22
  560. package/build/components/list-view/block-select-button.js.map +1 -1
  561. package/build/components/list-view/block.js +119 -101
  562. package/build/components/list-view/block.js.map +1 -1
  563. package/build/components/list-view/branch.js +14 -13
  564. package/build/components/list-view/branch.js.map +1 -1
  565. package/build/components/list-view/drop-indicator.js +66 -16
  566. package/build/components/list-view/drop-indicator.js.map +1 -1
  567. package/build/components/list-view/expander.js +3 -4
  568. package/build/components/list-view/expander.js.map +1 -1
  569. package/build/components/list-view/index.js +50 -49
  570. package/build/components/list-view/index.js.map +1 -1
  571. package/build/components/list-view/leaf.js +14 -16
  572. package/build/components/list-view/leaf.js.map +1 -1
  573. package/build/components/list-view/use-block-selection.js +4 -6
  574. package/build/components/list-view/use-block-selection.js.map +1 -1
  575. package/build/components/list-view/use-list-view-client-ids.js +6 -29
  576. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  577. package/build/components/list-view/use-list-view-drop-zone.js +63 -39
  578. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  579. package/build/components/list-view/use-list-view-expand-selected-item.js +4 -5
  580. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  581. package/build/components/list-view/use-list-view-scroll-into-view.js +5 -6
  582. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  583. package/build/components/media-placeholder/index.js +106 -102
  584. package/build/components/media-placeholder/index.js.map +1 -1
  585. package/build/components/media-placeholder/index.native.js +5 -6
  586. package/build/components/media-placeholder/index.native.js.map +1 -1
  587. package/build/components/media-replace-flow/index.js +92 -107
  588. package/build/components/media-replace-flow/index.js.map +1 -1
  589. package/build/components/media-upload/check.js +4 -5
  590. package/build/components/media-upload/check.js.map +1 -1
  591. package/build/components/media-upload/index.native.js +1 -1
  592. package/build/components/media-upload/index.native.js.map +1 -1
  593. package/build/components/multi-selection-inspector/index.js +3 -4
  594. package/build/components/multi-selection-inspector/index.js.map +1 -1
  595. package/build/components/navigable-toolbar/index.js +24 -23
  596. package/build/components/navigable-toolbar/index.js.map +1 -1
  597. package/build/components/observe-typing/index.js +3 -4
  598. package/build/components/observe-typing/index.js.map +1 -1
  599. package/build/components/panel-color-settings/index.js +8 -10
  600. package/build/components/panel-color-settings/index.js.map +1 -1
  601. package/build/components/plain-text/index.js +12 -14
  602. package/build/components/plain-text/index.js.map +1 -1
  603. package/build/components/plain-text/index.native.js +15 -20
  604. package/build/components/plain-text/index.native.js.map +1 -1
  605. package/build/components/preview-options/index.js +12 -12
  606. package/build/components/preview-options/index.js.map +1 -1
  607. package/build/components/provider/block-refs-provider.js +3 -4
  608. package/build/components/provider/block-refs-provider.js.map +1 -1
  609. package/build/components/provider/index.js +2 -4
  610. package/build/components/provider/index.js.map +1 -1
  611. package/build/components/provider/use-block-sync.js +7 -8
  612. package/build/components/provider/use-block-sync.js.map +1 -1
  613. package/build/components/provider/with-registry-provider.js +13 -17
  614. package/build/components/provider/with-registry-provider.js.map +1 -1
  615. package/build/components/publish-date-time-picker/index.js +10 -12
  616. package/build/components/publish-date-time-picker/index.js.map +1 -1
  617. package/build/components/recursion-provider/index.js +7 -11
  618. package/build/components/recursion-provider/index.js.map +1 -1
  619. package/build/components/resizable-box-popover/index.js +10 -11
  620. package/build/components/resizable-box-popover/index.js.map +1 -1
  621. package/build/components/responsive-block-control/label.js +5 -6
  622. package/build/components/responsive-block-control/label.js.map +1 -1
  623. package/build/components/rich-text/content.js +99 -0
  624. package/build/components/rich-text/content.js.map +1 -0
  625. package/build/components/rich-text/embed-handler-picker.native.js +6 -10
  626. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  627. package/build/components/rich-text/format-edit.js +7 -8
  628. package/build/components/rich-text/format-edit.js.map +1 -1
  629. package/build/components/rich-text/format-toolbar/index.js +10 -20
  630. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  631. package/build/components/rich-text/format-toolbar-container.js +13 -16
  632. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  633. package/build/components/rich-text/index.js +45 -83
  634. package/build/components/rich-text/index.js.map +1 -1
  635. package/build/components/rich-text/index.native.js +128 -183
  636. package/build/components/rich-text/index.native.js.map +1 -1
  637. package/build/components/rich-text/input-event.js +4 -5
  638. package/build/components/rich-text/input-event.js.map +1 -1
  639. package/build/components/rich-text/shortcut.js +5 -6
  640. package/build/components/rich-text/shortcut.js.map +1 -1
  641. package/build/components/rich-text/split-value.js +8 -10
  642. package/build/components/rich-text/split-value.js.map +1 -1
  643. package/build/components/rich-text/toolbar-button.js +8 -13
  644. package/build/components/rich-text/toolbar-button.js.map +1 -1
  645. package/build/components/rich-text/use-before-input-rules.js +1 -4
  646. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  647. package/build/components/rich-text/use-enter.js +3 -6
  648. package/build/components/rich-text/use-enter.js.map +1 -1
  649. package/build/components/rich-text/use-firefox-compat.js +32 -1
  650. package/build/components/rich-text/use-firefox-compat.js.map +1 -1
  651. package/build/components/rich-text/use-format-types.js +11 -17
  652. package/build/components/rich-text/use-format-types.js.map +1 -1
  653. package/build/components/rich-text/use-input-rules.js +9 -15
  654. package/build/components/rich-text/use-input-rules.js.map +1 -1
  655. package/build/components/rich-text/use-mark-persistent.js +4 -5
  656. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  657. package/build/components/rich-text/use-paste-handler.js +5 -7
  658. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  659. package/build/components/rich-text/utils.js +5 -7
  660. package/build/components/rich-text/utils.js.map +1 -1
  661. package/build/components/skip-to-selected-block/index.js +3 -4
  662. package/build/components/skip-to-selected-block/index.js.map +1 -1
  663. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +38 -0
  664. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  665. package/build/components/spacing-sizes-control/index.js +62 -64
  666. package/build/components/spacing-sizes-control/index.js.map +1 -1
  667. package/build/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  668. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  669. package/build/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +22 -22
  670. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  671. package/build/components/spacing-sizes-control/input-controls/single.js +51 -0
  672. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  673. package/build/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +51 -69
  674. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  675. package/build/components/spacing-sizes-control/sides-dropdown/index.js +84 -0
  676. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  677. package/build/components/spacing-sizes-control/utils.js +213 -31
  678. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  679. package/build/components/text-decoration-control/index.js +5 -6
  680. package/build/components/text-decoration-control/index.js.map +1 -1
  681. package/build/components/text-transform-control/index.js +5 -6
  682. package/build/components/text-transform-control/index.js.map +1 -1
  683. package/build/components/tool-selector/index.js +13 -20
  684. package/build/components/tool-selector/index.js.map +1 -1
  685. package/build/components/typewriter/index.js +6 -9
  686. package/build/components/typewriter/index.js.map +1 -1
  687. package/build/components/ungroup-button/index.native.js +11 -16
  688. package/build/components/ungroup-button/index.native.js.map +1 -1
  689. package/build/components/unit-control/index.js +8 -10
  690. package/build/components/unit-control/index.js.map +1 -1
  691. package/build/components/url-input/index.js +23 -34
  692. package/build/components/url-input/index.js.map +1 -1
  693. package/build/components/url-input/index.native.js +10 -15
  694. package/build/components/url-input/index.native.js.map +1 -1
  695. package/build/components/url-popover/image-url-input-ui.js +33 -29
  696. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  697. package/build/components/url-popover/index.js +16 -19
  698. package/build/components/url-popover/index.js.map +1 -1
  699. package/build/components/url-popover/link-editor.js +10 -12
  700. package/build/components/url-popover/link-editor.js.map +1 -1
  701. package/build/components/url-popover/link-viewer-url.js +5 -6
  702. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  703. package/build/components/url-popover/link-viewer.js +11 -13
  704. package/build/components/url-popover/link-viewer.js.map +1 -1
  705. package/build/components/use-block-display-information/index.js +30 -2
  706. package/build/components/use-block-display-information/index.js.map +1 -1
  707. package/build/components/use-block-drop-zone/index.js +16 -23
  708. package/build/components/use-block-drop-zone/index.js.map +1 -1
  709. package/build/components/use-block-drop-zone/index.native.js +8 -11
  710. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  711. package/build/components/use-moving-animation/index.js +9 -12
  712. package/build/components/use-moving-animation/index.js.map +1 -1
  713. package/build/components/use-on-block-drop/index.js +2 -6
  714. package/build/components/use-on-block-drop/index.js.map +1 -1
  715. package/build/components/use-on-block-drop/index.native.js +8 -10
  716. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  717. package/build/components/use-paste-styles/index.js +2 -6
  718. package/build/components/use-paste-styles/index.js.map +1 -1
  719. package/build/components/video-player/index.native.js +2 -4
  720. package/build/components/video-player/index.native.js.map +1 -1
  721. package/build/components/warning/index.js +6 -7
  722. package/build/components/warning/index.js.map +1 -1
  723. package/build/components/warning/index.native.js +13 -15
  724. package/build/components/warning/index.native.js.map +1 -1
  725. package/build/components/writing-flow/index.js +6 -9
  726. package/build/components/writing-flow/index.js.map +1 -1
  727. package/build/components/writing-flow/use-drag-selection.js +5 -7
  728. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  729. package/build/components/writing-flow/use-tab-nav.js +41 -10
  730. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  731. package/build/hooks/align.js +15 -22
  732. package/build/hooks/align.js.map +1 -1
  733. package/build/hooks/anchor.js +9 -4
  734. package/build/hooks/anchor.js.map +1 -1
  735. package/build/hooks/aria-label.js +1 -3
  736. package/build/hooks/aria-label.js.map +1 -1
  737. package/build/hooks/behaviors.js +131 -60
  738. package/build/hooks/behaviors.js.map +1 -1
  739. package/build/hooks/border.js +29 -43
  740. package/build/hooks/border.js.map +1 -1
  741. package/build/hooks/color.js +26 -42
  742. package/build/hooks/color.js.map +1 -1
  743. package/build/hooks/content-lock-ui.js +33 -39
  744. package/build/hooks/content-lock-ui.js.map +1 -1
  745. package/build/hooks/contrast-checker.js +4 -7
  746. package/build/hooks/contrast-checker.js.map +1 -1
  747. package/build/hooks/custom-class-name.js +8 -5
  748. package/build/hooks/custom-class-name.js.map +1 -1
  749. package/build/hooks/dimensions.js +11 -14
  750. package/build/hooks/dimensions.js.map +1 -1
  751. package/build/hooks/duotone.js +37 -49
  752. package/build/hooks/duotone.js.map +1 -1
  753. package/build/hooks/font-family.js +6 -11
  754. package/build/hooks/font-family.js.map +1 -1
  755. package/build/hooks/font-size.js +22 -27
  756. package/build/hooks/font-size.js.map +1 -1
  757. package/build/hooks/gap.js +5 -6
  758. package/build/hooks/gap.js.map +1 -1
  759. package/build/hooks/layout.js +66 -81
  760. package/build/hooks/layout.js.map +1 -1
  761. package/build/hooks/line-height.js +5 -8
  762. package/build/hooks/line-height.js.map +1 -1
  763. package/build/hooks/lock.js +2 -2
  764. package/build/hooks/lock.js.map +1 -1
  765. package/build/hooks/margin.js +6 -9
  766. package/build/hooks/margin.js.map +1 -1
  767. package/build/hooks/metadata-name.js +4 -5
  768. package/build/hooks/metadata-name.js.map +1 -1
  769. package/build/hooks/metadata.js +3 -7
  770. package/build/hooks/metadata.js.map +1 -1
  771. package/build/hooks/padding.js +6 -9
  772. package/build/hooks/padding.js.map +1 -1
  773. package/build/hooks/position.js +50 -56
  774. package/build/hooks/position.js.map +1 -1
  775. package/build/hooks/settings.js +1 -3
  776. package/build/hooks/settings.js.map +1 -1
  777. package/build/hooks/style.js +19 -23
  778. package/build/hooks/style.js.map +1 -1
  779. package/build/hooks/supports.js +4 -6
  780. package/build/hooks/supports.js.map +1 -1
  781. package/build/hooks/typography.js +18 -27
  782. package/build/hooks/typography.js.map +1 -1
  783. package/build/hooks/typography.native.js +4 -3
  784. package/build/hooks/typography.native.js.map +1 -1
  785. package/build/hooks/use-border-props.js +1 -3
  786. package/build/hooks/use-border-props.js.map +1 -1
  787. package/build/hooks/use-color-props.js +6 -8
  788. package/build/hooks/use-color-props.js.map +1 -1
  789. package/build/hooks/use-editor-wrapper-styles.native.js +34 -39
  790. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  791. package/build/hooks/use-spacing-props.js +1 -1
  792. package/build/hooks/use-spacing-props.js.map +1 -1
  793. package/build/hooks/use-typography-props.js +12 -23
  794. package/build/hooks/use-typography-props.js.map +1 -1
  795. package/build/hooks/utils.js +6 -18
  796. package/build/hooks/utils.js.map +1 -1
  797. package/build/index.js +0 -14
  798. package/build/index.js.map +1 -1
  799. package/build/layouts/constrained.js +24 -27
  800. package/build/layouts/constrained.js.map +1 -1
  801. package/build/layouts/definitions.js +154 -0
  802. package/build/layouts/definitions.js.map +1 -0
  803. package/build/layouts/flex.js +50 -58
  804. package/build/layouts/flex.js.map +1 -1
  805. package/build/layouts/flow.js +12 -13
  806. package/build/layouts/flow.js.map +1 -1
  807. package/build/layouts/grid.js +47 -25
  808. package/build/layouts/grid.js.map +1 -1
  809. package/build/layouts/index.js +1 -2
  810. package/build/layouts/index.js.map +1 -1
  811. package/build/layouts/utils.js +11 -11
  812. package/build/layouts/utils.js.map +1 -1
  813. package/build/private-apis.js +17 -1
  814. package/build/private-apis.js.map +1 -1
  815. package/build/store/actions.js +226 -369
  816. package/build/store/actions.js.map +1 -1
  817. package/build/store/array.js +1 -2
  818. package/build/store/array.js.map +1 -1
  819. package/build/store/private-actions.js +203 -7
  820. package/build/store/private-actions.js.map +1 -1
  821. package/build/store/private-selectors.js +109 -24
  822. package/build/store/private-selectors.js.map +1 -1
  823. package/build/store/reducer.js +119 -170
  824. package/build/store/reducer.js.map +1 -1
  825. package/build/store/selectors.js +161 -231
  826. package/build/store/selectors.js.map +1 -1
  827. package/build/utils/block-variation-transforms.js +4 -7
  828. package/build/utils/block-variation-transforms.js.map +1 -1
  829. package/build/utils/math.js +1 -2
  830. package/build/utils/math.js.map +1 -1
  831. package/build/utils/object.js +40 -4
  832. package/build/utils/object.js.map +1 -1
  833. package/build/utils/order-inserter-block-items.js +5 -7
  834. package/build/utils/order-inserter-block-items.js.map +1 -1
  835. package/build/utils/parse-css-unit-to-px.js +3 -6
  836. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  837. package/build/utils/pasting.js +5 -8
  838. package/build/utils/pasting.js.map +1 -1
  839. package/build/utils/pre-parse-patterns.js +1 -1
  840. package/build/utils/pre-parse-patterns.js.map +1 -1
  841. package/build/utils/sorting.js +1 -2
  842. package/build/utils/sorting.js.map +1 -1
  843. package/build/utils/transform-styles/index.js +5 -7
  844. package/build/utils/transform-styles/index.js.map +1 -1
  845. package/build/utils/transform-styles/transforms/wrap.js +28 -31
  846. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  847. package/build-module/autocompleters/block.js +6 -6
  848. package/build-module/autocompleters/block.js.map +1 -1
  849. package/build-module/components/alignment-control/index.js +4 -5
  850. package/build-module/components/alignment-control/index.js.map +1 -1
  851. package/build-module/components/alignment-control/ui.js +14 -17
  852. package/build-module/components/alignment-control/ui.js.map +1 -1
  853. package/build-module/components/autocomplete/index.js +5 -7
  854. package/build-module/components/autocomplete/index.js.map +1 -1
  855. package/build-module/components/block-actions/index.js +12 -12
  856. package/build-module/components/block-actions/index.js.map +1 -1
  857. package/build-module/components/block-alignment-control/constants.js +0 -3
  858. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  859. package/build-module/components/block-alignment-control/index.js +4 -5
  860. package/build-module/components/block-alignment-control/index.js.map +1 -1
  861. package/build-module/components/block-alignment-control/ui.js +21 -25
  862. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  863. package/build-module/components/block-alignment-control/ui.native.js +17 -19
  864. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  865. package/build-module/components/block-alignment-control/use-available-alignments.js +5 -10
  866. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  867. package/build-module/components/block-alignment-matrix-control/index.js +4 -7
  868. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  869. package/build-module/components/block-breadcrumb/index.js +5 -7
  870. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  871. package/build-module/components/block-caption/index.native.js +29 -34
  872. package/build-module/components/block-caption/index.native.js.map +1 -1
  873. package/build-module/components/block-card/index.js +7 -9
  874. package/build-module/components/block-card/index.js.map +1 -1
  875. package/build-module/components/block-compare/block-view.js +8 -9
  876. package/build-module/components/block-compare/block-view.js.map +1 -1
  877. package/build-module/components/block-compare/index.js +7 -9
  878. package/build-module/components/block-compare/index.js.map +1 -1
  879. package/build-module/components/block-context/index.js +4 -5
  880. package/build-module/components/block-context/index.js.map +1 -1
  881. package/build-module/components/block-controls/fill.js +18 -23
  882. package/build-module/components/block-controls/fill.js.map +1 -1
  883. package/build-module/components/block-controls/hook.js +1 -3
  884. package/build-module/components/block-controls/hook.js.map +1 -1
  885. package/build-module/components/block-controls/index.js +8 -7
  886. package/build-module/components/block-controls/index.js.map +1 -1
  887. package/build-module/components/block-controls/slot.js +29 -22
  888. package/build-module/components/block-controls/slot.js.map +1 -1
  889. package/build-module/components/block-controls/slot.native.js +10 -18
  890. package/build-module/components/block-controls/slot.native.js.map +1 -1
  891. package/build-module/components/block-draggable/draggable-chip.js +5 -7
  892. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  893. package/build-module/components/block-draggable/draggable-chip.native.js +3 -4
  894. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  895. package/build-module/components/block-draggable/dropping-insertion-point.native.js +6 -7
  896. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  897. package/build-module/components/block-draggable/index.js +16 -17
  898. package/build-module/components/block-draggable/index.js.map +1 -1
  899. package/build-module/components/block-draggable/index.native.js +43 -58
  900. package/build-module/components/block-draggable/index.native.js.map +1 -1
  901. package/build-module/components/block-edit/edit.js +5 -9
  902. package/build-module/components/block-edit/edit.js.map +1 -1
  903. package/build-module/components/block-edit/edit.native.js +3 -7
  904. package/build-module/components/block-edit/edit.native.js.map +1 -1
  905. package/build-module/components/block-edit/index.js +3 -2
  906. package/build-module/components/block-edit/index.js.map +1 -1
  907. package/build-module/components/block-edit-visually-button/index.js +3 -4
  908. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  909. package/build-module/components/block-full-height-alignment-control/index.js +6 -7
  910. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  911. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  912. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  913. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  914. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  915. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  916. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  917. package/build-module/components/block-icon/index.js +7 -11
  918. package/build-module/components/block-icon/index.js.map +1 -1
  919. package/build-module/components/block-icon/index.native.js +15 -19
  920. package/build-module/components/block-icon/index.native.js.map +1 -1
  921. package/build-module/components/block-info-slot-fill/index.js +4 -2
  922. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  923. package/build-module/components/block-inspector/index.js +45 -123
  924. package/build-module/components/block-inspector/index.js.map +1 -1
  925. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  926. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  927. package/build-module/components/block-list/block-html.js +3 -4
  928. package/build-module/components/block-list/block-html.js.map +1 -1
  929. package/build-module/components/block-list/block-invalid-warning.js +3 -4
  930. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  931. package/build-module/components/block-list/block-invalid-warning.native.js +10 -15
  932. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  933. package/build-module/components/block-list/block-list-context.native.js +5 -11
  934. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  935. package/build-module/components/block-list/block-list-item-cell.native.js +5 -6
  936. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  937. package/build-module/components/block-list/block-list-item.native.js +21 -20
  938. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  939. package/build-module/components/block-list/block-outline.native.js +8 -9
  940. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  941. package/build-module/components/block-list/block-selection-button.native.js +10 -12
  942. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  943. package/build-module/components/block-list/block.js +45 -50
  944. package/build-module/components/block-list/block.js.map +1 -1
  945. package/build-module/components/block-list/block.native.js +56 -68
  946. package/build-module/components/block-list/block.native.js.map +1 -1
  947. package/build-module/components/block-list/index.js +18 -18
  948. package/build-module/components/block-list/index.js.map +1 -1
  949. package/build-module/components/block-list/index.native.js +80 -89
  950. package/build-module/components/block-list/index.native.js.map +1 -1
  951. package/build-module/components/block-list/insertion-point.native.js +4 -5
  952. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  953. package/build-module/components/block-list/layout.js +6 -9
  954. package/build-module/components/block-list/layout.js.map +1 -1
  955. package/build-module/components/block-list/subdirectory-icon.js +11 -14
  956. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  957. package/build-module/components/block-list/use-block-props/index.js +14 -11
  958. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  959. package/build-module/components/block-list/use-block-props/index.native.js +1 -2
  960. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  961. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  962. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  963. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  964. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  965. package/build-module/components/block-list/use-in-between-inserter.js +2 -6
  966. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  967. package/build-module/components/block-list-appender/index.js +35 -33
  968. package/build-module/components/block-list-appender/index.js.map +1 -1
  969. package/build-module/components/block-list-appender/index.native.js +9 -11
  970. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  971. package/build-module/components/block-lock/menu-item.js +3 -4
  972. package/build-module/components/block-lock/menu-item.js.map +1 -1
  973. package/build-module/components/block-lock/modal.js +6 -9
  974. package/build-module/components/block-lock/modal.js.map +1 -1
  975. package/build-module/components/block-lock/toolbar.js +5 -10
  976. package/build-module/components/block-lock/toolbar.js.map +1 -1
  977. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +50 -68
  978. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  979. package/build-module/components/block-mobile-toolbar/index.native.js +26 -34
  980. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  981. package/build-module/components/block-mover/button.js +18 -18
  982. package/build-module/components/block-mover/button.js.map +1 -1
  983. package/build-module/components/block-mover/index.js +16 -17
  984. package/build-module/components/block-mover/index.js.map +1 -1
  985. package/build-module/components/block-mover/index.native.js +23 -46
  986. package/build-module/components/block-mover/index.native.js.map +1 -1
  987. package/build-module/components/block-mover/mover-description.native.js +7 -10
  988. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  989. package/build-module/components/block-navigation/dropdown.js +22 -28
  990. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  991. package/build-module/components/block-parent-selector/index.js +6 -6
  992. package/build-module/components/block-parent-selector/index.js.map +1 -1
  993. package/build-module/components/block-pattern-setup/index.js +33 -38
  994. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  995. package/build-module/components/block-pattern-setup/setup-toolbar.js +35 -42
  996. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  997. package/build-module/components/block-patterns-list/index.js +73 -81
  998. package/build-module/components/block-patterns-list/index.js.map +1 -1
  999. package/build-module/components/block-popover/drop-zone.js +4 -5
  1000. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  1001. package/build-module/components/block-popover/inbetween.js +14 -20
  1002. package/build-module/components/block-popover/inbetween.js.map +1 -1
  1003. package/build-module/components/block-popover/index.js +18 -20
  1004. package/build-module/components/block-popover/index.js.map +1 -1
  1005. package/build-module/components/block-preview/auto.js +8 -11
  1006. package/build-module/components/block-preview/auto.js.map +1 -1
  1007. package/build-module/components/block-preview/index.js +21 -24
  1008. package/build-module/components/block-preview/index.js.map +1 -1
  1009. package/build-module/components/block-quick-navigation/index.js +69 -0
  1010. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  1011. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  1012. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  1013. package/build-module/components/block-selection-clearer/index.js +4 -4
  1014. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  1015. package/build-module/components/block-settings/button.native.js +9 -11
  1016. package/build-module/components/block-settings/button.native.js.map +1 -1
  1017. package/build-module/components/block-settings/container.native.js +6 -5
  1018. package/build-module/components/block-settings/container.native.js.map +1 -1
  1019. package/build-module/components/block-settings-menu/block-convert-button.js +5 -7
  1020. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  1021. package/build-module/components/block-settings-menu/block-html-convert-button.js +10 -14
  1022. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  1023. package/build-module/components/block-settings-menu/block-mode-toggle.js +19 -25
  1024. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  1025. package/build-module/components/block-settings-menu/block-settings-dropdown.js +139 -117
  1026. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  1027. package/build-module/components/block-settings-menu/index.js +8 -9
  1028. package/build-module/components/block-settings-menu/index.js.map +1 -1
  1029. package/build-module/components/block-settings-menu-controls/index.js +18 -20
  1030. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  1031. package/build-module/components/block-styles/index.js +6 -7
  1032. package/build-module/components/block-styles/index.js.map +1 -1
  1033. package/build-module/components/block-styles/index.native.js +5 -7
  1034. package/build-module/components/block-styles/index.native.js.map +1 -1
  1035. package/build-module/components/block-styles/menu-items.js +4 -5
  1036. package/build-module/components/block-styles/menu-items.js.map +1 -1
  1037. package/build-module/components/block-styles/preview-panel.js +7 -10
  1038. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  1039. package/build-module/components/block-styles/preview.native.js +6 -7
  1040. package/build-module/components/block-styles/preview.native.js.map +1 -1
  1041. package/build-module/components/block-styles/use-styles-for-block.js +7 -9
  1042. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  1043. package/build-module/components/block-styles/utils.js +4 -7
  1044. package/build-module/components/block-styles/utils.js.map +1 -1
  1045. package/build-module/components/block-switcher/block-styles-menu.js +4 -5
  1046. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  1047. package/build-module/components/block-switcher/block-transformations-menu.js +24 -29
  1048. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  1049. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -10
  1050. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  1051. package/build-module/components/block-switcher/block-variation-transformations.js +21 -30
  1052. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  1053. package/build-module/components/block-switcher/index.js +48 -62
  1054. package/build-module/components/block-switcher/index.js.map +1 -1
  1055. package/build-module/components/block-switcher/pattern-transformations-menu.js +24 -29
  1056. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  1057. package/build-module/components/block-switcher/preview-block-popover.js +3 -4
  1058. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  1059. package/build-module/components/block-switcher/utils.js +2 -3
  1060. package/build-module/components/block-switcher/utils.js.map +1 -1
  1061. package/build-module/components/block-title/index.js +5 -6
  1062. package/build-module/components/block-title/index.js.map +1 -1
  1063. package/build-module/components/block-title/use-block-display-title.js +5 -6
  1064. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  1065. package/build-module/components/block-toolbar/index.js +8 -9
  1066. package/build-module/components/block-toolbar/index.js.map +1 -1
  1067. package/build-module/components/block-toolbar/utils.js +14 -16
  1068. package/build-module/components/block-toolbar/utils.js.map +1 -1
  1069. package/build-module/components/block-tools/back-compat.js +3 -4
  1070. package/build-module/components/block-tools/back-compat.js.map +1 -1
  1071. package/build-module/components/block-tools/block-contextual-toolbar.js +9 -10
  1072. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  1073. package/build-module/components/block-tools/block-selection-button.js +10 -13
  1074. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1075. package/build-module/components/block-tools/index.js +19 -12
  1076. package/build-module/components/block-tools/index.js.map +1 -1
  1077. package/build-module/components/block-tools/insertion-point.js +12 -14
  1078. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1079. package/build-module/components/block-tools/selected-block-popover.js +27 -27
  1080. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  1081. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  1082. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  1083. package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -4
  1084. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1085. package/build-module/components/block-types-list/index.js +8 -9
  1086. package/build-module/components/block-types-list/index.js.map +1 -1
  1087. package/build-module/components/block-types-list/index.native.js +26 -32
  1088. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1089. package/build-module/components/block-variation-picker/index.js +8 -9
  1090. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1091. package/build-module/components/block-variation-picker/index.native.js +7 -9
  1092. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1093. package/build-module/components/block-variation-transforms/index.js +30 -41
  1094. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1095. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  1096. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  1097. package/build-module/components/block-vertical-alignment-control/ui.js +12 -18
  1098. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1099. package/build-module/components/border-radius-control/all-input-control.js +9 -11
  1100. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1101. package/build-module/components/border-radius-control/index.js +9 -10
  1102. package/build-module/components/border-radius-control/index.js.map +1 -1
  1103. package/build-module/components/border-radius-control/input-controls.js +10 -14
  1104. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1105. package/build-module/components/border-radius-control/linked-button.js +6 -8
  1106. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1107. package/build-module/components/border-radius-control/utils.js +3 -7
  1108. package/build-module/components/border-radius-control/utils.js.map +1 -1
  1109. package/build-module/components/button-block-appender/index.js +13 -15
  1110. package/build-module/components/button-block-appender/index.js.map +1 -1
  1111. package/build-module/components/button-block-appender/index.native.js +25 -29
  1112. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1113. package/build-module/components/caption/index.native.js +40 -43
  1114. package/build-module/components/caption/index.native.js.map +1 -1
  1115. package/build-module/components/child-layout-control/index.js +5 -6
  1116. package/build-module/components/child-layout-control/index.js.map +1 -1
  1117. package/build-module/components/color-palette/control.js +7 -9
  1118. package/build-module/components/color-palette/control.js.map +1 -1
  1119. package/build-module/components/color-palette/with-color-context.js +3 -9
  1120. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1121. package/build-module/components/color-style-selector/index.js +28 -35
  1122. package/build-module/components/color-style-selector/index.js.map +1 -1
  1123. package/build-module/components/colors/utils.js +10 -9
  1124. package/build-module/components/colors/utils.js.map +1 -1
  1125. package/build-module/components/colors/with-colors.js +19 -38
  1126. package/build-module/components/colors/with-colors.js.map +1 -1
  1127. package/build-module/components/colors-gradients/control.js +26 -25
  1128. package/build-module/components/colors-gradients/control.js.map +1 -1
  1129. package/build-module/components/colors-gradients/dropdown.js +44 -49
  1130. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1131. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +27 -28
  1132. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1133. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  1134. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1135. package/build-module/components/contrast-checker/index.js +12 -13
  1136. package/build-module/components/contrast-checker/index.js.map +1 -1
  1137. package/build-module/components/contrast-checker/index.native.js +16 -18
  1138. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1139. package/build-module/components/convert-to-group-buttons/index.js +9 -10
  1140. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1141. package/build-module/components/convert-to-group-buttons/index.native.js +6 -7
  1142. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  1143. package/build-module/components/convert-to-group-buttons/toolbar.js +6 -12
  1144. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1145. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -6
  1146. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  1147. package/build-module/components/copy-handler/index.js +9 -13
  1148. package/build-module/components/copy-handler/index.js.map +1 -1
  1149. package/build-module/components/date-format-picker/index.js +12 -16
  1150. package/build-module/components/date-format-picker/index.js.map +1 -1
  1151. package/build-module/components/default-block-appender/index.js +7 -9
  1152. package/build-module/components/default-block-appender/index.js.map +1 -1
  1153. package/build-module/components/default-block-appender/index.native.js +8 -10
  1154. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1155. package/build-module/components/default-style-picker/index.js +14 -22
  1156. package/build-module/components/default-style-picker/index.js.map +1 -1
  1157. package/build-module/components/duotone/components.js +14 -18
  1158. package/build-module/components/duotone/components.js.map +1 -1
  1159. package/build-module/components/duotone/utils.js +1 -2
  1160. package/build-module/components/duotone/utils.js.map +1 -1
  1161. package/build-module/components/duotone-control/index.js +13 -17
  1162. package/build-module/components/duotone-control/index.js.map +1 -1
  1163. package/build-module/components/editable-text/index.js +11 -12
  1164. package/build-module/components/editable-text/index.js.map +1 -1
  1165. package/build-module/components/editor-styles/index.js +4 -5
  1166. package/build-module/components/editor-styles/index.js.map +1 -1
  1167. package/build-module/components/floating-toolbar/index.native.js +7 -8
  1168. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1169. package/build-module/components/font-appearance-control/index.js +21 -29
  1170. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1171. package/build-module/components/font-family/index.js +14 -16
  1172. package/build-module/components/font-family/index.js.map +1 -1
  1173. package/build-module/components/font-sizes/fluid-utils.js +17 -21
  1174. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  1175. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  1176. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  1177. package/build-module/components/font-sizes/utils.js +8 -14
  1178. package/build-module/components/font-sizes/utils.js.map +1 -1
  1179. package/build-module/components/font-sizes/with-font-sizes.js +18 -36
  1180. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1181. package/build-module/components/global-styles/advanced-panel.js +7 -10
  1182. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1183. package/build-module/components/global-styles/border-panel.js +45 -78
  1184. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1185. package/build-module/components/global-styles/color-panel.js +119 -162
  1186. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1187. package/build-module/components/global-styles/color-panel.native.js +25 -42
  1188. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1189. package/build-module/components/global-styles/dimensions-panel.js +78 -109
  1190. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1191. package/build-module/components/global-styles/effects-panel.js +60 -73
  1192. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  1193. package/build-module/components/global-styles/filters-panel.js +55 -72
  1194. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1195. package/build-module/components/global-styles/get-block-css-selector.js +5 -8
  1196. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  1197. package/build-module/components/global-styles/hooks.js +22 -37
  1198. package/build-module/components/global-styles/hooks.js.map +1 -1
  1199. package/build-module/components/global-styles/index.js +1 -1
  1200. package/build-module/components/global-styles/index.js.map +1 -1
  1201. package/build-module/components/global-styles/typography-panel.js +69 -125
  1202. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1203. package/build-module/components/global-styles/typography-utils.js +48 -26
  1204. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  1205. package/build-module/components/global-styles/use-global-styles-output.js +146 -240
  1206. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1207. package/build-module/components/global-styles/utils.js +12 -28
  1208. package/build-module/components/global-styles/utils.js.map +1 -1
  1209. package/build-module/components/gradients/use-gradient.js +6 -7
  1210. package/build-module/components/gradients/use-gradient.js.map +1 -1
  1211. package/build-module/components/gradients/with-gradient.js +2 -3
  1212. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1213. package/build-module/components/height-control/index.js +9 -10
  1214. package/build-module/components/height-control/index.js.map +1 -1
  1215. package/build-module/components/iframe/index.js +54 -90
  1216. package/build-module/components/iframe/index.js.map +1 -1
  1217. package/build-module/components/iframe/use-compatibility-styles.js +29 -20
  1218. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
  1219. package/build-module/components/image-editor/aspect-ratio-dropdown.js +83 -91
  1220. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1221. package/build-module/components/image-editor/constants.js +1 -2
  1222. package/build-module/components/image-editor/constants.js.map +1 -1
  1223. package/build-module/components/image-editor/context.js +9 -10
  1224. package/build-module/components/image-editor/context.js.map +1 -1
  1225. package/build-module/components/image-editor/cropper.js +11 -12
  1226. package/build-module/components/image-editor/cropper.js.map +1 -1
  1227. package/build-module/components/image-editor/index.js +12 -13
  1228. package/build-module/components/image-editor/index.js.map +1 -1
  1229. package/build-module/components/image-editor/use-save-image.js +11 -12
  1230. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  1231. package/build-module/components/image-editor/use-transform-image.js +5 -6
  1232. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  1233. package/build-module/components/image-editor/zoom-dropdown.js +10 -13
  1234. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1235. package/build-module/components/image-size-control/index.js +12 -13
  1236. package/build-module/components/image-size-control/index.js.map +1 -1
  1237. package/build-module/components/index.js +1 -1
  1238. package/build-module/components/index.js.map +1 -1
  1239. package/build-module/components/index.native.js +1 -0
  1240. package/build-module/components/index.native.js.map +1 -1
  1241. package/build-module/components/inner-blocks/button-block-appender.js +7 -8
  1242. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1243. package/build-module/components/inner-blocks/default-block-appender.js +6 -8
  1244. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1245. package/build-module/components/inner-blocks/index.js +11 -13
  1246. package/build-module/components/inner-blocks/index.js.map +1 -1
  1247. package/build-module/components/inner-blocks/index.native.js +9 -9
  1248. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1249. package/build-module/components/inner-blocks/use-block-context.js +1 -4
  1250. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  1251. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -29
  1252. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1253. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  1254. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1255. package/build-module/components/inserter/block-patterns-explorer/explorer.js +11 -12
  1256. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  1257. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  1258. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  1259. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  1260. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  1261. package/build-module/components/inserter/block-patterns-tab.js +62 -47
  1262. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  1263. package/build-module/components/inserter/block-types-tab.js +7 -9
  1264. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1265. package/build-module/components/inserter/block-types-tab.native.js +8 -9
  1266. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1267. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  1268. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  1269. package/build-module/components/inserter/hooks/use-block-types-state.js +9 -9
  1270. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1271. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  1272. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  1273. package/build-module/components/inserter/hooks/use-debounced-input.js +1 -2
  1274. package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -1
  1275. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -13
  1276. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1277. package/build-module/components/inserter/index.js +45 -58
  1278. package/build-module/components/inserter/index.js.map +1 -1
  1279. package/build-module/components/inserter/index.native.js +28 -35
  1280. package/build-module/components/inserter/index.native.js.map +1 -1
  1281. package/build-module/components/inserter/library.js +12 -13
  1282. package/build-module/components/inserter/library.js.map +1 -1
  1283. package/build-module/components/inserter/media-tab/hooks.js +2 -5
  1284. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  1285. package/build-module/components/inserter/media-tab/media-list.js +8 -10
  1286. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1287. package/build-module/components/inserter/media-tab/media-panel.js +12 -14
  1288. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1289. package/build-module/components/inserter/media-tab/media-preview.js +47 -59
  1290. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1291. package/build-module/components/inserter/media-tab/media-tab.js +27 -31
  1292. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1293. package/build-module/components/inserter/media-tab/utils.js +3 -5
  1294. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1295. package/build-module/components/inserter/menu.js +15 -19
  1296. package/build-module/components/inserter/menu.js.map +1 -1
  1297. package/build-module/components/inserter/menu.native.js +27 -31
  1298. package/build-module/components/inserter/menu.native.js.map +1 -1
  1299. package/build-module/components/inserter/mobile-tab-navigation.js +7 -9
  1300. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1301. package/build-module/components/inserter/panel.js +5 -6
  1302. package/build-module/components/inserter/panel.js.map +1 -1
  1303. package/build-module/components/inserter/preview-panel.js +4 -5
  1304. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1305. package/build-module/components/inserter/quick-inserter.js +8 -9
  1306. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1307. package/build-module/components/inserter/reusable-blocks-tab.js +16 -21
  1308. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  1309. package/build-module/components/inserter/reusable-blocks-tab.native.js +5 -6
  1310. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1311. package/build-module/components/inserter/search-items.js +12 -40
  1312. package/build-module/components/inserter/search-items.js.map +1 -1
  1313. package/build-module/components/inserter/search-results.js +17 -18
  1314. package/build-module/components/inserter/search-results.js.map +1 -1
  1315. package/build-module/components/inserter/search-results.native.js +11 -12
  1316. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1317. package/build-module/components/inserter/tabs.js +11 -12
  1318. package/build-module/components/inserter/tabs.js.map +1 -1
  1319. package/build-module/components/inserter/tabs.native.js +37 -55
  1320. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1321. package/build-module/components/inserter/utils.native.js +13 -17
  1322. package/build-module/components/inserter/utils.native.js.map +1 -1
  1323. package/build-module/components/inserter-draggable-blocks/index.js +11 -13
  1324. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1325. package/build-module/components/inserter-list-item/index.js +66 -70
  1326. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1327. package/build-module/components/inserter-listbox/group.js +4 -4
  1328. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1329. package/build-module/components/inserter-listbox/index.js +3 -4
  1330. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1331. package/build-module/components/inserter-listbox/item.js +14 -13
  1332. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1333. package/build-module/components/inserter-listbox/row.js +4 -4
  1334. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1335. package/build-module/components/inspector-controls/block-support-slot-container.js +6 -8
  1336. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1337. package/build-module/components/inspector-controls/block-support-tools-panel.js +6 -8
  1338. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1339. package/build-module/components/inspector-controls/fill.js +13 -23
  1340. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1341. package/build-module/components/inspector-controls/fill.native.js +9 -12
  1342. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1343. package/build-module/components/inspector-controls/index.js +4 -5
  1344. package/build-module/components/inspector-controls/index.js.map +1 -1
  1345. package/build-module/components/inspector-controls/slot.js +13 -18
  1346. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1347. package/build-module/components/inspector-controls/slot.native.js +8 -11
  1348. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1349. package/build-module/components/inspector-controls-tabs/index.js +6 -7
  1350. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1351. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  1352. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1353. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  1354. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1355. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -6
  1356. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1357. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -6
  1358. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1359. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  1360. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1361. package/build-module/components/inspector-popover-header/index.js +18 -22
  1362. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1363. package/build-module/components/justify-content-control/index.js +4 -5
  1364. package/build-module/components/justify-content-control/index.js.map +1 -1
  1365. package/build-module/components/justify-content-control/ui.js +12 -14
  1366. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1367. package/build-module/components/letter-spacing-control/index.js +8 -10
  1368. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1369. package/build-module/components/line-height-control/index.js +14 -20
  1370. package/build-module/components/line-height-control/index.js.map +1 -1
  1371. package/build-module/components/line-height-control/index.native.js +4 -5
  1372. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1373. package/build-module/components/link-control/index.js +85 -72
  1374. package/build-module/components/link-control/index.js.map +1 -1
  1375. package/build-module/components/link-control/is-url-like.js +32 -3
  1376. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1377. package/build-module/components/link-control/link-preview.js +24 -27
  1378. package/build-module/components/link-control/link-preview.js.map +1 -1
  1379. package/build-module/components/link-control/search-create-button.js +9 -12
  1380. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1381. package/build-module/components/link-control/search-input.js +24 -27
  1382. package/build-module/components/link-control/search-input.js.map +1 -1
  1383. package/build-module/components/link-control/search-item.js +15 -18
  1384. package/build-module/components/link-control/search-item.js.map +1 -1
  1385. package/build-module/components/link-control/search-results.js +23 -30
  1386. package/build-module/components/link-control/search-results.js.map +1 -1
  1387. package/build-module/components/link-control/settings-drawer.js +7 -33
  1388. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1389. package/build-module/components/link-control/settings.js +7 -9
  1390. package/build-module/components/link-control/settings.js.map +1 -1
  1391. package/build-module/components/link-control/use-internal-value.js +46 -0
  1392. package/build-module/components/link-control/use-internal-value.js.map +1 -0
  1393. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  1394. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1395. package/build-module/components/link-control/use-search-handler.js +10 -23
  1396. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1397. package/build-module/components/list-view/appender.js +14 -16
  1398. package/build-module/components/list-view/appender.js.map +1 -1
  1399. package/build-module/components/list-view/aria-referenced-text.js +34 -0
  1400. package/build-module/components/list-view/aria-referenced-text.js.map +1 -0
  1401. package/build-module/components/list-view/block-contents.js +39 -39
  1402. package/build-module/components/list-view/block-contents.js.map +1 -1
  1403. package/build-module/components/list-view/block-select-button.js +78 -25
  1404. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1405. package/build-module/components/list-view/block.js +117 -101
  1406. package/build-module/components/list-view/block.js.map +1 -1
  1407. package/build-module/components/list-view/branch.js +14 -12
  1408. package/build-module/components/list-view/branch.js.map +1 -1
  1409. package/build-module/components/list-view/drop-indicator.js +65 -16
  1410. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1411. package/build-module/components/list-view/expander.js +3 -4
  1412. package/build-module/components/list-view/expander.js.map +1 -1
  1413. package/build-module/components/list-view/index.js +50 -48
  1414. package/build-module/components/list-view/index.js.map +1 -1
  1415. package/build-module/components/list-view/leaf.js +14 -15
  1416. package/build-module/components/list-view/leaf.js.map +1 -1
  1417. package/build-module/components/list-view/use-block-selection.js +4 -6
  1418. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1419. package/build-module/components/list-view/use-list-view-client-ids.js +6 -29
  1420. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1421. package/build-module/components/list-view/use-list-view-drop-zone.js +62 -39
  1422. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1423. package/build-module/components/list-view/use-list-view-expand-selected-item.js +4 -5
  1424. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1425. package/build-module/components/list-view/use-list-view-scroll-into-view.js +5 -6
  1426. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1427. package/build-module/components/media-placeholder/index.js +106 -102
  1428. package/build-module/components/media-placeholder/index.js.map +1 -1
  1429. package/build-module/components/media-placeholder/index.native.js +5 -6
  1430. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1431. package/build-module/components/media-replace-flow/index.js +92 -107
  1432. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1433. package/build-module/components/media-upload/check.js +4 -5
  1434. package/build-module/components/media-upload/check.js.map +1 -1
  1435. package/build-module/components/media-upload/index.native.js +1 -1
  1436. package/build-module/components/media-upload/index.native.js.map +1 -1
  1437. package/build-module/components/multi-selection-inspector/index.js +3 -4
  1438. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1439. package/build-module/components/navigable-toolbar/index.js +24 -22
  1440. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1441. package/build-module/components/observe-typing/index.js +3 -4
  1442. package/build-module/components/observe-typing/index.js.map +1 -1
  1443. package/build-module/components/panel-color-settings/index.js +8 -9
  1444. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1445. package/build-module/components/plain-text/index.js +12 -13
  1446. package/build-module/components/plain-text/index.js.map +1 -1
  1447. package/build-module/components/plain-text/index.native.js +15 -19
  1448. package/build-module/components/plain-text/index.native.js.map +1 -1
  1449. package/build-module/components/preview-options/index.js +12 -12
  1450. package/build-module/components/preview-options/index.js.map +1 -1
  1451. package/build-module/components/provider/block-refs-provider.js +3 -4
  1452. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1453. package/build-module/components/provider/index.js +2 -3
  1454. package/build-module/components/provider/index.js.map +1 -1
  1455. package/build-module/components/provider/use-block-sync.js +7 -8
  1456. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1457. package/build-module/components/provider/with-registry-provider.js +13 -14
  1458. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1459. package/build-module/components/publish-date-time-picker/index.js +10 -11
  1460. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1461. package/build-module/components/recursion-provider/index.js +7 -11
  1462. package/build-module/components/recursion-provider/index.js.map +1 -1
  1463. package/build-module/components/resizable-box-popover/index.js +10 -10
  1464. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1465. package/build-module/components/responsive-block-control/label.js +5 -6
  1466. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1467. package/build-module/components/rich-text/content.js +85 -0
  1468. package/build-module/components/rich-text/content.js.map +1 -0
  1469. package/build-module/components/rich-text/embed-handler-picker.native.js +6 -10
  1470. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1471. package/build-module/components/rich-text/format-edit.js +7 -8
  1472. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1473. package/build-module/components/rich-text/format-toolbar/index.js +10 -20
  1474. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1475. package/build-module/components/rich-text/format-toolbar-container.js +13 -16
  1476. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1477. package/build-module/components/rich-text/index.js +45 -83
  1478. package/build-module/components/rich-text/index.js.map +1 -1
  1479. package/build-module/components/rich-text/index.native.js +128 -183
  1480. package/build-module/components/rich-text/index.native.js.map +1 -1
  1481. package/build-module/components/rich-text/input-event.js +4 -5
  1482. package/build-module/components/rich-text/input-event.js.map +1 -1
  1483. package/build-module/components/rich-text/shortcut.js +5 -6
  1484. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1485. package/build-module/components/rich-text/split-value.js +8 -10
  1486. package/build-module/components/rich-text/split-value.js.map +1 -1
  1487. package/build-module/components/rich-text/toolbar-button.js +8 -10
  1488. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1489. package/build-module/components/rich-text/use-before-input-rules.js +1 -4
  1490. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  1491. package/build-module/components/rich-text/use-enter.js +3 -6
  1492. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1493. package/build-module/components/rich-text/use-firefox-compat.js +29 -1
  1494. package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
  1495. package/build-module/components/rich-text/use-format-types.js +11 -17
  1496. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1497. package/build-module/components/rich-text/use-input-rules.js +9 -15
  1498. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1499. package/build-module/components/rich-text/use-mark-persistent.js +4 -5
  1500. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1501. package/build-module/components/rich-text/use-paste-handler.js +5 -7
  1502. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1503. package/build-module/components/rich-text/utils.js +5 -7
  1504. package/build-module/components/rich-text/utils.js.map +1 -1
  1505. package/build-module/components/skip-to-selected-block/index.js +3 -4
  1506. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1507. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +27 -0
  1508. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  1509. package/build-module/components/spacing-sizes-control/index.js +64 -64
  1510. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1511. package/build-module/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  1512. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  1513. package/build-module/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +21 -21
  1514. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  1515. package/build-module/components/spacing-sizes-control/input-controls/single.js +40 -0
  1516. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  1517. package/build-module/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +53 -70
  1518. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  1519. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +73 -0
  1520. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  1521. package/build-module/components/spacing-sizes-control/utils.js +196 -25
  1522. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1523. package/build-module/components/text-decoration-control/index.js +5 -6
  1524. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1525. package/build-module/components/text-transform-control/index.js +5 -6
  1526. package/build-module/components/text-transform-control/index.js.map +1 -1
  1527. package/build-module/components/tool-selector/index.js +13 -17
  1528. package/build-module/components/tool-selector/index.js.map +1 -1
  1529. package/build-module/components/typewriter/index.js +6 -9
  1530. package/build-module/components/typewriter/index.js.map +1 -1
  1531. package/build-module/components/ungroup-button/index.native.js +11 -14
  1532. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1533. package/build-module/components/unit-control/index.js +8 -9
  1534. package/build-module/components/unit-control/index.js.map +1 -1
  1535. package/build-module/components/url-input/index.js +23 -33
  1536. package/build-module/components/url-input/index.js.map +1 -1
  1537. package/build-module/components/url-input/index.native.js +10 -12
  1538. package/build-module/components/url-input/index.native.js.map +1 -1
  1539. package/build-module/components/url-popover/image-url-input-ui.js +34 -30
  1540. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1541. package/build-module/components/url-popover/index.js +16 -18
  1542. package/build-module/components/url-popover/index.js.map +1 -1
  1543. package/build-module/components/url-popover/link-editor.js +10 -11
  1544. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1545. package/build-module/components/url-popover/link-viewer-url.js +5 -6
  1546. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1547. package/build-module/components/url-popover/link-viewer.js +11 -12
  1548. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1549. package/build-module/components/use-block-display-information/index.js +29 -2
  1550. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1551. package/build-module/components/use-block-drop-zone/index.js +16 -23
  1552. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1553. package/build-module/components/use-block-drop-zone/index.native.js +8 -11
  1554. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1555. package/build-module/components/use-moving-animation/index.js +9 -12
  1556. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1557. package/build-module/components/use-on-block-drop/index.js +2 -6
  1558. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1559. package/build-module/components/use-on-block-drop/index.native.js +8 -10
  1560. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1561. package/build-module/components/use-paste-styles/index.js +2 -6
  1562. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1563. package/build-module/components/video-player/index.native.js +2 -3
  1564. package/build-module/components/video-player/index.native.js.map +1 -1
  1565. package/build-module/components/warning/index.js +6 -7
  1566. package/build-module/components/warning/index.js.map +1 -1
  1567. package/build-module/components/warning/index.native.js +13 -14
  1568. package/build-module/components/warning/index.native.js.map +1 -1
  1569. package/build-module/components/writing-flow/index.js +6 -8
  1570. package/build-module/components/writing-flow/index.js.map +1 -1
  1571. package/build-module/components/writing-flow/use-drag-selection.js +5 -7
  1572. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1573. package/build-module/components/writing-flow/use-tab-nav.js +41 -11
  1574. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1575. package/build-module/hooks/align.js +15 -21
  1576. package/build-module/hooks/align.js.map +1 -1
  1577. package/build-module/hooks/anchor.js +8 -4
  1578. package/build-module/hooks/anchor.js.map +1 -1
  1579. package/build-module/hooks/aria-label.js +1 -3
  1580. package/build-module/hooks/aria-label.js.map +1 -1
  1581. package/build-module/hooks/behaviors.js +132 -58
  1582. package/build-module/hooks/behaviors.js.map +1 -1
  1583. package/build-module/hooks/border.js +29 -42
  1584. package/build-module/hooks/border.js.map +1 -1
  1585. package/build-module/hooks/color.js +26 -41
  1586. package/build-module/hooks/color.js.map +1 -1
  1587. package/build-module/hooks/content-lock-ui.js +30 -33
  1588. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1589. package/build-module/hooks/contrast-checker.js +4 -7
  1590. package/build-module/hooks/contrast-checker.js.map +1 -1
  1591. package/build-module/hooks/custom-class-name.js +7 -5
  1592. package/build-module/hooks/custom-class-name.js.map +1 -1
  1593. package/build-module/hooks/dimensions.js +11 -13
  1594. package/build-module/hooks/dimensions.js.map +1 -1
  1595. package/build-module/hooks/duotone.js +37 -48
  1596. package/build-module/hooks/duotone.js.map +1 -1
  1597. package/build-module/hooks/font-family.js +6 -11
  1598. package/build-module/hooks/font-family.js.map +1 -1
  1599. package/build-module/hooks/font-size.js +22 -28
  1600. package/build-module/hooks/font-size.js.map +1 -1
  1601. package/build-module/hooks/gap.js +5 -6
  1602. package/build-module/hooks/gap.js.map +1 -1
  1603. package/build-module/hooks/layout.js +62 -77
  1604. package/build-module/hooks/layout.js.map +1 -1
  1605. package/build-module/hooks/line-height.js +5 -8
  1606. package/build-module/hooks/line-height.js.map +1 -1
  1607. package/build-module/hooks/lock.js +2 -2
  1608. package/build-module/hooks/lock.js.map +1 -1
  1609. package/build-module/hooks/margin.js +6 -9
  1610. package/build-module/hooks/margin.js.map +1 -1
  1611. package/build-module/hooks/metadata-name.js +4 -5
  1612. package/build-module/hooks/metadata-name.js.map +1 -1
  1613. package/build-module/hooks/metadata.js +3 -7
  1614. package/build-module/hooks/metadata.js.map +1 -1
  1615. package/build-module/hooks/padding.js +6 -9
  1616. package/build-module/hooks/padding.js.map +1 -1
  1617. package/build-module/hooks/position.js +49 -55
  1618. package/build-module/hooks/position.js.map +1 -1
  1619. package/build-module/hooks/settings.js +1 -3
  1620. package/build-module/hooks/settings.js.map +1 -1
  1621. package/build-module/hooks/style.js +18 -22
  1622. package/build-module/hooks/style.js.map +1 -1
  1623. package/build-module/hooks/supports.js +4 -6
  1624. package/build-module/hooks/supports.js.map +1 -1
  1625. package/build-module/hooks/typography.js +18 -27
  1626. package/build-module/hooks/typography.js.map +1 -1
  1627. package/build-module/hooks/typography.native.js +4 -3
  1628. package/build-module/hooks/typography.native.js.map +1 -1
  1629. package/build-module/hooks/use-border-props.js +1 -3
  1630. package/build-module/hooks/use-border-props.js.map +1 -1
  1631. package/build-module/hooks/use-color-props.js +6 -8
  1632. package/build-module/hooks/use-color-props.js.map +1 -1
  1633. package/build-module/hooks/use-editor-wrapper-styles.native.js +34 -39
  1634. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1635. package/build-module/hooks/use-spacing-props.js +1 -1
  1636. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1637. package/build-module/hooks/use-typography-props.js +11 -22
  1638. package/build-module/hooks/use-typography-props.js.map +1 -1
  1639. package/build-module/hooks/utils.js +7 -19
  1640. package/build-module/hooks/utils.js.map +1 -1
  1641. package/build-module/index.js +1 -1
  1642. package/build-module/index.js.map +1 -1
  1643. package/build-module/layouts/constrained.js +23 -27
  1644. package/build-module/layouts/constrained.js.map +1 -1
  1645. package/build-module/layouts/definitions.js +147 -0
  1646. package/build-module/layouts/definitions.js.map +1 -0
  1647. package/build-module/layouts/flex.js +50 -59
  1648. package/build-module/layouts/flex.js.map +1 -1
  1649. package/build-module/layouts/flow.js +11 -13
  1650. package/build-module/layouts/flow.js.map +1 -1
  1651. package/build-module/layouts/grid.js +46 -25
  1652. package/build-module/layouts/grid.js.map +1 -1
  1653. package/build-module/layouts/index.js +1 -2
  1654. package/build-module/layouts/index.js.map +1 -1
  1655. package/build-module/layouts/utils.js +10 -11
  1656. package/build-module/layouts/utils.js.map +1 -1
  1657. package/build-module/private-apis.js +12 -1
  1658. package/build-module/private-apis.js.map +1 -1
  1659. package/build-module/store/actions.js +229 -372
  1660. package/build-module/store/actions.js.map +1 -1
  1661. package/build-module/store/array.js +1 -2
  1662. package/build-module/store/array.js.map +1 -1
  1663. package/build-module/store/private-actions.js +189 -7
  1664. package/build-module/store/private-actions.js.map +1 -1
  1665. package/build-module/store/private-selectors.js +100 -25
  1666. package/build-module/store/private-selectors.js.map +1 -1
  1667. package/build-module/store/reducer.js +118 -169
  1668. package/build-module/store/reducer.js.map +1 -1
  1669. package/build-module/store/selectors.js +160 -231
  1670. package/build-module/store/selectors.js.map +1 -1
  1671. package/build-module/utils/block-variation-transforms.js +4 -7
  1672. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1673. package/build-module/utils/math.js +1 -2
  1674. package/build-module/utils/math.js.map +1 -1
  1675. package/build-module/utils/object.js +38 -5
  1676. package/build-module/utils/object.js.map +1 -1
  1677. package/build-module/utils/order-inserter-block-items.js +5 -7
  1678. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  1679. package/build-module/utils/parse-css-unit-to-px.js +3 -6
  1680. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1681. package/build-module/utils/pasting.js +5 -8
  1682. package/build-module/utils/pasting.js.map +1 -1
  1683. package/build-module/utils/pre-parse-patterns.js +1 -1
  1684. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  1685. package/build-module/utils/sorting.js +1 -2
  1686. package/build-module/utils/sorting.js.map +1 -1
  1687. package/build-module/utils/transform-styles/index.js +5 -7
  1688. package/build-module/utils/transform-styles/index.js.map +1 -1
  1689. package/build-module/utils/transform-styles/transforms/wrap.js +25 -28
  1690. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1691. package/build-style/content-rtl.css +7 -10
  1692. package/build-style/content.css +7 -10
  1693. package/build-style/style-rtl.css +51 -122
  1694. package/build-style/style.css +51 -122
  1695. package/package.json +31 -31
  1696. package/src/autocompleters/block.js +4 -2
  1697. package/src/components/alignment-control/ui.js +1 -2
  1698. package/src/components/block-actions/index.js +10 -0
  1699. package/src/components/block-alignment-control/constants.js +0 -4
  1700. package/src/components/block-alignment-control/ui.js +1 -6
  1701. package/src/components/block-alignment-matrix-control/index.js +1 -1
  1702. package/src/components/block-breadcrumb/index.js +2 -6
  1703. package/src/components/block-controls/fill.js +15 -17
  1704. package/src/components/block-controls/slot.js +21 -18
  1705. package/src/components/block-controls/slot.native.js +3 -8
  1706. package/src/components/block-draggable/index.js +2 -1
  1707. package/src/components/block-edit/index.js +3 -5
  1708. package/src/components/block-edit/test/edit.js +1 -1
  1709. package/src/components/block-heading-level-dropdown/README.md +52 -0
  1710. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  1711. package/src/components/block-heading-level-dropdown/index.js +77 -0
  1712. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  1713. package/src/components/block-inspector/index.js +19 -92
  1714. package/src/components/block-inspector/style.scss +0 -5
  1715. package/src/components/block-list/block.native.js +1 -0
  1716. package/src/components/block-list/content.scss +8 -12
  1717. package/src/components/block-list/index.js +1 -1
  1718. package/src/components/block-list/use-block-props/index.js +6 -1
  1719. package/src/components/block-list/use-in-between-inserter.js +0 -4
  1720. package/src/components/block-list-appender/index.js +32 -22
  1721. package/src/components/block-lock/style.scss +11 -4
  1722. package/src/components/block-lock/toolbar.js +2 -8
  1723. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  1724. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  1725. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  1726. package/src/components/block-mover/test/index.native.js +1 -20
  1727. package/src/components/block-preview/index.js +7 -14
  1728. package/src/components/block-quick-navigation/index.js +81 -0
  1729. package/src/components/block-removal-warning-modal/index.js +94 -0
  1730. package/src/components/block-settings-menu/block-settings-dropdown.js +96 -54
  1731. package/src/components/block-switcher/index.js +1 -2
  1732. package/src/components/block-toolbar/style.scss +0 -4
  1733. package/src/components/block-tools/index.js +10 -1
  1734. package/src/components/block-tools/selected-block-popover.js +6 -0
  1735. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  1736. package/src/components/color-palette/test/__snapshots__/control.js.snap +66 -50
  1737. package/src/components/color-palette/with-color-context.js +2 -6
  1738. package/src/components/colors/utils.js +5 -1
  1739. package/src/components/colors/with-colors.js +1 -5
  1740. package/src/components/colors-gradients/control.js +3 -3
  1741. package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -5
  1742. package/src/components/copy-handler/index.js +5 -5
  1743. package/src/components/duotone-control/index.js +0 -1
  1744. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  1745. package/src/components/font-sizes/utils.js +2 -2
  1746. package/src/components/global-styles/color-panel.js +3 -3
  1747. package/src/components/global-styles/dimensions-panel.js +14 -5
  1748. package/src/components/global-styles/get-block-css-selector.js +2 -2
  1749. package/src/components/global-styles/index.js +1 -0
  1750. package/src/components/global-styles/test/typography-utils.js +139 -1
  1751. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  1752. package/src/components/global-styles/typography-panel.js +19 -16
  1753. package/src/components/global-styles/typography-utils.js +53 -28
  1754. package/src/components/global-styles/use-global-styles-output.js +29 -19
  1755. package/src/components/global-styles/utils.js +9 -3
  1756. package/src/components/iframe/index.js +46 -68
  1757. package/src/components/iframe/use-compatibility-styles.js +34 -18
  1758. package/src/components/image-editor/constants.js +0 -1
  1759. package/src/components/index.js +1 -1
  1760. package/src/components/index.native.js +1 -0
  1761. package/src/components/inner-blocks/index.js +4 -2
  1762. package/src/components/inner-blocks/index.native.js +1 -1
  1763. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  1764. package/src/components/inserter/block-patterns-tab.js +63 -8
  1765. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  1766. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  1767. package/src/components/inserter/library.js +2 -1
  1768. package/src/components/inserter/media-tab/media-tab.js +9 -3
  1769. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  1770. package/src/components/inserter/tabs.js +3 -3
  1771. package/src/components/inspector-controls/README.md +1 -1
  1772. package/src/components/inspector-controls/fill.js +2 -6
  1773. package/src/components/inspector-controls-tabs/index.js +0 -1
  1774. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -1
  1775. package/src/components/link-control/index.js +73 -42
  1776. package/src/components/link-control/is-url-like.js +40 -3
  1777. package/src/components/link-control/search-input.js +1 -0
  1778. package/src/components/link-control/search-results.js +4 -14
  1779. package/src/components/link-control/settings-drawer.js +2 -37
  1780. package/src/components/link-control/settings.js +2 -2
  1781. package/src/components/link-control/style.scss +5 -6
  1782. package/src/components/link-control/test/index.js +202 -105
  1783. package/src/components/link-control/test/is-url-like.js +66 -0
  1784. package/src/components/link-control/use-internal-value.js +60 -0
  1785. package/src/components/link-control/use-search-handler.js +10 -27
  1786. package/src/components/list-view/appender.js +3 -5
  1787. package/src/components/list-view/aria-referenced-text.js +30 -0
  1788. package/src/components/list-view/block-contents.js +9 -8
  1789. package/src/components/list-view/block-select-button.js +78 -2
  1790. package/src/components/list-view/block.js +40 -10
  1791. package/src/components/list-view/branch.js +6 -3
  1792. package/src/components/list-view/drop-indicator.js +94 -9
  1793. package/src/components/list-view/index.js +29 -19
  1794. package/src/components/list-view/style.scss +13 -17
  1795. package/src/components/list-view/test/use-list-view-drop-zone.js +208 -76
  1796. package/src/components/list-view/use-block-selection.js +2 -2
  1797. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  1798. package/src/components/list-view/use-list-view-drop-zone.js +108 -47
  1799. package/src/components/media-placeholder/index.js +54 -20
  1800. package/src/components/media-replace-flow/index.js +1 -3
  1801. package/src/components/media-replace-flow/test/index.js +1 -1
  1802. package/src/components/navigable-toolbar/index.js +7 -5
  1803. package/src/components/preview-options/index.js +3 -2
  1804. package/src/components/provider/test/experimental-provider.js +9 -6
  1805. package/src/components/rich-text/content.js +85 -0
  1806. package/src/components/rich-text/format-toolbar/index.js +1 -2
  1807. package/src/components/rich-text/index.js +3 -36
  1808. package/src/components/rich-text/index.native.js +3 -33
  1809. package/src/components/rich-text/use-firefox-compat.js +27 -1
  1810. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +26 -0
  1811. package/src/components/spacing-sizes-control/index.js +85 -71
  1812. package/src/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +14 -13
  1813. package/src/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +15 -14
  1814. package/src/components/spacing-sizes-control/input-controls/single.js +40 -0
  1815. package/src/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +55 -80
  1816. package/src/components/spacing-sizes-control/sides-dropdown/index.js +91 -0
  1817. package/src/components/spacing-sizes-control/style.scss +28 -100
  1818. package/src/components/spacing-sizes-control/test/utils.js +233 -4
  1819. package/src/components/spacing-sizes-control/utils.js +203 -20
  1820. package/src/components/ungroup-button/index.native.js +2 -2
  1821. package/src/components/url-popover/image-url-input-ui.js +15 -15
  1822. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  1823. package/src/components/use-block-display-information/index.js +26 -0
  1824. package/src/components/writing-flow/use-drag-selection.js +1 -1
  1825. package/src/components/writing-flow/use-tab-nav.js +56 -9
  1826. package/src/hooks/anchor.js +3 -1
  1827. package/src/hooks/behaviors.js +163 -64
  1828. package/src/hooks/custom-class-name.js +23 -19
  1829. package/src/hooks/font-family.js +1 -5
  1830. package/src/hooks/font-size.js +12 -17
  1831. package/src/hooks/layout.js +21 -26
  1832. package/src/hooks/position.js +24 -12
  1833. package/src/hooks/style.js +3 -1
  1834. package/src/hooks/supports.js +1 -1
  1835. package/src/hooks/use-typography-props.js +14 -19
  1836. package/src/hooks/utils.js +8 -7
  1837. package/src/index.js +0 -2
  1838. package/src/layouts/constrained.js +2 -1
  1839. package/src/layouts/definitions.js +174 -0
  1840. package/src/layouts/flex.js +7 -5
  1841. package/src/layouts/flow.js +2 -1
  1842. package/src/layouts/grid.js +31 -4
  1843. package/src/layouts/test/utils.js +2 -7
  1844. package/src/layouts/utils.js +7 -2
  1845. package/src/private-apis.js +11 -0
  1846. package/src/store/actions.js +7 -56
  1847. package/src/store/private-actions.js +193 -0
  1848. package/src/store/private-selectors.js +132 -37
  1849. package/src/store/reducer.js +50 -8
  1850. package/src/store/selectors.js +74 -41
  1851. package/src/store/test/private-selectors.js +491 -48
  1852. package/src/store/test/reducer.js +0 -7
  1853. package/src/store/test/selectors.js +117 -17
  1854. package/src/utils/object.js +35 -0
  1855. package/src/utils/test/object.js +96 -1
  1856. package/build/components/link-control/use-internal-input-value.js +0 -27
  1857. package/build/components/link-control/use-internal-input-value.js.map +0 -1
  1858. package/build/components/spacing-sizes-control/all-input-control.js +0 -57
  1859. package/build/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1860. package/build/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1861. package/build/components/spacing-sizes-control/input-controls.js.map +0 -1
  1862. package/build/components/spacing-sizes-control/linked-button.js +0 -37
  1863. package/build/components/spacing-sizes-control/linked-button.js.map +0 -1
  1864. package/build/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1865. package/build/components/ungroup-button/icon.js +0 -31
  1866. package/build/components/ungroup-button/icon.js.map +0 -1
  1867. package/build-module/components/link-control/use-internal-input-value.js +0 -19
  1868. package/build-module/components/link-control/use-internal-input-value.js.map +0 -1
  1869. package/build-module/components/spacing-sizes-control/all-input-control.js +0 -45
  1870. package/build-module/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1871. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1872. package/build-module/components/spacing-sizes-control/input-controls.js.map +0 -1
  1873. package/build-module/components/spacing-sizes-control/linked-button.js +0 -27
  1874. package/build-module/components/spacing-sizes-control/linked-button.js.map +0 -1
  1875. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1876. package/build-module/components/ungroup-button/icon.js +0 -22
  1877. package/build-module/components/ungroup-button/icon.js.map +0 -1
  1878. package/src/components/link-control/use-internal-input-value.js +0 -23
  1879. package/src/components/spacing-sizes-control/all-input-control.js +0 -44
  1880. package/src/components/spacing-sizes-control/linked-button.js +0 -24
  1881. package/src/components/ungroup-button/icon.js +0 -26
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -11,13 +10,12 @@ import { __ } from '@wordpress/i18n';
11
10
  */
12
11
 
13
12
  import useSetting from '../use-setting';
14
- export default function FontFamilyControl(_ref) {
15
- let {
16
- value = '',
17
- onChange,
18
- fontFamilies,
19
- ...props
20
- } = _ref;
13
+ export default function FontFamilyControl({
14
+ value = '',
15
+ onChange,
16
+ fontFamilies,
17
+ ...props
18
+ }) {
21
19
  const blockLevelFontFamilies = useSetting('typography.fontFamilies');
22
20
 
23
21
  if (!fontFamilies) {
@@ -31,22 +29,22 @@ export default function FontFamilyControl(_ref) {
31
29
  const options = [{
32
30
  value: '',
33
31
  label: __('Default')
34
- }, ...fontFamilies.map(_ref2 => {
35
- let {
36
- fontFamily,
37
- name
38
- } = _ref2;
32
+ }, ...fontFamilies.map(({
33
+ fontFamily,
34
+ name
35
+ }) => {
39
36
  return {
40
37
  value: fontFamily,
41
38
  label: name || fontFamily
42
39
  };
43
40
  })];
44
- return createElement(SelectControl, _extends({
41
+ return createElement(SelectControl, {
45
42
  label: __('Font'),
46
43
  options: options,
47
44
  value: value,
48
45
  onChange: onChange,
49
- labelPosition: "top"
50
- }, props));
46
+ labelPosition: "top",
47
+ ...props
48
+ });
51
49
  }
52
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"names":["SelectControl","__","useSetting","FontFamilyControl","value","onChange","fontFamilies","props","blockLevelFontFamilies","length","options","label","map","fontFamily","name"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,eAAe,SAASC,iBAAT,OAKX;AAAA,MALuC;AAC1CC,IAAAA,KAAK,GAAG,EADkC;AAE1CC,IAAAA,QAF0C;AAG1CC,IAAAA,YAH0C;AAI1C,OAAGC;AAJuC,GAKvC;AACH,QAAMC,sBAAsB,GAAGN,UAAU,CAAE,yBAAF,CAAzC;;AACA,MAAK,CAAEI,YAAP,EAAsB;AACrBA,IAAAA,YAAY,GAAGE,sBAAf;AACA;;AAED,MAAK,CAAEF,YAAF,IAAkBA,YAAY,CAACG,MAAb,KAAwB,CAA/C,EAAmD;AAClD,WAAO,IAAP;AACA;;AAED,QAAMC,OAAO,GAAG,CACf;AAAEN,IAAAA,KAAK,EAAE,EAAT;AAAaO,IAAAA,KAAK,EAAEV,EAAE,CAAE,SAAF;AAAtB,GADe,EAEf,GAAGK,YAAY,CAACM,GAAb,CAAkB,SAA4B;AAAA,QAA1B;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,KAA0B;AAChD,WAAO;AACNV,MAAAA,KAAK,EAAES,UADD;AAENF,MAAAA,KAAK,EAAEG,IAAI,IAAID;AAFT,KAAP;AAIA,GALE,CAFY,CAAhB;AASA,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGZ,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,OAAO,EAAGS,OAFX;AAGC,IAAA,KAAK,EAAGN,KAHT;AAIC,IAAA,QAAQ,EAAGC,QAJZ;AAKC,IAAA,aAAa,EAAC;AALf,KAMME,KANN,EADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default function FontFamilyControl( {\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\t...props\n} ) {\n\tconst blockLevelFontFamilies = useSetting( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{ value: '', label: __( 'Default' ) },\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: fontFamily,\n\t\t\t\tlabel: name || fontFamily,\n\t\t\t};\n\t\t} ),\n\t];\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\toptions={ options }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"names":["SelectControl","__","useSetting","FontFamilyControl","value","onChange","fontFamilies","props","blockLevelFontFamilies","length","options","label","map","fontFamily","name"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,eAAe,SAASC,iBAAT,CAA4B;AAC1CC,EAAAA,KAAK,GAAG,EADkC;AAE1CC,EAAAA,QAF0C;AAG1CC,EAAAA,YAH0C;AAI1C,KAAGC;AAJuC,CAA5B,EAKX;AACH,QAAMC,sBAAsB,GAAGN,UAAU,CAAE,yBAAF,CAAzC;;AACA,MAAK,CAAEI,YAAP,EAAsB;AACrBA,IAAAA,YAAY,GAAGE,sBAAf;AACA;;AAED,MAAK,CAAEF,YAAF,IAAkBA,YAAY,CAACG,MAAb,KAAwB,CAA/C,EAAmD;AAClD,WAAO,IAAP;AACA;;AAED,QAAMC,OAAO,GAAG,CACf;AAAEN,IAAAA,KAAK,EAAE,EAAT;AAAaO,IAAAA,KAAK,EAAEV,EAAE,CAAE,SAAF;AAAtB,GADe,EAEf,GAAGK,YAAY,CAACM,GAAb,CAAkB,CAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAF,KAA4B;AAChD,WAAO;AACNV,MAAAA,KAAK,EAAES,UADD;AAENF,MAAAA,KAAK,EAAEG,IAAI,IAAID;AAFT,KAAP;AAIA,GALE,CAFY,CAAhB;AASA,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGZ,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,OAAO,EAAGS,OAFX;AAGC,IAAA,KAAK,EAAGN,KAHT;AAIC,IAAA,QAAQ,EAAGC,QAJZ;AAKC,IAAA,aAAa,EAAC,KALf;AAAA,OAMME;AANN,IADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default function FontFamilyControl( {\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\t...props\n} ) {\n\tconst blockLevelFontFamilies = useSetting( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{ value: '', label: __( 'Default' ) },\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: fontFamily,\n\t\t\t\tlabel: name || fontFamily,\n\t\t\t};\n\t\t} ),\n\t];\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\toptions={ options }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
@@ -41,16 +41,15 @@ const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';
41
41
  * @return {string|null} A font-size value using clamp().
42
42
  */
43
43
 
44
- export function getComputedFluidTypographyValue(_ref) {
45
- let {
46
- minimumFontSize,
47
- maximumFontSize,
48
- fontSize,
49
- minimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,
50
- maximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,
51
- scaleFactor = DEFAULT_SCALE_FACTOR,
52
- minimumFontSizeLimit
53
- } = _ref;
44
+ export function getComputedFluidTypographyValue({
45
+ minimumFontSize,
46
+ maximumFontSize,
47
+ fontSize,
48
+ minimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,
49
+ maximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,
50
+ scaleFactor = DEFAULT_SCALE_FACTOR,
51
+ minimumFontSizeLimit
52
+ }) {
54
53
  // Validate incoming settings and set defaults.
55
54
  minimumFontSizeLimit = !!getTypographyValueAndUnit(minimumFontSizeLimit) ? minimumFontSizeLimit : DEFAULT_MINIMUM_FONT_SIZE_LIMIT;
56
55
  /*
@@ -62,7 +61,7 @@ export function getComputedFluidTypographyValue(_ref) {
62
61
  // Parses default font size.
63
62
  const fontSizeParsed = getTypographyValueAndUnit(fontSize); // Protect against invalid units.
64
63
 
65
- if (!(fontSizeParsed !== null && fontSizeParsed !== void 0 && fontSizeParsed.unit)) {
64
+ if (!fontSizeParsed?.unit) {
66
65
  return null;
67
66
  } // Parses the minimum font size limit, so we can perform checks using it.
68
67
 
@@ -71,13 +70,13 @@ export function getComputedFluidTypographyValue(_ref) {
71
70
  coerceTo: fontSizeParsed.unit
72
71
  }); // Don't enforce minimum font size if a font size has explicitly set a min and max value.
73
72
 
74
- if (!!(minimumFontSizeLimitParsed !== null && minimumFontSizeLimitParsed !== void 0 && minimumFontSizeLimitParsed.value) && !minimumFontSize && !maximumFontSize) {
73
+ if (!!minimumFontSizeLimitParsed?.value && !minimumFontSize && !maximumFontSize) {
75
74
  /*
76
75
  * If a minimum size was not passed to this function
77
76
  * and the user-defined font size is lower than $minimum_font_size_limit,
78
77
  * do not calculate a fluid value.
79
78
  */
80
- if ((fontSizeParsed === null || fontSizeParsed === void 0 ? void 0 : fontSizeParsed.value) <= (minimumFontSizeLimitParsed === null || minimumFontSizeLimitParsed === void 0 ? void 0 : minimumFontSizeLimitParsed.value)) {
79
+ if (fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value) {
81
80
  return null;
82
81
  }
83
82
  } // If no fluid max font size is available use the incoming value.
@@ -105,7 +104,7 @@ export function getComputedFluidTypographyValue(_ref) {
105
104
 
106
105
  const calculatedMinimumFontSize = roundToPrecision(fontSizeParsed.value * minimumFontSizeFactor, 3); // Only use calculated min font size if it's > $minimum_font_size_limit value.
107
106
 
108
- if (!!(minimumFontSizeLimitParsed !== null && minimumFontSizeLimitParsed !== void 0 && minimumFontSizeLimitParsed.value) && calculatedMinimumFontSize < (minimumFontSizeLimitParsed === null || minimumFontSizeLimitParsed === void 0 ? void 0 : minimumFontSizeLimitParsed.value)) {
107
+ if (!!minimumFontSizeLimitParsed?.value && calculatedMinimumFontSize < minimumFontSizeLimitParsed?.value) {
109
108
  minimumFontSize = `${minimumFontSizeLimitParsed.value}${minimumFontSizeLimitParsed.unit}`;
110
109
  } else {
111
110
  minimumFontSize = `${calculatedMinimumFontSize}${fontSizeParsed.unit}`;
@@ -117,7 +116,7 @@ export function getComputedFluidTypographyValue(_ref) {
117
116
  const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSize); // We get a 'preferred' unit to keep units consistent when calculating,
118
117
  // otherwise the result will not be accurate.
119
118
 
120
- const fontSizeUnit = (minimumFontSizeParsed === null || minimumFontSizeParsed === void 0 ? void 0 : minimumFontSizeParsed.unit) || 'rem'; // Grabs the maximum font size and normalize it in order to use the value for calculations.
119
+ const fontSizeUnit = minimumFontSizeParsed?.unit || 'rem'; // Grabs the maximum font size and normalize it in order to use the value for calculations.
121
120
 
122
121
  const maximumFontSizeParsed = getTypographyValueAndUnit(maximumFontSize, {
123
122
  coerceTo: fontSizeUnit
@@ -162,9 +161,7 @@ export function getComputedFluidTypographyValue(_ref) {
162
161
  * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.
163
162
  */
164
163
 
165
- export function getTypographyValueAndUnit(rawValue) {
166
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
167
-
164
+ export function getTypographyValueAndUnit(rawValue, options = {}) {
168
165
  if (typeof rawValue !== 'string' && typeof rawValue !== 'number') {
169
166
  return null;
170
167
  } // Converts numeric values to pixel values by default.
@@ -185,7 +182,7 @@ export function getTypographyValueAndUnit(rawValue) {
185
182
  acceptableUnits: ['rem', 'px', 'em'],
186
183
  ...options
187
184
  };
188
- const acceptableUnitsGroup = acceptableUnits === null || acceptableUnits === void 0 ? void 0 : acceptableUnits.join('|');
185
+ const acceptableUnitsGroup = acceptableUnits?.join('|');
189
186
  const regexUnits = new RegExp(`^(\\d*\\.?\\d+)(${acceptableUnitsGroup}){1,1}$`);
190
187
  const matches = rawValue.match(regexUnits); // We need a number value and a unit.
191
188
 
@@ -231,8 +228,7 @@ export function getTypographyValueAndUnit(rawValue) {
231
228
  * @return {number|undefined} Value rounded to standard precision.
232
229
  */
233
230
 
234
- export function roundToPrecision(value) {
235
- let digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
231
+ export function roundToPrecision(value, digits = 3) {
236
232
  const base = Math.pow(10, digits);
237
233
  return Number.isFinite(value) ? parseFloat(Math.round(value * base) / base) : undefined;
238
234
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/fluid-utils.js"],"names":["DEFAULT_MAXIMUM_VIEWPORT_WIDTH","DEFAULT_MINIMUM_VIEWPORT_WIDTH","DEFAULT_SCALE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX","DEFAULT_MINIMUM_FONT_SIZE_LIMIT","getComputedFluidTypographyValue","minimumFontSize","maximumFontSize","fontSize","minimumViewPortWidth","maximumViewPortWidth","scaleFactor","minimumFontSizeLimit","getTypographyValueAndUnit","fontSizeParsed","unit","minimumFontSizeLimitParsed","coerceTo","value","fontSizeValueInPx","minimumFontSizeFactor","Math","min","max","log2","calculatedMinimumFontSize","roundToPrecision","minimumFontSizeParsed","fontSizeUnit","maximumFontSizeParsed","minimumFontSizeRem","maximumViewPortWidthParsed","minumumViewPortWidthParsed","minViewPortWidthOffsetValue","viewPortWidthOffset","linearFactor","linearFactorScaled","fluidTargetFontSize","rawValue","options","isFinite","rootSizeValue","acceptableUnits","acceptableUnitsGroup","join","regexUnits","RegExp","matches","match","length","returnValue","parseFloat","digits","base","pow","Number","round","undefined"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAEA;AACA,MAAMA,8BAA8B,GAAG,QAAvC;AACA,MAAMC,8BAA8B,GAAG,OAAvC;AACA,MAAMC,oBAAoB,GAAG,CAA7B;AACA,MAAMC,oCAAoC,GAAG,IAA7C;AACA,MAAMC,oCAAoC,GAAG,IAA7C;AACA,MAAMC,+BAA+B,GAAG,MAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,+BAAT,OAQH;AAAA,MAR6C;AAChDC,IAAAA,eADgD;AAEhDC,IAAAA,eAFgD;AAGhDC,IAAAA,QAHgD;AAIhDC,IAAAA,oBAAoB,GAAGT,8BAJyB;AAKhDU,IAAAA,oBAAoB,GAAGX,8BALyB;AAMhDY,IAAAA,WAAW,GAAGV,oBANkC;AAOhDW,IAAAA;AAPgD,GAQ7C;AACH;AACAA,EAAAA,oBAAoB,GAAG,CAAC,CAAEC,yBAAyB,CAAED,oBAAF,CAA5B,GACpBA,oBADoB,GAEpBR,+BAFH;AAIA;AACD;AACA;AACA;;AACC,MAAKI,QAAL,EAAgB;AACf;AACA,UAAMM,cAAc,GAAGD,yBAAyB,CAAEL,QAAF,CAAhD,CAFe,CAIf;;AACA,QAAK,EAAEM,cAAF,aAAEA,cAAF,eAAEA,cAAc,CAAEC,IAAlB,CAAL,EAA8B;AAC7B,aAAO,IAAP;AACA,KAPc,CASf;;;AACA,UAAMC,0BAA0B,GAAGH,yBAAyB,CAC3DD,oBAD2D,EAE3D;AACCK,MAAAA,QAAQ,EAAEH,cAAc,CAACC;AAD1B,KAF2D,CAA5D,CAVe,CAiBf;;AACA,QACC,CAAC,EAAEC,0BAAF,aAAEA,0BAAF,eAAEA,0BAA0B,CAAEE,KAA9B,CAAD,IACA,CAAEZ,eADF,IAEA,CAAEC,eAHH,EAIE;AACD;AACH;AACA;AACA;AACA;AACG,UAAK,CAAAO,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAEI,KAAhB,MAAyBF,0BAAzB,aAAyBA,0BAAzB,uBAAyBA,0BAA0B,CAAEE,KAArD,CAAL,EAAkE;AACjE,eAAO,IAAP;AACA;AACD,KA/Bc,CAiCf;;;AACA,QAAK,CAAEX,eAAP,EAAyB;AACxBA,MAAAA,eAAe,GAAI,GAAGO,cAAc,CAACI,KAAO,GAAGJ,cAAc,CAACC,IAAM,EAApE;AACA;AAED;AACF;AACA;AACA;;;AACE,QAAK,CAAET,eAAP,EAAyB;AACxB,YAAMa,iBAAiB,GACtBL,cAAc,CAACC,IAAf,KAAwB,IAAxB,GACGD,cAAc,CAACI,KADlB,GAEGJ,cAAc,CAACI,KAAf,GAAuB,EAH3B;AAKA;AACH;AACA;AACA;AACA;AACA;;AACG,YAAME,qBAAqB,GAAGC,IAAI,CAACC,GAAL,CAC7BD,IAAI,CAACE,GAAL,CACC,IAAI,QAAQF,IAAI,CAACG,IAAL,CAAWL,iBAAX,CADb,EAECjB,oCAFD,CAD6B,EAK7BC,oCAL6B,CAA9B,CAZwB,CAoBxB;;AACA,YAAMsB,yBAAyB,GAAGC,gBAAgB,CACjDZ,cAAc,CAACI,KAAf,GAAuBE,qBAD0B,EAEjD,CAFiD,CAAlD,CArBwB,CA0BxB;;AACA,UACC,CAAC,EAAEJ,0BAAF,aAAEA,0BAAF,eAAEA,0BAA0B,CAAEE,KAA9B,CAAD,IACAO,yBAAyB,IAAGT,0BAAH,aAAGA,0BAAH,uBAAGA,0BAA0B,CAAEE,KAA/B,CAF1B,EAGE;AACDZ,QAAAA,eAAe,GAAI,GAAGU,0BAA0B,CAACE,KAAO,GAAGF,0BAA0B,CAACD,IAAM,EAA5F;AACA,OALD,MAKO;AACNT,QAAAA,eAAe,GAAI,GAAGmB,yBAA2B,GAAGX,cAAc,CAACC,IAAM,EAAzE;AACA;AACD;AACD,GAxFE,CA0FH;;;AACA,QAAMY,qBAAqB,GAAGd,yBAAyB,CAAEP,eAAF,CAAvD,CA3FG,CA6FH;AACA;;AACA,QAAMsB,YAAY,GAAG,CAAAD,qBAAqB,SAArB,IAAAA,qBAAqB,WAArB,YAAAA,qBAAqB,CAAEZ,IAAvB,KAA+B,KAApD,CA/FG,CAiGH;;AACA,QAAMc,qBAAqB,GAAGhB,yBAAyB,CAAEN,eAAF,EAAmB;AACzEU,IAAAA,QAAQ,EAAEW;AAD+D,GAAnB,CAAvD,CAlGG,CAsGH;;AACA,MAAK,CAAED,qBAAF,IAA2B,CAAEE,qBAAlC,EAA0D;AACzD,WAAO,IAAP;AACA,GAzGE,CA2GH;;;AACA,QAAMC,kBAAkB,GAAGjB,yBAAyB,CAAEP,eAAF,EAAmB;AACtEW,IAAAA,QAAQ,EAAE;AAD4D,GAAnB,CAApD,CA5GG,CAgHH;;AACA,QAAMc,0BAA0B,GAAGlB,yBAAyB,CAC3DH,oBAD2D,EAE3D;AAAEO,IAAAA,QAAQ,EAAEW;AAAZ,GAF2D,CAA5D;AAIA,QAAMI,0BAA0B,GAAGnB,yBAAyB,CAC3DJ,oBAD2D,EAE3D;AAAEQ,IAAAA,QAAQ,EAAEW;AAAZ,GAF2D,CAA5D,CArHG,CA0HH;;AACA,MACC,CAAEG,0BAAF,IACA,CAAEC,0BADF,IAEA,CAAEF,kBAHH,EAIE;AACD,WAAO,IAAP;AACA,GAjIE,CAmIH;AACA;;;AACA,QAAMG,2BAA2B,GAAGP,gBAAgB,CACnDM,0BAA0B,CAACd,KAA3B,GAAmC,GADgB,EAEnD,CAFmD,CAApD;AAKA,QAAMgB,mBAAmB,GACxBR,gBAAgB,CAAEO,2BAAF,EAA+B,CAA/B,CAAhB,GAAqDL,YADtD;AAEA,QAAMO,YAAY,GACjB,OACE,CAAEN,qBAAqB,CAACX,KAAtB,GAA8BS,qBAAqB,CAACT,KAAtD,KACCa,0BAA0B,CAACb,KAA3B,GACDc,0BAA0B,CAACd,KAF3B,CADF,CADD;AAKA,QAAMkB,kBAAkB,GAAGV,gBAAgB,CAC1C,CAAES,YAAY,IAAI,CAAlB,IAAwBxB,WADkB,EAE1C,CAF0C,CAA3C;AAIA,QAAM0B,mBAAmB,GAAI,GAAGP,kBAAkB,CAACZ,KAAO,GAAGY,kBAAkB,CAACf,IAAM,cAAcmB,mBAAqB,OAAOE,kBAAoB,GAApJ;AAEA,SAAQ,SAAS9B,eAAiB,KAAK+B,mBAAqB,KAAK9B,eAAiB,GAAlF;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASM,yBAAT,CAAoCyB,QAApC,EAA6D;AAAA,MAAfC,OAAe,uEAAL,EAAK;;AACnE,MAAK,OAAOD,QAAP,KAAoB,QAApB,IAAgC,OAAOA,QAAP,KAAoB,QAAzD,EAAoE;AACnE,WAAO,IAAP;AACA,GAHkE,CAKnE;;;AACA,MAAKE,QAAQ,CAAEF,QAAF,CAAb,EAA4B;AAC3BA,IAAAA,QAAQ,GAAI,GAAGA,QAAU,IAAzB;AACA;;AAED,QAAM;AAAErB,IAAAA,QAAF;AAAYwB,IAAAA,aAAZ;AAA2BC,IAAAA;AAA3B,MAA+C;AACpDzB,IAAAA,QAAQ,EAAE,EAD0C;AAEpD;AACAwB,IAAAA,aAAa,EAAE,EAHqC;AAIpDC,IAAAA,eAAe,EAAE,CAAE,KAAF,EAAS,IAAT,EAAe,IAAf,CAJmC;AAKpD,OAAGH;AALiD,GAArD;AAQA,QAAMI,oBAAoB,GAAGD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEE,IAAjB,CAAuB,GAAvB,CAA7B;AACA,QAAMC,UAAU,GAAG,IAAIC,MAAJ,CACjB,mBAAmBH,oBAAsB,SADxB,CAAnB;AAIA,QAAMI,OAAO,GAAGT,QAAQ,CAACU,KAAT,CAAgBH,UAAhB,CAAhB,CAvBmE,CAyBnE;;AACA,MAAK,CAAEE,OAAF,IAAaA,OAAO,CAACE,MAAR,GAAiB,CAAnC,EAAuC;AACtC,WAAO,IAAP;AACA;;AAED,MAAI,GAAI/B,KAAJ,EAAWH,IAAX,IAAoBgC,OAAxB;AAEA,MAAIG,WAAW,GAAGC,UAAU,CAAEjC,KAAF,CAA5B;;AAEA,MAAK,SAASD,QAAT,KAAuB,SAASF,IAAT,IAAiB,UAAUA,IAAlD,CAAL,EAAgE;AAC/DmC,IAAAA,WAAW,GAAGA,WAAW,GAAGT,aAA5B;AACA1B,IAAAA,IAAI,GAAGE,QAAP;AACA;;AAED,MAAK,SAASF,IAAT,KAAmB,SAASE,QAAT,IAAqB,UAAUA,QAAlD,CAAL,EAAoE;AACnEiC,IAAAA,WAAW,GAAGA,WAAW,GAAGT,aAA5B;AACA1B,IAAAA,IAAI,GAAGE,QAAP;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,MACC,CAAE,SAASA,QAAT,IAAqB,UAAUA,QAAjC,MACE,SAASF,IAAT,IAAiB,UAAUA,IAD7B,CADD,EAGE;AACDA,IAAAA,IAAI,GAAGE,QAAP;AACA;;AAED,SAAO;AACNC,IAAAA,KAAK,EAAEQ,gBAAgB,CAAEwB,WAAF,EAAe,CAAf,CADjB;AAENnC,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASW,gBAAT,CAA2BR,KAA3B,EAA+C;AAAA,MAAbkC,MAAa,uEAAJ,CAAI;AACrD,QAAMC,IAAI,GAAGhC,IAAI,CAACiC,GAAL,CAAU,EAAV,EAAcF,MAAd,CAAb;AACA,SAAOG,MAAM,CAACf,QAAP,CAAiBtB,KAAjB,IACJiC,UAAU,CAAE9B,IAAI,CAACmC,KAAL,CAAYtC,KAAK,GAAGmC,IAApB,IAA6BA,IAA/B,CADN,GAEJI,SAFH;AAGA","sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n// Defaults.\nconst DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';\nconst DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px';\nconst DEFAULT_SCALE_FACTOR = 1;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75;\nconst DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';\n\n/**\n * Computes a fluid font-size value that uses clamp(). A minimum and maximum\n * font size OR a single font size can be specified.\n *\n * If a single font size is specified, it is scaled up and down using a logarithmic scale.\n *\n * @example\n * ```js\n * // Calculate fluid font-size value from a minimum and maximum value.\n * const fontSize = getComputedFluidTypographyValue( {\n * minimumFontSize: '20px',\n * maximumFontSize: '45px'\n * } );\n * // Calculate fluid font-size value from a single font size.\n * const fontSize = getComputedFluidTypographyValue( {\n * fontSize: '30px',\n * } );\n * ```\n *\n * @param {Object} args\n * @param {?string} args.minimumViewPortWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.\n * @param {?string} args.maximumViewPortWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.\n * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.\n * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.\n * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.\n * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional.\n *\n * @return {string|null} A font-size value using clamp().\n */\nexport function getComputedFluidTypographyValue( {\n\tminimumFontSize,\n\tmaximumFontSize,\n\tfontSize,\n\tminimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,\n\tmaximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,\n\tscaleFactor = DEFAULT_SCALE_FACTOR,\n\tminimumFontSizeLimit,\n} ) {\n\t// Validate incoming settings and set defaults.\n\tminimumFontSizeLimit = !! getTypographyValueAndUnit( minimumFontSizeLimit )\n\t\t? minimumFontSizeLimit\n\t\t: DEFAULT_MINIMUM_FONT_SIZE_LIMIT;\n\n\t/*\n\t * Calculates missing minimumFontSize and maximumFontSize from\n\t * defaultFontSize if provided.\n\t */\n\tif ( fontSize ) {\n\t\t// Parses default font size.\n\t\tconst fontSizeParsed = getTypographyValueAndUnit( fontSize );\n\n\t\t// Protect against invalid units.\n\t\tif ( ! fontSizeParsed?.unit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Parses the minimum font size limit, so we can perform checks using it.\n\t\tconst minimumFontSizeLimitParsed = getTypographyValueAndUnit(\n\t\t\tminimumFontSizeLimit,\n\t\t\t{\n\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t}\n\t\t);\n\n\t\t// Don't enforce minimum font size if a font size has explicitly set a min and max value.\n\t\tif (\n\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t! minimumFontSize &&\n\t\t\t! maximumFontSize\n\t\t) {\n\t\t\t/*\n\t\t\t * If a minimum size was not passed to this function\n\t\t\t * and the user-defined font size is lower than $minimum_font_size_limit,\n\t\t\t * do not calculate a fluid value.\n\t\t\t */\n\t\t\tif ( fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\t// If no fluid max font size is available use the incoming value.\n\t\tif ( ! maximumFontSize ) {\n\t\t\tmaximumFontSize = `${ fontSizeParsed.value }${ fontSizeParsed.unit }`;\n\t\t}\n\n\t\t/*\n\t\t * If no minimumFontSize is provided, create one using\n\t\t * the given font size multiplied by the min font size scale factor.\n\t\t */\n\t\tif ( ! minimumFontSize ) {\n\t\t\tconst fontSizeValueInPx =\n\t\t\t\tfontSizeParsed.unit === 'px'\n\t\t\t\t\t? fontSizeParsed.value\n\t\t\t\t\t: fontSizeParsed.value * 16;\n\n\t\t\t/*\n\t\t\t * The scale factor is a multiplier that affects how quickly the curve will move towards the minimum,\n\t\t\t * that is, how quickly the size factor reaches 0 given increasing font size values.\n\t\t\t * For a - b * log2(), lower values of b will make the curve move towards the minimum faster.\n\t\t\t * The scale factor is constrained between min and max values.\n\t\t\t */\n\t\t\tconst minimumFontSizeFactor = Math.min(\n\t\t\t\tMath.max(\n\t\t\t\t\t1 - 0.075 * Math.log2( fontSizeValueInPx ),\n\t\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN\n\t\t\t\t),\n\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX\n\t\t\t);\n\n\t\t\t// Calculates the minimum font size.\n\t\t\tconst calculatedMinimumFontSize = roundToPrecision(\n\t\t\t\tfontSizeParsed.value * minimumFontSizeFactor,\n\t\t\t\t3\n\t\t\t);\n\n\t\t\t// Only use calculated min font size if it's > $minimum_font_size_limit value.\n\t\t\tif (\n\t\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t\tcalculatedMinimumFontSize < minimumFontSizeLimitParsed?.value\n\t\t\t) {\n\t\t\t\tminimumFontSize = `${ minimumFontSizeLimitParsed.value }${ minimumFontSizeLimitParsed.unit }`;\n\t\t\t} else {\n\t\t\t\tminimumFontSize = `${ calculatedMinimumFontSize }${ fontSizeParsed.unit }`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Grab the minimum font size and normalize it in order to use the value for calculations.\n\tconst minimumFontSizeParsed = getTypographyValueAndUnit( minimumFontSize );\n\n\t// We get a 'preferred' unit to keep units consistent when calculating,\n\t// otherwise the result will not be accurate.\n\tconst fontSizeUnit = minimumFontSizeParsed?.unit || 'rem';\n\n\t// Grabs the maximum font size and normalize it in order to use the value for calculations.\n\tconst maximumFontSizeParsed = getTypographyValueAndUnit( maximumFontSize, {\n\t\tcoerceTo: fontSizeUnit,\n\t} );\n\n\t// Checks for mandatory min and max sizes, and protects against unsupported units.\n\tif ( ! minimumFontSizeParsed || ! maximumFontSizeParsed ) {\n\t\treturn null;\n\t}\n\n\t// Uses rem for accessible fluid target font scaling.\n\tconst minimumFontSizeRem = getTypographyValueAndUnit( minimumFontSize, {\n\t\tcoerceTo: 'rem',\n\t} );\n\n\t// Viewport widths defined for fluid typography. Normalize units\n\tconst maximumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tmaximumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\tconst minumumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tminimumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\n\t// Protect against unsupported units.\n\tif (\n\t\t! maximumViewPortWidthParsed ||\n\t\t! minumumViewPortWidthParsed ||\n\t\t! minimumFontSizeRem\n\t) {\n\t\treturn null;\n\t}\n\n\t// Build CSS rule.\n\t// Borrowed from https://websemantics.uk/tools/responsive-font-calculator/.\n\tconst minViewPortWidthOffsetValue = roundToPrecision(\n\t\tminumumViewPortWidthParsed.value / 100,\n\t\t3\n\t);\n\n\tconst viewPortWidthOffset =\n\t\troundToPrecision( minViewPortWidthOffsetValue, 3 ) + fontSizeUnit;\n\tconst linearFactor =\n\t\t100 *\n\t\t( ( maximumFontSizeParsed.value - minimumFontSizeParsed.value ) /\n\t\t\t( maximumViewPortWidthParsed.value -\n\t\t\t\tminumumViewPortWidthParsed.value ) );\n\tconst linearFactorScaled = roundToPrecision(\n\t\t( linearFactor || 1 ) * scaleFactor,\n\t\t3\n\t);\n\tconst fluidTargetFontSize = `${ minimumFontSizeRem.value }${ minimumFontSizeRem.unit } + ((1vw - ${ viewPortWidthOffset }) * ${ linearFactorScaled })`;\n\n\treturn `clamp(${ minimumFontSize }, ${ fluidTargetFontSize }, ${ maximumFontSize })`;\n}\n\n/**\n * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].\n * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`.\n *\n * @param {string|number} rawValue Raw size value from theme.json.\n * @param {Object|undefined} options Calculation options.\n *\n * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.\n */\nexport function getTypographyValueAndUnit( rawValue, options = {} ) {\n\tif ( typeof rawValue !== 'string' && typeof rawValue !== 'number' ) {\n\t\treturn null;\n\t}\n\n\t// Converts numeric values to pixel values by default.\n\tif ( isFinite( rawValue ) ) {\n\t\trawValue = `${ rawValue }px`;\n\t}\n\n\tconst { coerceTo, rootSizeValue, acceptableUnits } = {\n\t\tcoerceTo: '',\n\t\t// Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( \"html\" ) ).fontSize`.\n\t\trootSizeValue: 16,\n\t\tacceptableUnits: [ 'rem', 'px', 'em' ],\n\t\t...options,\n\t};\n\n\tconst acceptableUnitsGroup = acceptableUnits?.join( '|' );\n\tconst regexUnits = new RegExp(\n\t\t`^(\\\\d*\\\\.?\\\\d+)(${ acceptableUnitsGroup }){1,1}$`\n\t);\n\n\tconst matches = rawValue.match( regexUnits );\n\n\t// We need a number value and a unit.\n\tif ( ! matches || matches.length < 3 ) {\n\t\treturn null;\n\t}\n\n\tlet [ , value, unit ] = matches;\n\n\tlet returnValue = parseFloat( value );\n\n\tif ( 'px' === coerceTo && ( 'em' === unit || 'rem' === unit ) ) {\n\t\treturnValue = returnValue * rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\tif ( 'px' === unit && ( 'em' === coerceTo || 'rem' === coerceTo ) ) {\n\t\treturnValue = returnValue / rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\t/*\n\t * No calculation is required if swapping between em and rem yet,\n\t * since we assume a root size value. Later we might like to differentiate between\n\t * :root font size (rem) and parent element font size (em) relativity.\n\t */\n\tif (\n\t\t( 'em' === coerceTo || 'rem' === coerceTo ) &&\n\t\t( 'em' === unit || 'rem' === unit )\n\t) {\n\t\tunit = coerceTo;\n\t}\n\n\treturn {\n\t\tvalue: roundToPrecision( returnValue, 3 ),\n\t\tunit,\n\t};\n}\n\n/**\n * Returns a value rounded to defined precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {number} value Raw value.\n * @param {number} digits The number of digits to appear after the decimal point\n *\n * @return {number|undefined} Value rounded to standard precision.\n */\nexport function roundToPrecision( value, digits = 3 ) {\n\tconst base = Math.pow( 10, digits );\n\treturn Number.isFinite( value )\n\t\t? parseFloat( Math.round( value * base ) / base )\n\t\t: undefined;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/fluid-utils.js"],"names":["DEFAULT_MAXIMUM_VIEWPORT_WIDTH","DEFAULT_MINIMUM_VIEWPORT_WIDTH","DEFAULT_SCALE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX","DEFAULT_MINIMUM_FONT_SIZE_LIMIT","getComputedFluidTypographyValue","minimumFontSize","maximumFontSize","fontSize","minimumViewPortWidth","maximumViewPortWidth","scaleFactor","minimumFontSizeLimit","getTypographyValueAndUnit","fontSizeParsed","unit","minimumFontSizeLimitParsed","coerceTo","value","fontSizeValueInPx","minimumFontSizeFactor","Math","min","max","log2","calculatedMinimumFontSize","roundToPrecision","minimumFontSizeParsed","fontSizeUnit","maximumFontSizeParsed","minimumFontSizeRem","maximumViewPortWidthParsed","minumumViewPortWidthParsed","minViewPortWidthOffsetValue","viewPortWidthOffset","linearFactor","linearFactorScaled","fluidTargetFontSize","rawValue","options","isFinite","rootSizeValue","acceptableUnits","acceptableUnitsGroup","join","regexUnits","RegExp","matches","match","length","returnValue","parseFloat","digits","base","pow","Number","round","undefined"],"mappings":"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","sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n// Defaults.\nconst DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';\nconst DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px';\nconst DEFAULT_SCALE_FACTOR = 1;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75;\nconst DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';\n\n/**\n * Computes a fluid font-size value that uses clamp(). A minimum and maximum\n * font size OR a single font size can be specified.\n *\n * If a single font size is specified, it is scaled up and down using a logarithmic scale.\n *\n * @example\n * ```js\n * // Calculate fluid font-size value from a minimum and maximum value.\n * const fontSize = getComputedFluidTypographyValue( {\n * minimumFontSize: '20px',\n * maximumFontSize: '45px'\n * } );\n * // Calculate fluid font-size value from a single font size.\n * const fontSize = getComputedFluidTypographyValue( {\n * fontSize: '30px',\n * } );\n * ```\n *\n * @param {Object} args\n * @param {?string} args.minimumViewPortWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.\n * @param {?string} args.maximumViewPortWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.\n * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.\n * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.\n * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.\n * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional.\n *\n * @return {string|null} A font-size value using clamp().\n */\nexport function getComputedFluidTypographyValue( {\n\tminimumFontSize,\n\tmaximumFontSize,\n\tfontSize,\n\tminimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,\n\tmaximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,\n\tscaleFactor = DEFAULT_SCALE_FACTOR,\n\tminimumFontSizeLimit,\n} ) {\n\t// Validate incoming settings and set defaults.\n\tminimumFontSizeLimit = !! getTypographyValueAndUnit( minimumFontSizeLimit )\n\t\t? minimumFontSizeLimit\n\t\t: DEFAULT_MINIMUM_FONT_SIZE_LIMIT;\n\n\t/*\n\t * Calculates missing minimumFontSize and maximumFontSize from\n\t * defaultFontSize if provided.\n\t */\n\tif ( fontSize ) {\n\t\t// Parses default font size.\n\t\tconst fontSizeParsed = getTypographyValueAndUnit( fontSize );\n\n\t\t// Protect against invalid units.\n\t\tif ( ! fontSizeParsed?.unit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Parses the minimum font size limit, so we can perform checks using it.\n\t\tconst minimumFontSizeLimitParsed = getTypographyValueAndUnit(\n\t\t\tminimumFontSizeLimit,\n\t\t\t{\n\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t}\n\t\t);\n\n\t\t// Don't enforce minimum font size if a font size has explicitly set a min and max value.\n\t\tif (\n\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t! minimumFontSize &&\n\t\t\t! maximumFontSize\n\t\t) {\n\t\t\t/*\n\t\t\t * If a minimum size was not passed to this function\n\t\t\t * and the user-defined font size is lower than $minimum_font_size_limit,\n\t\t\t * do not calculate a fluid value.\n\t\t\t */\n\t\t\tif ( fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\t// If no fluid max font size is available use the incoming value.\n\t\tif ( ! maximumFontSize ) {\n\t\t\tmaximumFontSize = `${ fontSizeParsed.value }${ fontSizeParsed.unit }`;\n\t\t}\n\n\t\t/*\n\t\t * If no minimumFontSize is provided, create one using\n\t\t * the given font size multiplied by the min font size scale factor.\n\t\t */\n\t\tif ( ! minimumFontSize ) {\n\t\t\tconst fontSizeValueInPx =\n\t\t\t\tfontSizeParsed.unit === 'px'\n\t\t\t\t\t? fontSizeParsed.value\n\t\t\t\t\t: fontSizeParsed.value * 16;\n\n\t\t\t/*\n\t\t\t * The scale factor is a multiplier that affects how quickly the curve will move towards the minimum,\n\t\t\t * that is, how quickly the size factor reaches 0 given increasing font size values.\n\t\t\t * For a - b * log2(), lower values of b will make the curve move towards the minimum faster.\n\t\t\t * The scale factor is constrained between min and max values.\n\t\t\t */\n\t\t\tconst minimumFontSizeFactor = Math.min(\n\t\t\t\tMath.max(\n\t\t\t\t\t1 - 0.075 * Math.log2( fontSizeValueInPx ),\n\t\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN\n\t\t\t\t),\n\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX\n\t\t\t);\n\n\t\t\t// Calculates the minimum font size.\n\t\t\tconst calculatedMinimumFontSize = roundToPrecision(\n\t\t\t\tfontSizeParsed.value * minimumFontSizeFactor,\n\t\t\t\t3\n\t\t\t);\n\n\t\t\t// Only use calculated min font size if it's > $minimum_font_size_limit value.\n\t\t\tif (\n\t\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t\tcalculatedMinimumFontSize < minimumFontSizeLimitParsed?.value\n\t\t\t) {\n\t\t\t\tminimumFontSize = `${ minimumFontSizeLimitParsed.value }${ minimumFontSizeLimitParsed.unit }`;\n\t\t\t} else {\n\t\t\t\tminimumFontSize = `${ calculatedMinimumFontSize }${ fontSizeParsed.unit }`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Grab the minimum font size and normalize it in order to use the value for calculations.\n\tconst minimumFontSizeParsed = getTypographyValueAndUnit( minimumFontSize );\n\n\t// We get a 'preferred' unit to keep units consistent when calculating,\n\t// otherwise the result will not be accurate.\n\tconst fontSizeUnit = minimumFontSizeParsed?.unit || 'rem';\n\n\t// Grabs the maximum font size and normalize it in order to use the value for calculations.\n\tconst maximumFontSizeParsed = getTypographyValueAndUnit( maximumFontSize, {\n\t\tcoerceTo: fontSizeUnit,\n\t} );\n\n\t// Checks for mandatory min and max sizes, and protects against unsupported units.\n\tif ( ! minimumFontSizeParsed || ! maximumFontSizeParsed ) {\n\t\treturn null;\n\t}\n\n\t// Uses rem for accessible fluid target font scaling.\n\tconst minimumFontSizeRem = getTypographyValueAndUnit( minimumFontSize, {\n\t\tcoerceTo: 'rem',\n\t} );\n\n\t// Viewport widths defined for fluid typography. Normalize units\n\tconst maximumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tmaximumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\tconst minumumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tminimumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\n\t// Protect against unsupported units.\n\tif (\n\t\t! maximumViewPortWidthParsed ||\n\t\t! minumumViewPortWidthParsed ||\n\t\t! minimumFontSizeRem\n\t) {\n\t\treturn null;\n\t}\n\n\t// Build CSS rule.\n\t// Borrowed from https://websemantics.uk/tools/responsive-font-calculator/.\n\tconst minViewPortWidthOffsetValue = roundToPrecision(\n\t\tminumumViewPortWidthParsed.value / 100,\n\t\t3\n\t);\n\n\tconst viewPortWidthOffset =\n\t\troundToPrecision( minViewPortWidthOffsetValue, 3 ) + fontSizeUnit;\n\tconst linearFactor =\n\t\t100 *\n\t\t( ( maximumFontSizeParsed.value - minimumFontSizeParsed.value ) /\n\t\t\t( maximumViewPortWidthParsed.value -\n\t\t\t\tminumumViewPortWidthParsed.value ) );\n\tconst linearFactorScaled = roundToPrecision(\n\t\t( linearFactor || 1 ) * scaleFactor,\n\t\t3\n\t);\n\tconst fluidTargetFontSize = `${ minimumFontSizeRem.value }${ minimumFontSizeRem.unit } + ((1vw - ${ viewPortWidthOffset }) * ${ linearFactorScaled })`;\n\n\treturn `clamp(${ minimumFontSize }, ${ fluidTargetFontSize }, ${ maximumFontSize })`;\n}\n\n/**\n * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].\n * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`.\n *\n * @param {string|number} rawValue Raw size value from theme.json.\n * @param {Object|undefined} options Calculation options.\n *\n * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.\n */\nexport function getTypographyValueAndUnit( rawValue, options = {} ) {\n\tif ( typeof rawValue !== 'string' && typeof rawValue !== 'number' ) {\n\t\treturn null;\n\t}\n\n\t// Converts numeric values to pixel values by default.\n\tif ( isFinite( rawValue ) ) {\n\t\trawValue = `${ rawValue }px`;\n\t}\n\n\tconst { coerceTo, rootSizeValue, acceptableUnits } = {\n\t\tcoerceTo: '',\n\t\t// Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( \"html\" ) ).fontSize`.\n\t\trootSizeValue: 16,\n\t\tacceptableUnits: [ 'rem', 'px', 'em' ],\n\t\t...options,\n\t};\n\n\tconst acceptableUnitsGroup = acceptableUnits?.join( '|' );\n\tconst regexUnits = new RegExp(\n\t\t`^(\\\\d*\\\\.?\\\\d+)(${ acceptableUnitsGroup }){1,1}$`\n\t);\n\n\tconst matches = rawValue.match( regexUnits );\n\n\t// We need a number value and a unit.\n\tif ( ! matches || matches.length < 3 ) {\n\t\treturn null;\n\t}\n\n\tlet [ , value, unit ] = matches;\n\n\tlet returnValue = parseFloat( value );\n\n\tif ( 'px' === coerceTo && ( 'em' === unit || 'rem' === unit ) ) {\n\t\treturnValue = returnValue * rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\tif ( 'px' === unit && ( 'em' === coerceTo || 'rem' === coerceTo ) ) {\n\t\treturnValue = returnValue / rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\t/*\n\t * No calculation is required if swapping between em and rem yet,\n\t * since we assume a root size value. Later we might like to differentiate between\n\t * :root font size (rem) and parent element font size (em) relativity.\n\t */\n\tif (\n\t\t( 'em' === coerceTo || 'rem' === coerceTo ) &&\n\t\t( 'em' === unit || 'rem' === unit )\n\t) {\n\t\tunit = coerceTo;\n\t}\n\n\treturn {\n\t\tvalue: roundToPrecision( returnValue, 3 ),\n\t\tunit,\n\t};\n}\n\n/**\n * Returns a value rounded to defined precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {number} value Raw value.\n * @param {number} digits The number of digits to appear after the decimal point\n *\n * @return {number|undefined} Value rounded to standard precision.\n */\nexport function roundToPrecision( value, digits = 3 ) {\n\tconst base = Math.pow( 10, digits );\n\treturn Number.isFinite( value )\n\t\t? parseFloat( Math.round( value * base ) / base )\n\t\t: undefined;\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -14,10 +13,10 @@ import useSetting from '../use-setting';
14
13
  function FontSizePicker(props) {
15
14
  const fontSizes = useSetting('typography.fontSizes');
16
15
  const disableCustomFontSizes = !useSetting('typography.customFontSize');
17
- return createElement(BaseFontSizePicker, _extends({}, props, {
16
+ return createElement(BaseFontSizePicker, { ...props,
18
17
  fontSizes: fontSizes,
19
18
  disableCustomFontSizes: disableCustomFontSizes
20
- }));
19
+ });
21
20
  }
22
21
  /**
23
22
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/font-size-picker.js"],"names":["FontSizePicker","BaseFontSizePicker","useSetting","props","fontSizes","disableCustomFontSizes"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAc,IAAIC,kBAA3B,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;;AAEA,SAASF,cAAT,CAAyBG,KAAzB,EAAiC;AAChC,QAAMC,SAAS,GAAGF,UAAU,CAAE,sBAAF,CAA5B;AACA,QAAMG,sBAAsB,GAAG,CAAEH,UAAU,CAAE,2BAAF,CAA3C;AAEA,SACC,cAAC,kBAAD,eACMC,KADN;AAEC,IAAA,SAAS,EAAGC,SAFb;AAGC,IAAA,sBAAsB,EAAGC;AAH1B,KADD;AAOA;AAED;AACA;AACA;;;AACA,eAAeL,cAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nfunction FontSizePicker( props ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst disableCustomFontSizes = ! useSetting( 'typography.customFontSize' );\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/font-size-picker.js"],"names":["FontSizePicker","BaseFontSizePicker","useSetting","props","fontSizes","disableCustomFontSizes"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,cAAc,IAAIC,kBAA3B,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;;AAEA,SAASF,cAAT,CAAyBG,KAAzB,EAAiC;AAChC,QAAMC,SAAS,GAAGF,UAAU,CAAE,sBAAF,CAA5B;AACA,QAAMG,sBAAsB,GAAG,CAAEH,UAAU,CAAE,2BAAF,CAA3C;AAEA,SACC,cAAC,kBAAD,OACMC,KADN;AAEC,IAAA,SAAS,EAAGC,SAFb;AAGC,IAAA,sBAAsB,EAAGC;AAH1B,IADD;AAOA;AAED;AACA;AACA;;;AACA,eAAeL,cAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nfunction FontSizePicker( props ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst disableCustomFontSizes = ! useSetting( 'typography.customFontSize' );\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * External dependencies
2
+ * Internal dependencies
3
3
  */
4
- import { kebabCase } from 'lodash';
4
+ import { kebabCase } from '../../utils/object';
5
5
  /**
6
6
  * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.
7
7
  * If namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.
@@ -16,12 +16,9 @@ import { kebabCase } from 'lodash';
16
16
 
17
17
  export const getFontSize = (fontSizes, fontSizeAttribute, customFontSizeAttribute) => {
18
18
  if (fontSizeAttribute) {
19
- const fontSizeObject = fontSizes === null || fontSizes === void 0 ? void 0 : fontSizes.find(_ref => {
20
- let {
21
- slug
22
- } = _ref;
23
- return slug === fontSizeAttribute;
24
- });
19
+ const fontSizeObject = fontSizes?.find(({
20
+ slug
21
+ }) => slug === fontSizeAttribute);
25
22
 
26
23
  if (fontSizeObject) {
27
24
  return fontSizeObject;
@@ -42,12 +39,9 @@ export const getFontSize = (fontSizes, fontSizeAttribute, customFontSizeAttribut
42
39
  */
43
40
 
44
41
  export function getFontSizeObjectByValue(fontSizes, value) {
45
- const fontSizeObject = fontSizes === null || fontSizes === void 0 ? void 0 : fontSizes.find(_ref2 => {
46
- let {
47
- size
48
- } = _ref2;
49
- return size === value;
50
- });
42
+ const fontSizeObject = fontSizes?.find(({
43
+ size
44
+ }) => size === value);
51
45
 
52
46
  if (fontSizeObject) {
53
47
  return fontSizeObject;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/utils.js"],"names":["kebabCase","getFontSize","fontSizes","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","find","slug","size","getFontSizeObjectByValue","value","getFontSizeClass","fontSizeSlug"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,CAC1BC,SAD0B,EAE1BC,iBAF0B,EAG1BC,uBAH0B,KAItB;AACJ,MAAKD,iBAAL,EAAyB;AACxB,UAAME,cAAc,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,IAAX,CACtB;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAgBA,IAAI,KAAKJ,iBAAzB;AAAA,KADsB,CAAvB;;AAGA,QAAKE,cAAL,EAAsB;AACrB,aAAOA,cAAP;AACA;AACD;;AACD,SAAO;AACNG,IAAAA,IAAI,EAAEJ;AADA,GAAP;AAGA,CAhBM;AAkBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,wBAAT,CAAmCP,SAAnC,EAA8CQ,KAA9C,EAAsD;AAC5D,QAAML,cAAc,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,IAAX,CAAiB;AAAA,QAAE;AAAEE,MAAAA;AAAF,KAAF;AAAA,WAAgBA,IAAI,KAAKE,KAAzB;AAAA,GAAjB,CAAvB;;AACA,MAAKL,cAAL,EAAsB;AACrB,WAAOA,cAAP;AACA;;AAED,SAAO;AACNG,IAAAA,IAAI,EAAEE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2BC,YAA3B,EAA0C;AAChD,MAAK,CAAEA,YAAP,EAAsB;AACrB;AACA;;AAED,SAAQ,OAAOZ,SAAS,CAAEY,YAAF,CAAkB,YAA1C;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = (\n\tfontSizes,\n\tfontSizeAttribute,\n\tcustomFontSizeAttribute\n) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = fontSizes?.find(\n\t\t\t( { slug } ) => slug === fontSizeAttribute\n\t\t);\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns the corresponding font size object for a given value.\n *\n * @param {Array} fontSizes Array of font size objects.\n * @param {number} value Font size value.\n *\n * @return {Object} Font size object.\n */\nexport function getFontSizeObjectByValue( fontSizes, value ) {\n\tconst fontSizeObject = fontSizes?.find( ( { size } ) => size === value );\n\tif ( fontSizeObject ) {\n\t\treturn fontSizeObject;\n\t}\n\n\treturn {\n\t\tsize: value,\n\t};\n}\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string | undefined} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/utils.js"],"names":["kebabCase","getFontSize","fontSizes","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","find","slug","size","getFontSizeObjectByValue","value","getFontSizeClass","fontSizeSlug"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,CAC1BC,SAD0B,EAE1BC,iBAF0B,EAG1BC,uBAH0B,KAItB;AACJ,MAAKD,iBAAL,EAAyB;AACxB,UAAME,cAAc,GAAGH,SAAS,EAAEI,IAAX,CACtB,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAgBA,IAAI,KAAKJ,iBADH,CAAvB;;AAGA,QAAKE,cAAL,EAAsB;AACrB,aAAOA,cAAP;AACA;AACD;;AACD,SAAO;AACNG,IAAAA,IAAI,EAAEJ;AADA,GAAP;AAGA,CAhBM;AAkBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,wBAAT,CAAmCP,SAAnC,EAA8CQ,KAA9C,EAAsD;AAC5D,QAAML,cAAc,GAAGH,SAAS,EAAEI,IAAX,CAAiB,CAAE;AAAEE,IAAAA;AAAF,GAAF,KAAgBA,IAAI,KAAKE,KAA1C,CAAvB;;AACA,MAAKL,cAAL,EAAsB;AACrB,WAAOA,cAAP;AACA;;AAED,SAAO;AACNG,IAAAA,IAAI,EAAEE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2BC,YAA3B,EAA0C;AAChD,MAAK,CAAEA,YAAP,EAAsB;AACrB;AACA;;AAED,SAAQ,OAAOZ,SAAS,CAAEY,YAAF,CAAkB,YAA1C;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { kebabCase } from '../../utils/object';\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = (\n\tfontSizes,\n\tfontSizeAttribute,\n\tcustomFontSizeAttribute\n) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = fontSizes?.find(\n\t\t\t( { slug } ) => slug === fontSizeAttribute\n\t\t);\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns the corresponding font size object for a given value.\n *\n * @param {Array} fontSizes Array of font size objects.\n * @param {number} value Font size value.\n *\n * @return {Object} Font size object.\n */\nexport function getFontSizeObjectByValue( fontSizes, value ) {\n\tconst fontSizeObject = fontSizes?.find( ( { size } ) => size === value );\n\tif ( fontSizeObject ) {\n\t\treturn fontSizeObject;\n\t}\n\n\treturn {\n\t\tsize: value,\n\t};\n}\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string | undefined} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -21,10 +20,7 @@ const DEFAULT_FONT_SIZES = [];
21
20
  * @return {string} Capitalized string.
22
21
  */
23
22
 
24
- const upperFirst = _ref => {
25
- let [firstLetter, ...rest] = _ref;
26
- return firstLetter.toUpperCase() + rest.join('');
27
- };
23
+ const upperFirst = ([firstLetter, ...rest]) => firstLetter.toUpperCase() + rest.join('');
28
24
  /**
29
25
  * Higher-order component, which handles font size logic for class generation,
30
26
  * font size value retrieval, and font size change handling.
@@ -37,11 +33,7 @@ const upperFirst = _ref => {
37
33
  */
38
34
 
39
35
 
40
- export default (function () {
41
- for (var _len = arguments.length, fontSizeNames = new Array(_len), _key = 0; _key < _len; _key++) {
42
- fontSizeNames[_key] = arguments[_key];
43
- }
44
-
36
+ export default ((...fontSizeNames) => {
45
37
  /*
46
38
  * Computes an object whose key is the font size attribute name as passed in the array,
47
39
  * and the value is the custom font size attribute name.
@@ -53,9 +45,9 @@ export default (function () {
53
45
  }, {});
54
46
  return createHigherOrderComponent(compose([createHigherOrderComponent(WrappedComponent => props => {
55
47
  const fontSizes = useSetting('typography.fontSizes') || DEFAULT_FONT_SIZES;
56
- return createElement(WrappedComponent, _extends({}, props, {
48
+ return createElement(WrappedComponent, { ...props,
57
49
  fontSizes: fontSizes
58
- }));
50
+ });
59
51
  }, 'withFontSizes'), WrappedComponent => {
60
52
  return class extends Component {
61
53
  constructor(props) {
@@ -65,8 +57,7 @@ export default (function () {
65
57
  }
66
58
 
67
59
  createSetters() {
68
- return Object.entries(fontSizeAttributeNames).reduce((settersAccumulator, _ref2) => {
69
- let [fontSizeAttributeName, customFontSizeAttributeName] = _ref2;
60
+ return Object.entries(fontSizeAttributeNames).reduce((settersAccumulator, [fontSizeAttributeName, customFontSizeAttributeName]) => {
70
61
  const upperFirstFontSizeAttributeName = upperFirst(fontSizeAttributeName);
71
62
  settersAccumulator[`set${upperFirstFontSizeAttributeName}`] = this.createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName);
72
63
  return settersAccumulator;
@@ -75,14 +66,9 @@ export default (function () {
75
66
 
76
67
  createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName) {
77
68
  return fontSizeValue => {
78
- var _this$props$fontSizes;
79
-
80
- const fontSizeObject = (_this$props$fontSizes = this.props.fontSizes) === null || _this$props$fontSizes === void 0 ? void 0 : _this$props$fontSizes.find(_ref3 => {
81
- let {
82
- size
83
- } = _ref3;
84
- return size === Number(fontSizeValue);
85
- });
69
+ const fontSizeObject = this.props.fontSizes?.find(({
70
+ size
71
+ }) => size === Number(fontSizeValue));
86
72
  this.props.setAttributes({
87
73
  [fontSizeAttributeName]: fontSizeObject && fontSizeObject.slug ? fontSizeObject.slug : undefined,
88
74
  [customFontSizeAttributeName]: fontSizeObject && fontSizeObject.slug ? undefined : fontSizeValue
@@ -90,12 +76,10 @@ export default (function () {
90
76
  };
91
77
  }
92
78
 
93
- static getDerivedStateFromProps(_ref4, previousState) {
94
- let {
95
- attributes,
96
- fontSizes
97
- } = _ref4;
98
-
79
+ static getDerivedStateFromProps({
80
+ attributes,
81
+ fontSizes
82
+ }, previousState) {
99
83
  const didAttributesChange = (customFontSizeAttributeName, fontSizeAttributeName) => {
100
84
  if (previousState[fontSizeAttributeName]) {
101
85
  // If new font size is name compare with the previous slug.
@@ -115,11 +99,7 @@ export default (function () {
115
99
  return null;
116
100
  }
117
101
 
118
- const newState = Object.entries(fontSizeAttributeNames).filter(_ref5 => {
119
- let [key, value] = _ref5;
120
- return didAttributesChange(value, key);
121
- }).reduce((newStateAccumulator, _ref6) => {
122
- let [fontSizeAttributeName, customFontSizeAttributeName] = _ref6;
102
+ const newState = Object.entries(fontSizeAttributeNames).filter(([key, value]) => didAttributesChange(value, key)).reduce((newStateAccumulator, [fontSizeAttributeName, customFontSizeAttributeName]) => {
123
103
  const fontSizeAttributeValue = attributes[fontSizeAttributeName];
124
104
  const fontSizeObject = getFontSize(fontSizes, fontSizeAttributeValue, attributes[customFontSizeAttributeName]);
125
105
  newStateAccumulator[fontSizeAttributeName] = { ...fontSizeObject,
@@ -133,9 +113,11 @@ export default (function () {
133
113
  }
134
114
 
135
115
  render() {
136
- return createElement(WrappedComponent, _extends({}, this.props, {
137
- fontSizes: undefined
138
- }, this.state, this.setters));
116
+ return createElement(WrappedComponent, { ...this.props,
117
+ fontSizes: undefined,
118
+ ...this.state,
119
+ ...this.setters
120
+ });
139
121
  }
140
122
 
141
123
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,0BAAT,EAAqCC,OAArC,QAAoD,oBAApD;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,gBAAtB,QAA8C,SAA9C;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,MAAMC,kBAAkB,GAAG,EAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAU,GAAG,CAAE,CAAEC,WAAF,EAAe,GAAGC,IAAlB,CAAF,KAClBD,WAAW,CAACE,WAAZ,KAA4BD,IAAI,CAACE,IAAL,CAAW,EAAX,CAD7B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,gBAAe,CAAE,GAAGC,aAAL,KAAwB;AACtC;AACD;AACA;AACA;AACA;AACC,QAAMC,sBAAsB,GAAGD,aAAa,CAACE,MAAd,CAC9B,CAAEC,iCAAF,EAAqCC,qBAArC,KAAgE;AAC/DD,IAAAA,iCAAiC,CAChCC,qBADgC,CAAjC,GAEK,SAAST,UAAU,CAAES,qBAAF,CAA2B,EAFnD;AAGA,WAAOD,iCAAP;AACA,GAN6B,EAO9B,EAP8B,CAA/B;AAUA,SAAOf,0BAA0B,CAChCC,OAAO,CAAE,CACRD,0BAA0B,CACvBiB,gBAAF,IAA0BC,KAAF,IAAa;AACpC,UAAMC,SAAS,GACdd,UAAU,CAAE,sBAAF,CAAV,IACAC,kBAFD;AAGA,WACC,cAAC,gBAAD,OACMY,KADN;AAEC,MAAA,SAAS,EAAGC;AAFb,MADD;AAMA,GAXwB,EAYzB,eAZyB,CADlB,EAeNF,gBAAF,IAAwB;AACvB,WAAO,cAAcf,SAAd,CAAwB;AAC9BkB,MAAAA,WAAW,CAAEF,KAAF,EAAU;AACpB,cAAOA,KAAP;AAEA,aAAKG,OAAL,GAAe,KAAKC,aAAL,EAAf;AAEA,aAAKC,KAAL,GAAa,EAAb;AACA;;AAEDD,MAAAA,aAAa,GAAG;AACf,eAAOE,MAAM,CAACC,OAAP,CAAgBZ,sBAAhB,EAAyCC,MAAzC,CACN,CACCY,kBADD,EAEC,CACCV,qBADD,EAECW,2BAFD,CAFD,KAMK;AACJ,gBAAMC,+BAA+B,GACpCrB,UAAU,CAAES,qBAAF,CADX;AAEAU,UAAAA,kBAAkB,CAChB,MAAME,+BAAiC,EADvB,CAAlB,GAEI,KAAKC,iBAAL,CACHb,qBADG,EAEHW,2BAFG,CAFJ;AAMA,iBAAOD,kBAAP;AACA,SAjBK,EAkBN,EAlBM,CAAP;AAoBA;;AAEDG,MAAAA,iBAAiB,CAChBb,qBADgB,EAEhBW,2BAFgB,EAGf;AACD,eAASG,aAAF,IAAqB;AAC3B,gBAAMC,cAAc,GAAG,KAAKb,KAAL,CAAWC,SAAX,EAAsBa,IAAtB,CACtB,CAAE;AAAEC,YAAAA;AAAF,WAAF,KAAgBA,IAAI,KAAKC,MAAM,CAAEJ,aAAF,CADT,CAAvB;AAGA,eAAKZ,KAAL,CAAWiB,aAAX,CAA0B;AACzB,aAAEnB,qBAAF,GACCe,cAAc,IAAIA,cAAc,CAACK,IAAjC,GACGL,cAAc,CAACK,IADlB,GAEGC,SAJqB;AAKzB,aAAEV,2BAAF,GACCI,cAAc,IAAIA,cAAc,CAACK,IAAjC,GACGC,SADH,GAEGP;AARqB,WAA1B;AAUA,SAdD;AAeA;;AAE8B,aAAxBQ,wBAAwB,CAC9B;AAAEC,QAAAA,UAAF;AAAcpB,QAAAA;AAAd,OAD8B,EAE9BqB,aAF8B,EAG7B;AACD,cAAMC,mBAAmB,GAAG,CAC3Bd,2BAD2B,EAE3BX,qBAF2B,KAGvB;AACJ,cAAKwB,aAAa,CAAExB,qBAAF,CAAlB,EAA8C;AAC7C;AACA,gBAAKuB,UAAU,CAAEvB,qBAAF,CAAf,EAA2C;AAC1C,qBACCuB,UAAU,CAAEvB,qBAAF,CAAV,KACAwB,aAAa,CAAExB,qBAAF,CAAb,CACEoB,IAHH;AAKA,aAR4C,CAS7C;;;AACA,mBACCI,aAAa,CAAExB,qBAAF,CAAb,CACEiB,IADF,KAEAM,UAAU,CAAEZ,2BAAF,CAHX;AAKA,WAhBG,CAiBJ;;;AACA,iBAAO,IAAP;AACA,SAtBD;;AAwBA,YACC,CAAEH,MAAM,CAACkB,MAAP,CAAe7B,sBAAf,EAAwC8B,IAAxC,CACDF,mBADC,CADH,EAIE;AACD,iBAAO,IAAP;AACA;;AAED,cAAMG,QAAQ,GAAGpB,MAAM,CAACC,OAAP,CAChBZ,sBADgB,EAGfgC,MAHe,CAGP,CAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF,KACRN,mBAAmB,CAAEM,KAAF,EAASD,GAAT,CAJJ,EAMfhC,MANe,CAOf,CACCkC,mBADD,EAEC,CACChC,qBADD,EAECW,2BAFD,CAFD,KAMK;AACJ,gBAAMsB,sBAAsB,GAC3BV,UAAU,CAAEvB,qBAAF,CADX;AAEA,gBAAMe,cAAc,GAAG5B,WAAW,CACjCgB,SADiC,EAEjC8B,sBAFiC,EAGjCV,UAAU,CACTZ,2BADS,CAHuB,CAAlC;AAOAqB,UAAAA,mBAAmB,CAClBhC,qBADkB,CAAnB,GAEI,EACH,GAAGe,cADA;AAEHmB,YAAAA,KAAK,EAAE9C,gBAAgB,CACtB6C,sBADsB;AAFpB,WAFJ;AAQA,iBAAOD,mBAAP;AACA,SAhCc,EAiCf,EAjCe,CAAjB;AAoCA,eAAO,EACN,GAAGR,aADG;AAEN,aAAGI;AAFG,SAAP;AAIA;;AAEDO,MAAAA,MAAM,GAAG;AACR,eACC,cAAC,gBAAD,IAEE,GAAG,KAAKjC,KAFV;AAGEC,UAAAA,SAAS,EAAEkB,SAHb;AAIE,aAAG,KAAKd,KAJV;AAKE,aAAG,KAAKF;AALV,UADD;AAUA;;AA9I6B,KAA/B;AAgJA,GAhKO,CAAF,CADyB,EAmKhC,eAnKgC,CAAjC;AAqKA,CArLD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
@@ -12,15 +12,14 @@ import { Icon, info } from '@wordpress/icons';
12
12
  */
13
13
 
14
14
  import { default as transformStyles } from '../../utils/transform-styles';
15
- export default function AdvancedPanel(_ref) {
16
- let {
17
- value,
18
- onChange,
19
- inheritedValue = value
20
- } = _ref;
15
+ export default function AdvancedPanel({
16
+ value,
17
+ onChange,
18
+ inheritedValue = value
19
+ }) {
21
20
  // Custom CSS
22
21
  const [cssError, setCSSError] = useState(null);
23
- const customCSS = inheritedValue === null || inheritedValue === void 0 ? void 0 : inheritedValue.css;
22
+ const customCSS = inheritedValue?.css;
24
23
 
25
24
  function handleOnChange(newValue) {
26
25
  onChange({ ...value,
@@ -39,9 +38,7 @@ export default function AdvancedPanel(_ref) {
39
38
  }
40
39
 
41
40
  function handleOnBlur(event) {
42
- var _event$target;
43
-
44
- if (!(event !== null && event !== void 0 && (_event$target = event.target) !== null && _event$target !== void 0 && _event$target.value)) {
41
+ if (!event?.target?.value) {
45
42
  setCSSError(null);
46
43
  return;
47
44
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/advanced-panel.js"],"names":["TextareaControl","Tooltip","__experimentalVStack","VStack","useState","__","Icon","info","default","transformStyles","AdvancedPanel","value","onChange","inheritedValue","cssError","setCSSError","customCSS","css","handleOnChange","newValue","transformed","handleOnBlur","event","target"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,eADD,EAECC,OAFD,EAGCC,oBAAoB,IAAIC,MAHzB,QAIO,uBAJP;AAKA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,kBAA3B;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,eAApB,QAA2C,8BAA3C;AAEA,eAAe,SAASC,aAAT,OAIX;AAAA,MAJmC;AACtCC,IAAAA,KADsC;AAEtCC,IAAAA,QAFsC;AAGtCC,IAAAA,cAAc,GAAGF;AAHqB,GAInC;AACH;AACA,QAAM,CAAEG,QAAF,EAAYC,WAAZ,IAA4BX,QAAQ,CAAE,IAAF,CAA1C;AACA,QAAMY,SAAS,GAAGH,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEI,GAAlC;;AACA,WAASC,cAAT,CAAyBC,QAAzB,EAAoC;AACnCP,IAAAA,QAAQ,CAAE,EACT,GAAGD,KADM;AAETM,MAAAA,GAAG,EAAEE;AAFI,KAAF,CAAR;;AAIA,QAAKL,QAAL,EAAgB;AACf,YAAM,CAAEM,WAAF,IAAkBX,eAAe,CACtC,CAAE;AAAEQ,QAAAA,GAAG,EAAEN;AAAP,OAAF,CADsC,EAEtC,wBAFsC,CAAvC;;AAIA,UAAKS,WAAL,EAAmB;AAClBL,QAAAA,WAAW,CAAE,IAAF,CAAX;AACA;AACD;AACD;;AACD,WAASM,YAAT,CAAuBC,KAAvB,EAA+B;AAAA;;AAC9B,QAAK,EAAEA,KAAF,aAAEA,KAAF,gCAAEA,KAAK,CAAEC,MAAT,0CAAE,cAAeZ,KAAjB,CAAL,EAA8B;AAC7BI,MAAAA,WAAW,CAAE,IAAF,CAAX;AACA;AACA;;AAED,UAAM,CAAEK,WAAF,IAAkBX,eAAe,CACtC,CAAE;AAAEQ,MAAAA,GAAG,EAAEK,KAAK,CAACC,MAAN,CAAaZ;AAApB,KAAF,CADsC,EAEtC,wBAFsC,CAAvC;AAKAI,IAAAA,WAAW,CACVK,WAAW,KAAK,IAAhB,GACGf,EAAE,CAAE,4CAAF,CADL,GAEG,IAHO,CAAX;AAKA;;AAED,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,eAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,uBAAuB,MAFxB;AAGC,IAAA,KAAK,EAAGW,SAHT;AAIC,IAAA,QAAQ,EAAKG,QAAF,IAAgBD,cAAc,CAAEC,QAAF,CAJ1C;AAKC,IAAA,MAAM,EAAGE,YALV;AAMC,IAAA,SAAS,EAAC,6DANX;AAOC,IAAA,UAAU,EAAG;AAPd,IADD,EAUGP,QAAQ,IACT,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGA;AAAhB,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGP,IADR;AAEC,IAAA,SAAS,EAAC;AAFX,IADD,CADD,CAXF,CADD;AAuBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextareaControl,\n\tTooltip,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, info } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { default as transformStyles } from '../../utils/transform-styles';\n\nexport default function AdvancedPanel( {\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n} ) {\n\t// Custom CSS\n\tconst [ cssError, setCSSError ] = useState( null );\n\tconst customCSS = inheritedValue?.css;\n\tfunction handleOnChange( newValue ) {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tcss: newValue,\n\t\t} );\n\t\tif ( cssError ) {\n\t\t\tconst [ transformed ] = transformStyles(\n\t\t\t\t[ { css: value } ],\n\t\t\t\t'.editor-styles-wrapper'\n\t\t\t);\n\t\t\tif ( transformed ) {\n\t\t\t\tsetCSSError( null );\n\t\t\t}\n\t\t}\n\t}\n\tfunction handleOnBlur( event ) {\n\t\tif ( ! event?.target?.value ) {\n\t\t\tsetCSSError( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ transformed ] = transformStyles(\n\t\t\t[ { css: event.target.value } ],\n\t\t\t'.editor-styles-wrapper'\n\t\t);\n\n\t\tsetCSSError(\n\t\t\ttransformed === null\n\t\t\t\t? __( 'There is an error with your CSS structure.' )\n\t\t\t\t: null\n\t\t);\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ __( 'Additional CSS' ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ customCSS }\n\t\t\t\tonChange={ ( newValue ) => handleOnChange( newValue ) }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-input\"\n\t\t\t\tspellCheck={ false }\n\t\t\t/>\n\t\t\t{ cssError && (\n\t\t\t\t<Tooltip text={ cssError }>\n\t\t\t\t\t<div className=\"block-editor-global-styles-advanced-panel__custom-css-validation-wrapper\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-validation-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/advanced-panel.js"],"names":["TextareaControl","Tooltip","__experimentalVStack","VStack","useState","__","Icon","info","default","transformStyles","AdvancedPanel","value","onChange","inheritedValue","cssError","setCSSError","customCSS","css","handleOnChange","newValue","transformed","handleOnBlur","event","target"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,eADD,EAECC,OAFD,EAGCC,oBAAoB,IAAIC,MAHzB,QAIO,uBAJP;AAKA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,kBAA3B;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,eAApB,QAA2C,8BAA3C;AAEA,eAAe,SAASC,aAAT,CAAwB;AACtCC,EAAAA,KADsC;AAEtCC,EAAAA,QAFsC;AAGtCC,EAAAA,cAAc,GAAGF;AAHqB,CAAxB,EAIX;AACH;AACA,QAAM,CAAEG,QAAF,EAAYC,WAAZ,IAA4BX,QAAQ,CAAE,IAAF,CAA1C;AACA,QAAMY,SAAS,GAAGH,cAAc,EAAEI,GAAlC;;AACA,WAASC,cAAT,CAAyBC,QAAzB,EAAoC;AACnCP,IAAAA,QAAQ,CAAE,EACT,GAAGD,KADM;AAETM,MAAAA,GAAG,EAAEE;AAFI,KAAF,CAAR;;AAIA,QAAKL,QAAL,EAAgB;AACf,YAAM,CAAEM,WAAF,IAAkBX,eAAe,CACtC,CAAE;AAAEQ,QAAAA,GAAG,EAAEN;AAAP,OAAF,CADsC,EAEtC,wBAFsC,CAAvC;;AAIA,UAAKS,WAAL,EAAmB;AAClBL,QAAAA,WAAW,CAAE,IAAF,CAAX;AACA;AACD;AACD;;AACD,WAASM,YAAT,CAAuBC,KAAvB,EAA+B;AAC9B,QAAK,CAAEA,KAAK,EAAEC,MAAP,EAAeZ,KAAtB,EAA8B;AAC7BI,MAAAA,WAAW,CAAE,IAAF,CAAX;AACA;AACA;;AAED,UAAM,CAAEK,WAAF,IAAkBX,eAAe,CACtC,CAAE;AAAEQ,MAAAA,GAAG,EAAEK,KAAK,CAACC,MAAN,CAAaZ;AAApB,KAAF,CADsC,EAEtC,wBAFsC,CAAvC;AAKAI,IAAAA,WAAW,CACVK,WAAW,KAAK,IAAhB,GACGf,EAAE,CAAE,4CAAF,CADL,GAEG,IAHO,CAAX;AAKA;;AAED,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,eAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,uBAAuB,MAFxB;AAGC,IAAA,KAAK,EAAGW,SAHT;AAIC,IAAA,QAAQ,EAAKG,QAAF,IAAgBD,cAAc,CAAEC,QAAF,CAJ1C;AAKC,IAAA,MAAM,EAAGE,YALV;AAMC,IAAA,SAAS,EAAC,6DANX;AAOC,IAAA,UAAU,EAAG;AAPd,IADD,EAUGP,QAAQ,IACT,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGA;AAAhB,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGP,IADR;AAEC,IAAA,SAAS,EAAC;AAFX,IADD,CADD,CAXF,CADD;AAuBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextareaControl,\n\tTooltip,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, info } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { default as transformStyles } from '../../utils/transform-styles';\n\nexport default function AdvancedPanel( {\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n} ) {\n\t// Custom CSS\n\tconst [ cssError, setCSSError ] = useState( null );\n\tconst customCSS = inheritedValue?.css;\n\tfunction handleOnChange( newValue ) {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tcss: newValue,\n\t\t} );\n\t\tif ( cssError ) {\n\t\t\tconst [ transformed ] = transformStyles(\n\t\t\t\t[ { css: value } ],\n\t\t\t\t'.editor-styles-wrapper'\n\t\t\t);\n\t\t\tif ( transformed ) {\n\t\t\t\tsetCSSError( null );\n\t\t\t}\n\t\t}\n\t}\n\tfunction handleOnBlur( event ) {\n\t\tif ( ! event?.target?.value ) {\n\t\t\tsetCSSError( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ transformed ] = transformStyles(\n\t\t\t[ { css: event.target.value } ],\n\t\t\t'.editor-styles-wrapper'\n\t\t);\n\n\t\tsetCSSError(\n\t\t\ttransformed === null\n\t\t\t\t? __( 'There is an error with your CSS structure.' )\n\t\t\t\t: null\n\t\t);\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ __( 'Additional CSS' ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ customCSS }\n\t\t\t\tonChange={ ( newValue ) => handleOnChange( newValue ) }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-input\"\n\t\t\t\tspellCheck={ false }\n\t\t\t/>\n\t\t\t{ cssError && (\n\t\t\t\t<Tooltip text={ cssError }>\n\t\t\t\t\t<div className=\"block-editor-global-styles-advanced-panel__custom-css-validation-wrapper\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-validation-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}