@wordpress/block-editor 12.18.1 → 12.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/autocompleters/block.js +1 -2
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +1 -2
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/alignment-control/ui.js +1 -2
  7. package/build/components/alignment-control/ui.js.map +1 -1
  8. package/build/components/autocomplete/index.js +1 -2
  9. package/build/components/autocomplete/index.js.map +1 -1
  10. package/build/components/block-alignment-control/constants.js +2 -4
  11. package/build/components/block-alignment-control/constants.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.js +1 -2
  13. package/build/components/block-alignment-control/ui.js.map +1 -1
  14. package/build/components/block-alignment-control/ui.native.js +1 -2
  15. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.js +1 -2
  17. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  18. package/build/components/block-breadcrumb/index.js +1 -2
  19. package/build/components/block-breadcrumb/index.js.map +1 -1
  20. package/build/components/block-canvas/index.js +1 -2
  21. package/build/components/block-canvas/index.js.map +1 -1
  22. package/build/components/block-caption/index.native.js +1 -2
  23. package/build/components/block-caption/index.native.js.map +1 -1
  24. package/build/components/block-card/index.js +1 -2
  25. package/build/components/block-card/index.js.map +1 -1
  26. package/build/components/block-compare/index.js +1 -2
  27. package/build/components/block-compare/index.js.map +1 -1
  28. package/build/components/block-context/index.js +1 -2
  29. package/build/components/block-context/index.js.map +1 -1
  30. package/build/components/block-controls/groups.js +1 -2
  31. package/build/components/block-controls/groups.js.map +1 -1
  32. package/build/components/block-controls/index.js +1 -2
  33. package/build/components/block-controls/index.js.map +1 -1
  34. package/build/components/block-draggable/dropping-insertion-point.native.js +2 -2
  35. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  36. package/build/components/block-draggable/index.js +1 -2
  37. package/build/components/block-draggable/index.js.map +1 -1
  38. package/build/components/block-draggable/index.native.js +3 -4
  39. package/build/components/block-draggable/index.native.js.map +1 -1
  40. package/build/components/block-edit/context.js +4 -8
  41. package/build/components/block-edit/context.js.map +1 -1
  42. package/build/components/block-edit/edit.js +1 -2
  43. package/build/components/block-edit/edit.js.map +1 -1
  44. package/build/components/block-edit/edit.native.js +1 -2
  45. package/build/components/block-edit/edit.native.js.map +1 -1
  46. package/build/components/block-full-height-alignment-control/index.js +1 -2
  47. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  48. package/build/components/block-icon/index.js +1 -2
  49. package/build/components/block-icon/index.js.map +1 -1
  50. package/build/components/block-icon/index.native.js +1 -2
  51. package/build/components/block-icon/index.native.js.map +1 -1
  52. package/build/components/block-info-slot-fill/index.js +1 -2
  53. package/build/components/block-info-slot-fill/index.js.map +1 -1
  54. package/build/components/block-inspector/index.js +11 -9
  55. package/build/components/block-inspector/index.js.map +1 -1
  56. package/build/components/block-list/block-crash-boundary.js +1 -2
  57. package/build/components/block-list/block-crash-boundary.js.map +1 -1
  58. package/build/components/block-list/block-html.js +1 -2
  59. package/build/components/block-list/block-html.js.map +1 -1
  60. package/build/components/block-list/block-list-context.native.js +1 -2
  61. package/build/components/block-list/block-list-context.native.js.map +1 -1
  62. package/build/components/block-list/block-list-item-cell.native.js +1 -2
  63. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  64. package/build/components/block-list/block-list-item.native.js +1 -2
  65. package/build/components/block-list/block-list-item.native.js.map +1 -1
  66. package/build/components/block-list/block-outline.native.js +1 -2
  67. package/build/components/block-list/block-outline.native.js.map +1 -1
  68. package/build/components/block-list/block-selection-button.native.js +1 -2
  69. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  70. package/build/components/block-list/block.js +32 -21
  71. package/build/components/block-list/block.js.map +1 -1
  72. package/build/components/block-list/block.native.js +7 -6
  73. package/build/components/block-list/block.native.js.map +1 -1
  74. package/build/components/block-list/grid-item.native.js +1 -2
  75. package/build/components/block-list/grid-item.native.js.map +1 -1
  76. package/build/components/block-list/index.js +19 -9
  77. package/build/components/block-list/index.js.map +1 -1
  78. package/build/components/block-list/insertion-point.native.js +1 -2
  79. package/build/components/block-list/insertion-point.native.js.map +1 -1
  80. package/build/components/block-list/layout.js +2 -4
  81. package/build/components/block-list/layout.js.map +1 -1
  82. package/build/components/block-list/private-block-context.js +1 -2
  83. package/build/components/block-list/private-block-context.js.map +1 -1
  84. package/build/components/block-list/subdirectory-icon.js +1 -2
  85. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  86. package/build/components/block-list/use-block-props/index.js +8 -1
  87. package/build/components/block-list/use-block-props/index.js.map +1 -1
  88. package/build/components/block-list/use-scroll-upon-insertion.native.js +1 -2
  89. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  90. package/build/components/block-list-appender/index.js +5 -52
  91. package/build/components/block-list-appender/index.js.map +1 -1
  92. package/build/components/block-media-update-progress/index.native.js +11 -22
  93. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  94. package/build/components/block-mover/button.js +2 -4
  95. package/build/components/block-mover/button.js.map +1 -1
  96. package/build/components/block-mover/index.js +1 -2
  97. package/build/components/block-mover/index.js.map +1 -1
  98. package/build/components/block-mover/index.native.js +3 -6
  99. package/build/components/block-mover/index.native.js.map +1 -1
  100. package/build/components/block-mover/mover-description.native.js +0 -2
  101. package/build/components/block-mover/mover-description.native.js.map +1 -1
  102. package/build/components/block-navigation/dropdown.js +1 -2
  103. package/build/components/block-navigation/dropdown.js.map +1 -1
  104. package/build/components/block-pattern-setup/constants.js +1 -2
  105. package/build/components/block-pattern-setup/constants.js.map +1 -1
  106. package/build/components/block-pattern-setup/index.js +1 -2
  107. package/build/components/block-pattern-setup/index.js.map +1 -1
  108. package/build/components/block-pattern-setup/setup-toolbar.js +1 -2
  109. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  110. package/build/components/block-pattern-setup/use-patterns-setup.js +1 -2
  111. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  112. package/build/components/block-patterns-list/index.js +1 -2
  113. package/build/components/block-patterns-list/index.js.map +1 -1
  114. package/build/components/block-popover/drop-zone.js +1 -2
  115. package/build/components/block-popover/drop-zone.js.map +1 -1
  116. package/build/components/block-popover/inbetween.js +2 -4
  117. package/build/components/block-popover/inbetween.js.map +1 -1
  118. package/build/components/block-popover/index.js +1 -2
  119. package/build/components/block-popover/index.js.map +1 -1
  120. package/build/components/block-popover/use-popover-scroll.js +1 -2
  121. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  122. package/build/components/block-preview/auto.js +2 -1
  123. package/build/components/block-preview/auto.js.map +1 -1
  124. package/build/components/block-preview/index.js +1 -2
  125. package/build/components/block-preview/index.js.map +1 -1
  126. package/build/components/block-removal-warning-modal/index.js +4 -2
  127. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  128. package/build/components/block-settings/button.native.js +1 -2
  129. package/build/components/block-settings/button.native.js.map +1 -1
  130. package/build/components/block-settings/container.native.js +1 -2
  131. package/build/components/block-settings/container.native.js.map +1 -1
  132. package/build/components/block-settings/index.native.js +2 -2
  133. package/build/components/block-settings/index.native.js.map +1 -1
  134. package/build/components/block-settings-menu/block-html-convert-button.js +1 -2
  135. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  136. package/build/components/block-settings-menu/block-mode-toggle.js +1 -2
  137. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  138. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -2
  139. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  140. package/build/components/block-settings-menu/block-settings-menu-first-item.js +1 -2
  141. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  142. package/build/components/block-settings-menu/index.js +1 -2
  143. package/build/components/block-settings-menu/index.js.map +1 -1
  144. package/build/components/block-settings-menu-controls/index.js +1 -2
  145. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  146. package/build/components/block-styles/index.js +1 -2
  147. package/build/components/block-styles/index.js.map +1 -1
  148. package/build/components/block-styles/index.native.js +1 -2
  149. package/build/components/block-styles/index.native.js.map +1 -1
  150. package/build/components/block-styles/preview.native.js +1 -2
  151. package/build/components/block-styles/preview.native.js.map +1 -1
  152. package/build/components/block-switcher/block-transformations-menu.js +1 -2
  153. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  154. package/build/components/block-switcher/block-transformations-menu.native.js +1 -2
  155. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  156. package/build/components/block-switcher/block-variation-transformations.js +1 -2
  157. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  158. package/build/components/block-switcher/index.js +13 -11
  159. package/build/components/block-switcher/index.js.map +1 -1
  160. package/build/components/block-switcher/pattern-transformations-menu.js +1 -2
  161. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  162. package/build/components/block-switcher/use-transformed-patterns.js +1 -2
  163. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  164. package/build/components/block-title/use-block-display-title.js +21 -28
  165. package/build/components/block-title/use-block-display-title.js.map +1 -1
  166. package/build/components/block-toolbar/block-name-context.js +1 -2
  167. package/build/components/block-toolbar/block-name-context.js.map +1 -1
  168. package/build/components/block-toolbar/block-toolbar-last-item.js +1 -2
  169. package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  170. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  171. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  172. package/build/components/block-tools/block-selection-button.js +20 -18
  173. package/build/components/block-tools/block-selection-button.js.map +1 -1
  174. package/build/components/block-tools/index.js +4 -12
  175. package/build/components/block-tools/index.js.map +1 -1
  176. package/build/components/block-tools/insertion-point.js +1 -2
  177. package/build/components/block-tools/insertion-point.js.map +1 -1
  178. package/build/components/block-tools/zoom-out-mode-inserters.js +1 -2
  179. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  180. package/build/components/block-types-list/index.js +1 -2
  181. package/build/components/block-types-list/index.js.map +1 -1
  182. package/build/components/block-variation-picker/index.js +1 -2
  183. package/build/components/block-variation-picker/index.js.map +1 -1
  184. package/build/components/block-variation-picker/index.native.js +1 -2
  185. package/build/components/block-variation-picker/index.native.js.map +1 -1
  186. package/build/components/block-variation-transforms/index.js +1 -2
  187. package/build/components/block-variation-transforms/index.js.map +1 -1
  188. package/build/components/block-vertical-alignment-control/icons.js +5 -10
  189. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  190. package/build/components/block-vertical-alignment-control/ui.js +1 -2
  191. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  192. package/build/components/button-block-appender/index.js +2 -4
  193. package/build/components/button-block-appender/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.native.js +1 -2
  195. package/build/components/button-block-appender/index.native.js.map +1 -1
  196. package/build/components/caption/index.native.js +1 -2
  197. package/build/components/caption/index.native.js.map +1 -1
  198. package/build/components/color-palette/index.js +1 -2
  199. package/build/components/color-palette/index.js.map +1 -1
  200. package/build/components/color-palette/with-color-context.js +1 -2
  201. package/build/components/color-palette/with-color-context.js.map +1 -1
  202. package/build/components/color-style-selector/index.js +1 -2
  203. package/build/components/color-style-selector/index.js.map +1 -1
  204. package/build/components/colors/index.js +2 -2
  205. package/build/components/colors/index.js.map +1 -1
  206. package/build/components/colors-gradients/control.js +1 -3
  207. package/build/components/colors-gradients/control.js.map +1 -1
  208. package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -2
  209. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  210. package/build/components/contrast-checker/index.js +1 -2
  211. package/build/components/contrast-checker/index.js.map +1 -1
  212. package/build/components/contrast-checker/index.native.js +1 -2
  213. package/build/components/contrast-checker/index.native.js.map +1 -1
  214. package/build/components/convert-to-group-buttons/toolbar.js +1 -2
  215. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  216. package/build/components/default-block-appender/index.js +31 -40
  217. package/build/components/default-block-appender/index.js.map +1 -1
  218. package/build/components/default-block-appender/index.native.js +1 -2
  219. package/build/components/default-block-appender/index.native.js.map +1 -1
  220. package/build/components/dimensions-tool/aspect-ratio-tool.js +2 -2
  221. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  222. package/build/components/dimensions-tool/index.js +1 -2
  223. package/build/components/dimensions-tool/index.js.map +1 -1
  224. package/build/components/duotone-control/index.js +1 -2
  225. package/build/components/duotone-control/index.js.map +1 -1
  226. package/build/components/editable-text/index.js +1 -2
  227. package/build/components/editable-text/index.js.map +1 -1
  228. package/build/components/floating-toolbar/index.native.js +1 -2
  229. package/build/components/floating-toolbar/index.native.js.map +1 -1
  230. package/build/components/floating-toolbar/nav-up-icon.js +1 -2
  231. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  232. package/build/components/font-sizes/font-size-picker.js +1 -2
  233. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  234. package/build/components/global-styles/border-panel.js +56 -8
  235. package/build/components/global-styles/border-panel.js.map +1 -1
  236. package/build/components/global-styles/color-panel.native.js +1 -2
  237. package/build/components/global-styles/color-panel.native.js.map +1 -1
  238. package/build/components/global-styles/context.js +2 -4
  239. package/build/components/global-styles/context.js.map +1 -1
  240. package/build/components/global-styles/get-global-styles-changes.js +2 -4
  241. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  242. package/build/components/global-styles/hooks.js +2 -3
  243. package/build/components/global-styles/hooks.js.map +1 -1
  244. package/build/components/global-styles/index.js +2 -15
  245. package/build/components/global-styles/index.js.map +1 -1
  246. package/build/components/global-styles/shadow-panel-components.js +133 -0
  247. package/build/components/global-styles/shadow-panel-components.js.map +1 -0
  248. package/build/components/global-styles/typography-panel.js +18 -36
  249. package/build/components/global-styles/typography-panel.js.map +1 -1
  250. package/build/components/global-styles/use-global-styles-output.js +1 -1
  251. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  252. package/build/components/global-styles/utils.js +38 -14
  253. package/build/components/global-styles/utils.js.map +1 -1
  254. package/build/components/iframe/index.js +1 -2
  255. package/build/components/iframe/index.js.map +1 -1
  256. package/build/components/image-editor/constants.js +3 -6
  257. package/build/components/image-editor/constants.js.map +1 -1
  258. package/build/components/image-link-destinations/index.native.js +1 -2
  259. package/build/components/image-link-destinations/index.native.js.map +1 -1
  260. package/build/components/index.js +2 -2
  261. package/build/components/index.js.map +1 -1
  262. package/build/components/index.native.js +2 -2
  263. package/build/components/index.native.js.map +1 -1
  264. package/build/components/inner-blocks/button-block-appender.js +1 -2
  265. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  266. package/build/components/inner-blocks/constants.native.js +1 -2
  267. package/build/components/inner-blocks/constants.native.js.map +1 -1
  268. package/build/components/inner-blocks/default-block-appender.js +1 -2
  269. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  270. package/build/components/inner-blocks/index.js +33 -30
  271. package/build/components/inner-blocks/index.js.map +1 -1
  272. package/build/components/inner-blocks/index.native.js +2 -6
  273. package/build/components/inner-blocks/index.native.js.map +1 -1
  274. package/build/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  275. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  276. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  277. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  278. package/build/components/inner-blocks/with-client-id.js +1 -2
  279. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/index.js +1 -2
  281. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  282. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -2
  283. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  284. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -2
  285. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  286. package/build/components/inserter/block-patterns-tab/index.js +1 -2
  287. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  288. package/build/components/inserter/block-patterns-tab/patterns-filter.js +4 -4
  289. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  290. package/build/components/inserter/block-patterns-tab/utils.js +5 -9
  291. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  292. package/build/components/inserter/block-types-tab.js +1 -2
  293. package/build/components/inserter/block-types-tab.js.map +1 -1
  294. package/build/components/inserter/block-types-tab.native.js +1 -2
  295. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  296. package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -2
  297. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  298. package/build/components/inserter/hooks/use-block-types-state.js +1 -2
  299. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  300. package/build/components/inserter/hooks/use-insertion-point.js +1 -2
  301. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  302. package/build/components/inserter/hooks/use-patterns-state.js +1 -2
  303. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  304. package/build/components/inserter/index.js +2 -4
  305. package/build/components/inserter/index.js.map +1 -1
  306. package/build/components/inserter/index.native.js +1 -2
  307. package/build/components/inserter/index.native.js.map +1 -1
  308. package/build/components/inserter/library.js +1 -2
  309. package/build/components/inserter/library.js.map +1 -1
  310. package/build/components/inserter/media-tab/media-list.js +1 -2
  311. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  312. package/build/components/inserter/media-tab/media-tab.js +1 -2
  313. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  314. package/build/components/inserter/menu.js +1 -2
  315. package/build/components/inserter/menu.js.map +1 -1
  316. package/build/components/inserter/menu.native.js +1 -2
  317. package/build/components/inserter/menu.native.js.map +1 -1
  318. package/build/components/inserter/no-results.js +1 -2
  319. package/build/components/inserter/no-results.js.map +1 -1
  320. package/build/components/inserter/no-results.native.js +1 -2
  321. package/build/components/inserter/no-results.native.js.map +1 -1
  322. package/build/components/inserter/panel.js +1 -2
  323. package/build/components/inserter/panel.js.map +1 -1
  324. package/build/components/inserter/preview-panel.js +1 -2
  325. package/build/components/inserter/preview-panel.js.map +1 -1
  326. package/build/components/inserter/quick-inserter.js +3 -2
  327. package/build/components/inserter/quick-inserter.js.map +1 -1
  328. package/build/components/inserter/reusable-blocks-tab.native.js +1 -2
  329. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  330. package/build/components/inserter/search-items.js +0 -1
  331. package/build/components/inserter/search-items.js.map +1 -1
  332. package/build/components/inserter/search-results.js +1 -2
  333. package/build/components/inserter/search-results.js.map +1 -1
  334. package/build/components/inserter/search-results.native.js +1 -2
  335. package/build/components/inserter/search-results.native.js.map +1 -1
  336. package/build/components/inserter/tabs.js +1 -2
  337. package/build/components/inserter/tabs.js.map +1 -1
  338. package/build/components/inserter/tabs.native.js +1 -2
  339. package/build/components/inserter/tabs.native.js.map +1 -1
  340. package/build/components/inserter/tips.js +1 -2
  341. package/build/components/inserter/tips.js.map +1 -1
  342. package/build/components/inserter-button/index.native.js +1 -2
  343. package/build/components/inserter-button/index.native.js.map +1 -1
  344. package/build/components/inserter-button/sparkles.js +1 -2
  345. package/build/components/inserter-button/sparkles.js.map +1 -1
  346. package/build/components/inserter-draggable-blocks/index.js +11 -2
  347. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  348. package/build/components/inserter-list-item/index.js +1 -2
  349. package/build/components/inserter-list-item/index.js.map +1 -1
  350. package/build/components/inserter-listbox/context.js +1 -2
  351. package/build/components/inserter-listbox/context.js.map +1 -1
  352. package/build/components/inserter-listbox/group.js +1 -2
  353. package/build/components/inserter-listbox/group.js.map +1 -1
  354. package/build/components/inserter-listbox/index.js +1 -2
  355. package/build/components/inserter-listbox/index.js.map +1 -1
  356. package/build/components/inserter-listbox/item.js +1 -2
  357. package/build/components/inserter-listbox/item.js.map +1 -1
  358. package/build/components/inserter-listbox/row.js +1 -2
  359. package/build/components/inserter-listbox/row.js.map +1 -1
  360. package/build/components/inserter-menu-extension/index.js +1 -2
  361. package/build/components/inserter-menu-extension/index.js.map +1 -1
  362. package/build/components/inspector-controls/groups.js +1 -2
  363. package/build/components/inspector-controls/groups.js.map +1 -1
  364. package/build/components/inspector-controls/index.js +1 -2
  365. package/build/components/inspector-controls/index.js.map +1 -1
  366. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -4
  367. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  368. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -2
  369. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  370. package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
  371. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  372. package/build/components/inspector-controls-tabs/styles-tab.js +6 -6
  373. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  374. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +1 -2
  375. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  376. package/build/components/inspector-controls-tabs/utils.js +3 -6
  377. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  378. package/build/components/justify-content-control/ui.js +1 -2
  379. package/build/components/justify-content-control/ui.js.map +1 -1
  380. package/build/components/keyboard-shortcuts/index.js +1 -2
  381. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  382. package/build/components/line-height-control/index.js +1 -2
  383. package/build/components/line-height-control/index.js.map +1 -1
  384. package/build/components/line-height-control/utils.js +4 -8
  385. package/build/components/line-height-control/utils.js.map +1 -1
  386. package/build/components/link-control/constants.js +7 -14
  387. package/build/components/link-control/constants.js.map +1 -1
  388. package/build/components/link-control/index.js +2 -16
  389. package/build/components/link-control/index.js.map +1 -1
  390. package/build/components/link-control/link-preview.js +13 -15
  391. package/build/components/link-control/link-preview.js.map +1 -1
  392. package/build/components/link-control/search-create-button.js +1 -2
  393. package/build/components/link-control/search-create-button.js.map +1 -1
  394. package/build/components/link-control/search-input.js +1 -2
  395. package/build/components/link-control/search-input.js.map +1 -1
  396. package/build/components/link-control/search-item.js +1 -2
  397. package/build/components/link-control/search-item.js.map +1 -1
  398. package/build/components/link-control/settings-drawer.js +1 -2
  399. package/build/components/link-control/settings-drawer.js.map +1 -1
  400. package/build/components/link-control/settings.js +1 -2
  401. package/build/components/link-control/settings.js.map +1 -1
  402. package/build/components/link-control/use-create-page.js +0 -1
  403. package/build/components/link-control/use-create-page.js.map +1 -1
  404. package/build/components/link-control/use-rich-url-data.js +1 -2
  405. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  406. package/build/components/link-control/viewer-slot.js +1 -2
  407. package/build/components/link-control/viewer-slot.js.map +1 -1
  408. package/build/components/list-view/appender.js +1 -2
  409. package/build/components/list-view/appender.js.map +1 -1
  410. package/build/components/list-view/block-contents.js +1 -2
  411. package/build/components/list-view/block-contents.js.map +1 -1
  412. package/build/components/list-view/block-select-button.js +1 -2
  413. package/build/components/list-view/block-select-button.js.map +1 -1
  414. package/build/components/list-view/block.js +33 -28
  415. package/build/components/list-view/block.js.map +1 -1
  416. package/build/components/list-view/branch.js +1 -2
  417. package/build/components/list-view/branch.js.map +1 -1
  418. package/build/components/list-view/context.js +1 -2
  419. package/build/components/list-view/context.js.map +1 -1
  420. package/build/components/list-view/index.js +20 -17
  421. package/build/components/list-view/index.js.map +1 -1
  422. package/build/components/list-view/leaf.js +1 -2
  423. package/build/components/list-view/leaf.js.map +1 -1
  424. package/build/components/list-view/use-clipboard-handler.js +159 -0
  425. package/build/components/list-view/use-clipboard-handler.js.map +1 -0
  426. package/build/components/list-view/use-list-view-drop-zone.js +1 -2
  427. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  428. package/build/components/list-view/utils.js +4 -4
  429. package/build/components/list-view/utils.js.map +1 -1
  430. package/build/components/media-placeholder/index.js +1 -2
  431. package/build/components/media-placeholder/index.js.map +1 -1
  432. package/build/components/media-placeholder/index.native.js +1 -2
  433. package/build/components/media-placeholder/index.native.js.map +1 -1
  434. package/build/components/media-replace-flow/index.js +1 -2
  435. package/build/components/media-replace-flow/index.js.map +1 -1
  436. package/build/components/media-replace-flow/index.native.js +1 -2
  437. package/build/components/media-replace-flow/index.native.js.map +1 -1
  438. package/build/components/media-upload/check.js +1 -2
  439. package/build/components/media-upload/check.js.map +1 -1
  440. package/build/components/media-upload/constants.native.js +8 -16
  441. package/build/components/media-upload/constants.native.js.map +1 -1
  442. package/build/components/media-upload/index.js +1 -2
  443. package/build/components/media-upload/index.js.map +1 -1
  444. package/build/components/media-upload/index.native.js +1 -2
  445. package/build/components/media-upload/index.native.js.map +1 -1
  446. package/build/components/media-upload-progress/constants.js +6 -12
  447. package/build/components/media-upload-progress/constants.js.map +1 -1
  448. package/build/components/media-upload-progress/index.native.js +1 -2
  449. package/build/components/media-upload-progress/index.native.js.map +1 -1
  450. package/build/components/multi-selection-inspector/index.js +1 -2
  451. package/build/components/multi-selection-inspector/index.js.map +1 -1
  452. package/build/components/navigable-toolbar/index.js +5 -2
  453. package/build/components/navigable-toolbar/index.js.map +1 -1
  454. package/build/components/observe-typing/index.js +1 -2
  455. package/build/components/observe-typing/index.js.map +1 -1
  456. package/build/components/panel-color-settings/index.js +1 -2
  457. package/build/components/panel-color-settings/index.js.map +1 -1
  458. package/build/components/plain-text/index.js +1 -2
  459. package/build/components/plain-text/index.js.map +1 -1
  460. package/build/components/provider/block-refs-provider.js +1 -2
  461. package/build/components/provider/block-refs-provider.js.map +1 -1
  462. package/build/components/provider/index.js +3 -5
  463. package/build/components/provider/index.js.map +1 -1
  464. package/build/components/provider/index.native.js +2 -4
  465. package/build/components/provider/index.native.js.map +1 -1
  466. package/build/components/provider/with-registry-provider.js +1 -2
  467. package/build/components/provider/with-registry-provider.js.map +1 -1
  468. package/build/components/publish-date-time-picker/index.js +1 -2
  469. package/build/components/publish-date-time-picker/index.js.map +1 -1
  470. package/build/components/responsive-block-control/index.js +3 -7
  471. package/build/components/responsive-block-control/index.js.map +1 -1
  472. package/build/components/rich-text/embed-handler-picker.native.js +1 -2
  473. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  474. package/build/components/rich-text/format-edit.js +1 -2
  475. package/build/components/rich-text/format-edit.js.map +1 -1
  476. package/build/components/rich-text/format-toolbar/index.js +1 -2
  477. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  478. package/build/components/rich-text/format-toolbar/index.native.js +1 -2
  479. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  480. package/build/components/rich-text/format-toolbar-container.js +1 -2
  481. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  482. package/build/components/rich-text/format-toolbar-container.native.js +1 -2
  483. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  484. package/build/components/rich-text/index.js +7 -8
  485. package/build/components/rich-text/index.js.map +1 -1
  486. package/build/components/rich-text/index.native.js +1 -2
  487. package/build/components/rich-text/index.native.js.map +1 -1
  488. package/build/components/rich-text/multiline.js +1 -2
  489. package/build/components/rich-text/multiline.js.map +1 -1
  490. package/build/components/rich-text/native/index.native.js +1 -6
  491. package/build/components/rich-text/native/index.native.js.map +1 -1
  492. package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -2
  493. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  494. package/build/components/skip-to-selected-block/index.js +1 -2
  495. package/build/components/skip-to-selected-block/index.js.map +1 -1
  496. package/build/components/spacing-sizes-control/index.js +3 -1
  497. package/build/components/spacing-sizes-control/index.js.map +1 -1
  498. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  499. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  500. package/build/components/spacing-sizes-control/utils.js +5 -10
  501. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  502. package/build/components/tool-selector/index.js +1 -2
  503. package/build/components/tool-selector/index.js.map +1 -1
  504. package/build/components/typewriter/index.js +1 -2
  505. package/build/components/typewriter/index.js.map +1 -1
  506. package/build/components/ungroup-button/index.native.js +1 -2
  507. package/build/components/ungroup-button/index.native.js.map +1 -1
  508. package/build/components/unsupported-block-details/index.native.js +1 -2
  509. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  510. package/build/components/url-input/button.js +1 -2
  511. package/build/components/url-input/button.js.map +1 -1
  512. package/build/components/url-input/index.js +1 -2
  513. package/build/components/url-input/index.js.map +1 -1
  514. package/build/components/url-popover/image-url-input-ui.js +66 -35
  515. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  516. package/build/components/url-popover/index.js +8 -6
  517. package/build/components/url-popover/index.js.map +1 -1
  518. package/build/components/url-popover/link-editor.js +2 -1
  519. package/build/components/url-popover/link-editor.js.map +1 -1
  520. package/build/components/url-popover/link-viewer.js +2 -1
  521. package/build/components/url-popover/link-viewer.js.map +1 -1
  522. package/build/components/use-block-drop-zone/index.js +15 -5
  523. package/build/components/use-block-drop-zone/index.js.map +1 -1
  524. package/build/components/use-flash-editable-blocks/index.js +60 -0
  525. package/build/components/use-flash-editable-blocks/index.js.map +1 -0
  526. package/build/components/use-moving-animation/index.js +1 -2
  527. package/build/components/use-moving-animation/index.js.map +1 -1
  528. package/build/components/use-on-block-drop/index.js +4 -4
  529. package/build/components/use-on-block-drop/index.js.map +1 -1
  530. package/build/components/use-settings/index.js +3 -162
  531. package/build/components/use-settings/index.js.map +1 -1
  532. package/build/components/video-player/gridicon-play.native.js +1 -2
  533. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  534. package/build/components/video-player/index.native.js +2 -4
  535. package/build/components/video-player/index.native.js.map +1 -1
  536. package/build/components/warning/index.js +1 -2
  537. package/build/components/warning/index.js.map +1 -1
  538. package/build/components/warning/index.native.js +1 -2
  539. package/build/components/warning/index.native.js.map +1 -1
  540. package/build/components/writing-flow/index.js +1 -2
  541. package/build/components/writing-flow/index.js.map +1 -1
  542. package/build/components/writing-flow/use-clipboard-handler.js +3 -48
  543. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  544. package/build/components/writing-flow/use-drag-selection.js +13 -2
  545. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  546. package/build/components/writing-flow/utils.js +86 -0
  547. package/build/components/writing-flow/utils.js.map +1 -0
  548. package/build/hooks/align.js +1 -2
  549. package/build/hooks/align.js.map +1 -1
  550. package/build/hooks/align.native.js +2 -2
  551. package/build/hooks/align.native.js.map +1 -1
  552. package/build/hooks/anchor.js +1 -2
  553. package/build/hooks/anchor.js.map +1 -1
  554. package/build/hooks/aria-label.js +1 -2
  555. package/build/hooks/aria-label.js.map +1 -1
  556. package/build/hooks/background.js +52 -14
  557. package/build/hooks/background.js.map +1 -1
  558. package/build/hooks/block-hooks.js +1 -2
  559. package/build/hooks/block-hooks.js.map +1 -1
  560. package/build/hooks/block-renaming.js +1 -2
  561. package/build/hooks/block-renaming.js.map +1 -1
  562. package/build/hooks/border.js +42 -7
  563. package/build/hooks/border.js.map +1 -1
  564. package/build/hooks/color.js +4 -6
  565. package/build/hooks/color.js.map +1 -1
  566. package/build/hooks/content-lock-ui.js +1 -2
  567. package/build/hooks/content-lock-ui.js.map +1 -1
  568. package/build/hooks/custom-class-name.js +1 -2
  569. package/build/hooks/custom-class-name.js.map +1 -1
  570. package/build/hooks/custom-class-name.native.js +1 -2
  571. package/build/hooks/custom-class-name.native.js.map +1 -1
  572. package/build/hooks/dimensions.js +5 -10
  573. package/build/hooks/dimensions.js.map +1 -1
  574. package/build/hooks/duotone.js +1 -3
  575. package/build/hooks/duotone.js.map +1 -1
  576. package/build/hooks/font-family.js +2 -4
  577. package/build/hooks/font-family.js.map +1 -1
  578. package/build/hooks/font-size.js +25 -31
  579. package/build/hooks/font-size.js.map +1 -1
  580. package/build/hooks/index.js +2 -8
  581. package/build/hooks/index.js.map +1 -1
  582. package/build/hooks/index.native.js +0 -6
  583. package/build/hooks/index.native.js.map +1 -1
  584. package/build/hooks/layout-child.js +1 -2
  585. package/build/hooks/layout-child.js.map +1 -1
  586. package/build/hooks/layout.js +2 -4
  587. package/build/hooks/layout.js.map +1 -1
  588. package/build/hooks/line-height.js +1 -2
  589. package/build/hooks/line-height.js.map +1 -1
  590. package/build/hooks/position.js +1 -2
  591. package/build/hooks/position.js.map +1 -1
  592. package/build/hooks/style.js +3 -8
  593. package/build/hooks/style.js.map +1 -1
  594. package/build/hooks/typography.js +4 -6
  595. package/build/hooks/typography.js.map +1 -1
  596. package/build/hooks/typography.native.js +3 -6
  597. package/build/hooks/typography.native.js.map +1 -1
  598. package/build/hooks/use-bindings-attributes.js +12 -11
  599. package/build/hooks/use-bindings-attributes.js.map +1 -1
  600. package/build/hooks/use-shadow-props.js +0 -15
  601. package/build/hooks/use-shadow-props.js.map +1 -1
  602. package/build/hooks/utils.js +3 -6
  603. package/build/hooks/utils.js.map +1 -1
  604. package/build/index.js +0 -7
  605. package/build/index.js.map +1 -1
  606. package/build/layouts/constrained.js +1 -2
  607. package/build/layouts/constrained.js.map +1 -1
  608. package/build/layouts/definitions.js +1 -2
  609. package/build/layouts/definitions.js.map +1 -1
  610. package/build/layouts/flex.js +1 -2
  611. package/build/layouts/flex.js.map +1 -1
  612. package/build/layouts/flow.js +1 -2
  613. package/build/layouts/flow.js.map +1 -1
  614. package/build/layouts/grid.js +1 -2
  615. package/build/layouts/grid.js.map +1 -1
  616. package/build/private-apis.js +8 -5
  617. package/build/private-apis.js.map +1 -1
  618. package/build/private-apis.native.js +3 -4
  619. package/build/private-apis.native.js.map +1 -1
  620. package/build/store/actions.js +2 -4
  621. package/build/store/actions.js.map +1 -1
  622. package/build/store/constants.js +1 -2
  623. package/build/store/constants.js.map +1 -1
  624. package/build/store/defaults.js +2 -4
  625. package/build/store/defaults.js.map +1 -1
  626. package/build/store/defaults.native.js +1 -2
  627. package/build/store/defaults.native.js.map +1 -1
  628. package/build/store/get-block-settings.js +180 -0
  629. package/build/store/get-block-settings.js.map +1 -0
  630. package/build/store/index.js +4 -6
  631. package/build/store/index.js.map +1 -1
  632. package/build/store/private-actions.js +37 -3
  633. package/build/store/private-actions.js.map +1 -1
  634. package/build/store/private-selectors.js +55 -29
  635. package/build/store/private-selectors.js.map +1 -1
  636. package/build/store/reducer.js +27 -6
  637. package/build/store/reducer.js.map +1 -1
  638. package/build/store/selectors.js +98 -102
  639. package/build/store/selectors.js.map +1 -1
  640. package/build/store/undo-ignore.js +1 -2
  641. package/build/store/undo-ignore.js.map +1 -1
  642. package/build/utils/object.js +0 -17
  643. package/build/utils/object.js.map +1 -1
  644. package/build/utils/selection.js +1 -2
  645. package/build/utils/selection.js.map +1 -1
  646. package/build/utils/transform-styles/index.js +3 -4
  647. package/build/utils/transform-styles/index.js.map +1 -1
  648. package/build-module/components/block-breadcrumb/index.js +0 -1
  649. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  650. package/build-module/components/block-inspector/index.js +10 -7
  651. package/build-module/components/block-inspector/index.js.map +1 -1
  652. package/build-module/components/block-list/block.js +32 -20
  653. package/build-module/components/block-list/block.js.map +1 -1
  654. package/build-module/components/block-list/block.native.js +6 -4
  655. package/build-module/components/block-list/block.native.js.map +1 -1
  656. package/build-module/components/block-list/index.js +18 -7
  657. package/build-module/components/block-list/index.js.map +1 -1
  658. package/build-module/components/block-list/use-block-props/index.js +8 -1
  659. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  660. package/build-module/components/block-list-appender/index.js +5 -51
  661. package/build-module/components/block-list-appender/index.js.map +1 -1
  662. package/build-module/components/block-mover/mover-description.native.js +0 -2
  663. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  664. package/build-module/components/block-popover/inbetween.js +0 -1
  665. package/build-module/components/block-popover/inbetween.js.map +1 -1
  666. package/build-module/components/block-preview/auto.js +2 -1
  667. package/build-module/components/block-preview/auto.js.map +1 -1
  668. package/build-module/components/block-removal-warning-modal/index.js +4 -2
  669. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  670. package/build-module/components/block-switcher/index.js +12 -9
  671. package/build-module/components/block-switcher/index.js.map +1 -1
  672. package/build-module/components/block-title/use-block-display-title.js +22 -28
  673. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  674. package/build-module/components/block-tools/block-selection-button.js +20 -17
  675. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  676. package/build-module/components/block-tools/index.js +2 -10
  677. package/build-module/components/block-tools/index.js.map +1 -1
  678. package/build-module/components/colors-gradients/control.js +0 -1
  679. package/build-module/components/colors-gradients/control.js.map +1 -1
  680. package/build-module/components/default-block-appender/index.js +30 -37
  681. package/build-module/components/default-block-appender/index.js.map +1 -1
  682. package/build-module/components/global-styles/border-panel.js +57 -9
  683. package/build-module/components/global-styles/border-panel.js.map +1 -1
  684. package/build-module/components/global-styles/get-global-styles-changes.js +2 -4
  685. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  686. package/build-module/components/global-styles/hooks.js +2 -3
  687. package/build-module/components/global-styles/hooks.js.map +1 -1
  688. package/build-module/components/global-styles/index.js +0 -1
  689. package/build-module/components/global-styles/index.js.map +1 -1
  690. package/build-module/components/global-styles/shadow-panel-components.js +121 -0
  691. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -0
  692. package/build-module/components/global-styles/typography-panel.js +17 -35
  693. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  694. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  695. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  696. package/build-module/components/global-styles/utils.js +30 -1
  697. package/build-module/components/global-styles/utils.js.map +1 -1
  698. package/build-module/components/inner-blocks/index.js +33 -29
  699. package/build-module/components/inner-blocks/index.js.map +1 -1
  700. package/build-module/components/inner-blocks/index.native.js +1 -4
  701. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  702. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  703. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  704. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +4 -4
  705. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  706. package/build-module/components/inserter/block-patterns-tab/utils.js +2 -2
  707. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  708. package/build-module/components/inserter/quick-inserter.js +3 -2
  709. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  710. package/build-module/components/inserter/search-items.js +0 -1
  711. package/build-module/components/inserter/search-items.js.map +1 -1
  712. package/build-module/components/inserter-draggable-blocks/index.js +12 -1
  713. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  714. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -4
  715. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  716. package/build-module/components/link-control/index.js +1 -14
  717. package/build-module/components/link-control/index.js.map +1 -1
  718. package/build-module/components/link-control/link-preview.js +16 -18
  719. package/build-module/components/link-control/link-preview.js.map +1 -1
  720. package/build-module/components/link-control/use-create-page.js +0 -1
  721. package/build-module/components/link-control/use-create-page.js.map +1 -1
  722. package/build-module/components/list-view/block.js +32 -26
  723. package/build-module/components/list-view/block.js.map +1 -1
  724. package/build-module/components/list-view/index.js +17 -11
  725. package/build-module/components/list-view/index.js.map +1 -1
  726. package/build-module/components/list-view/use-clipboard-handler.js +153 -0
  727. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -0
  728. package/build-module/components/list-view/utils.js +4 -4
  729. package/build-module/components/list-view/utils.js.map +1 -1
  730. package/build-module/components/navigable-toolbar/index.js +5 -2
  731. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  732. package/build-module/components/provider/index.js +1 -1
  733. package/build-module/components/provider/index.js.map +1 -1
  734. package/build-module/components/responsive-block-control/index.js +3 -6
  735. package/build-module/components/responsive-block-control/index.js.map +1 -1
  736. package/build-module/components/rich-text/index.js +4 -2
  737. package/build-module/components/rich-text/index.js.map +1 -1
  738. package/build-module/components/rich-text/native/index.native.js +0 -4
  739. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  740. package/build-module/components/spacing-sizes-control/index.js +4 -2
  741. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  742. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  743. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  744. package/build-module/components/url-popover/image-url-input-ui.js +69 -38
  745. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  746. package/build-module/components/url-popover/index.js +8 -5
  747. package/build-module/components/url-popover/index.js.map +1 -1
  748. package/build-module/components/url-popover/link-editor.js +2 -1
  749. package/build-module/components/url-popover/link-editor.js.map +1 -1
  750. package/build-module/components/url-popover/link-viewer.js +2 -1
  751. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  752. package/build-module/components/use-block-drop-zone/index.js +15 -5
  753. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  754. package/build-module/components/use-flash-editable-blocks/index.js +53 -0
  755. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -0
  756. package/build-module/components/use-on-block-drop/index.js +4 -4
  757. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  758. package/build-module/components/use-settings/index.js +3 -159
  759. package/build-module/components/use-settings/index.js.map +1 -1
  760. package/build-module/components/writing-flow/use-clipboard-handler.js +4 -49
  761. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  762. package/build-module/components/writing-flow/use-drag-selection.js +13 -2
  763. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  764. package/build-module/components/writing-flow/utils.js +79 -0
  765. package/build-module/components/writing-flow/utils.js.map +1 -0
  766. package/build-module/hooks/background.js +48 -10
  767. package/build-module/hooks/background.js.map +1 -1
  768. package/build-module/hooks/border.js +38 -3
  769. package/build-module/hooks/border.js.map +1 -1
  770. package/build-module/hooks/duotone.js +0 -1
  771. package/build-module/hooks/duotone.js.map +1 -1
  772. package/build-module/hooks/font-size.js +23 -27
  773. package/build-module/hooks/font-size.js.map +1 -1
  774. package/build-module/hooks/index.js +1 -1
  775. package/build-module/hooks/index.js.map +1 -1
  776. package/build-module/hooks/index.native.js +1 -1
  777. package/build-module/hooks/index.native.js.map +1 -1
  778. package/build-module/hooks/style.js +3 -7
  779. package/build-module/hooks/style.js.map +1 -1
  780. package/build-module/hooks/use-bindings-attributes.js +10 -13
  781. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  782. package/build-module/hooks/use-shadow-props.js +0 -14
  783. package/build-module/hooks/use-shadow-props.js.map +1 -1
  784. package/build-module/hooks/utils.js +3 -6
  785. package/build-module/hooks/utils.js.map +1 -1
  786. package/build-module/index.js +1 -1
  787. package/build-module/index.js.map +1 -1
  788. package/build-module/private-apis.js +5 -1
  789. package/build-module/private-apis.js.map +1 -1
  790. package/build-module/store/get-block-settings.js +171 -0
  791. package/build-module/store/get-block-settings.js.map +1 -0
  792. package/build-module/store/private-actions.js +35 -3
  793. package/build-module/store/private-actions.js.map +1 -1
  794. package/build-module/store/private-selectors.js +42 -19
  795. package/build-module/store/private-selectors.js.map +1 -1
  796. package/build-module/store/reducer.js +24 -2
  797. package/build-module/store/reducer.js.map +1 -1
  798. package/build-module/store/selectors.js +65 -34
  799. package/build-module/store/selectors.js.map +1 -1
  800. package/build-module/utils/object.js +0 -16
  801. package/build-module/utils/object.js.map +1 -1
  802. package/build-style/content-rtl.css +23 -15
  803. package/build-style/content.css +23 -15
  804. package/build-style/style-rtl.css +97 -67
  805. package/build-style/style.css +97 -67
  806. package/package.json +31 -31
  807. package/src/components/block-canvas/style.scss +3 -3
  808. package/src/components/block-card/style.scss +3 -1
  809. package/src/components/block-controls/README.md +2 -2
  810. package/src/components/block-inspector/index.js +11 -9
  811. package/src/components/block-list/block.js +45 -20
  812. package/src/components/block-list/block.native.js +7 -4
  813. package/src/components/block-list/content.scss +23 -28
  814. package/src/components/block-list/index.js +49 -25
  815. package/src/components/block-list/use-block-props/index.js +8 -0
  816. package/src/components/block-list-appender/index.js +7 -74
  817. package/src/components/block-mover/style.scss +4 -3
  818. package/src/components/block-preview/auto.js +2 -1
  819. package/src/components/block-removal-warning-modal/index.js +17 -10
  820. package/src/components/block-switcher/index.js +22 -13
  821. package/src/components/block-title/test/index.js +86 -85
  822. package/src/components/block-title/use-block-display-title.js +25 -36
  823. package/src/components/block-toolbar/style.scss +8 -1
  824. package/src/components/block-tools/block-selection-button.js +23 -26
  825. package/src/components/block-tools/index.js +2 -12
  826. package/src/components/colors-gradients/control.js +0 -1
  827. package/src/components/default-block-appender/index.js +26 -38
  828. package/src/components/default-block-appender/test/index.js +24 -16
  829. package/src/components/font-sizes/README.MD +0 -9
  830. package/src/components/global-styles/border-panel.js +72 -1
  831. package/src/components/global-styles/get-global-styles-changes.js +2 -8
  832. package/src/components/global-styles/hooks.js +0 -2
  833. package/src/components/global-styles/index.js +0 -1
  834. package/src/components/global-styles/shadow-panel-components.js +125 -0
  835. package/src/components/global-styles/style.scss +8 -9
  836. package/src/components/global-styles/test/get-global-styles-changes.js +3 -3
  837. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  838. package/src/components/global-styles/test/utils.js +86 -0
  839. package/src/components/global-styles/typography-panel.js +14 -47
  840. package/src/components/global-styles/use-global-styles-output.js +5 -1
  841. package/src/components/global-styles/utils.js +36 -0
  842. package/src/components/inner-blocks/index.js +31 -32
  843. package/src/components/inner-blocks/index.native.js +3 -9
  844. package/src/components/inner-blocks/use-inner-block-template-sync.js +1 -3
  845. package/src/components/inserter/block-patterns-tab/patterns-filter.js +4 -10
  846. package/src/components/inserter/block-patterns-tab/utils.js +2 -2
  847. package/src/components/inserter/quick-inserter.js +4 -2
  848. package/src/components/inserter/style.scss +3 -13
  849. package/src/components/inserter-draggable-blocks/index.js +12 -1
  850. package/src/components/inspector-controls-tabs/styles-tab.js +4 -2
  851. package/src/components/link-control/index.js +1 -20
  852. package/src/components/link-control/link-preview.js +19 -24
  853. package/src/components/link-control/style.scss +5 -11
  854. package/src/components/link-control/test/index.js +11 -90
  855. package/src/components/list-view/block.js +49 -41
  856. package/src/components/list-view/index.js +22 -9
  857. package/src/components/list-view/use-clipboard-handler.js +199 -0
  858. package/src/components/list-view/utils.js +4 -4
  859. package/src/components/media-replace-flow/test/index.js +1 -1
  860. package/src/components/navigable-toolbar/index.js +8 -4
  861. package/src/components/provider/index.js +1 -1
  862. package/src/components/responsive-block-control/index.js +3 -5
  863. package/src/components/rich-text/index.js +4 -3
  864. package/src/components/spacing-sizes-control/index.js +2 -1
  865. package/src/components/url-input/style.scss +4 -2
  866. package/src/components/url-popover/image-url-input-ui.js +98 -37
  867. package/src/components/url-popover/index.js +75 -67
  868. package/src/components/url-popover/link-editor.js +1 -0
  869. package/src/components/url-popover/link-viewer.js +1 -0
  870. package/src/components/url-popover/style.scss +42 -31
  871. package/src/components/use-block-drop-zone/index.js +17 -3
  872. package/src/components/use-flash-editable-blocks/index.js +62 -0
  873. package/src/components/use-on-block-drop/index.js +11 -4
  874. package/src/components/use-settings/index.js +9 -232
  875. package/src/components/writing-flow/use-clipboard-handler.js +6 -78
  876. package/src/components/writing-flow/use-drag-selection.js +12 -3
  877. package/src/components/writing-flow/utils.js +103 -0
  878. package/src/hooks/background.js +53 -8
  879. package/src/hooks/border.js +47 -6
  880. package/src/hooks/font-size.js +33 -33
  881. package/src/hooks/index.js +1 -1
  882. package/src/hooks/index.native.js +1 -1
  883. package/src/hooks/style.js +5 -9
  884. package/src/hooks/test/background.js +50 -0
  885. package/src/hooks/test/font-size.js +164 -0
  886. package/src/hooks/use-bindings-attributes.js +10 -23
  887. package/src/hooks/use-shadow-props.js +0 -14
  888. package/src/hooks/utils.js +4 -16
  889. package/src/index.js +0 -1
  890. package/src/private-apis.js +4 -0
  891. package/src/store/get-block-settings.js +225 -0
  892. package/src/store/private-actions.js +44 -2
  893. package/src/store/private-selectors.js +53 -38
  894. package/src/store/reducer.js +29 -1
  895. package/src/store/selectors.js +74 -48
  896. package/src/store/test/get-block-settings.js +90 -0
  897. package/src/store/test/private-actions.js +18 -0
  898. package/src/store/test/private-selectors.js +19 -0
  899. package/src/store/test/reducer.js +19 -0
  900. package/src/utils/object.js +0 -16
  901. package/build/components/global-styles/effects-panel.js +0 -219
  902. package/build/components/global-styles/effects-panel.js.map +0 -1
  903. package/build/hooks/effects.js +0 -66
  904. package/build/hooks/effects.js.map +0 -1
  905. package/build-module/components/global-styles/effects-panel.js +0 -210
  906. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  907. package/build-module/hooks/effects.js +0 -51
  908. package/build-module/hooks/effects.js.map +0 -1
  909. package/src/components/global-styles/effects-panel.js +0 -244
  910. package/src/components/use-settings/test/index.js +0 -141
  911. package/src/hooks/effects.js +0 -57
  912. package/src/hooks/test/effects.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blocks","_components","_compose","_data","_element","_useSettings","_inspectorControls","_useBlockDisplayInformation","_utils","_lockUnlock","_store","CustomSelectControl","unlock","componentsPrivateApis","POSITION_SUPPORT_KEY","OPTION_CLASSNAME","DEFAULT_OPTION","key","value","name","__","className","STICKY_OPTION","_x","__experimentalHint","FIXED_OPTION","POSITION_SIDES","VALID_POSITION_TYPES","getPositionCSS","selector","style","output","type","positionType","position","includes","forEach","side","undefined","hasStickyPositionSupport","blockType","support","getBlockSupport","sticky","hasFixedPositionSupport","fixed","hasPositionSupport","hasPositionValue","props","attributes","hasStickyOrFixedPositionValue","resetPosition","setAttributes","cleanEmptyObject","top","right","bottom","left","useIsPositionDisabled","blockName","allowFixed","allowSticky","useSettings","isDisabled","PositionPanelPure","clientId","firstParentClientId","useSelect","select","getBlockParents","blockEditorStore","parents","length","blockInformation","useBlockDisplayInformation","stickyHelpText","sprintf","title","options","useMemo","availableOptions","push","onChangeType","next","placementValue","newStyle","selectedOption","find","option","Platform","web","_react","createElement","default","group","BaseControl","__nextHasNoMarginBottom","help","__nextUnconstrainedWidth","__next40pxDefaultSize","label","hideLabelFromVision","describedBy","__experimentalShowSelectedHint","onChange","selectedItem","size","native","_default","edit","Edit","isPositionDisabled","useBlockProps","attributeKeys","hasSupport","hasBlockSupport","exports","hasPositionBlockSupport","allowPositionStyles","id","useInstanceId","positionSelector","css","classnames","useStyleOverride"],"sources":["@wordpress/block-editor/src/hooks/position.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport {\n\tBaseControl,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\nimport { store as blockEditorStore } from '../store';\n\nconst { CustomSelectControl } = unlock( componentsPrivateApis );\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst OPTION_CLASSNAME =\n\t'block-editor-hooks__position-selection__select-control__option';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tname: __( 'Default' ),\n\tclassName: OPTION_CLASSNAME,\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tname: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tname: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will not move when the page is scrolled.'\n\t),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn Platform.select( {\n\t\tweb:\n\t\t\toptions.length > 1 ? (\n\t\t\t\t<InspectorControls group=\"position\">\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\thelp={ stickyHelpText }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__nextUnconstrainedWidth\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection__select-control\"\n\t\t\t\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Currently selected position.\n\t\t\t\t\t\t\t\t__( 'Currently selected position: %s' ),\n\t\t\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ selectedOption }\n\t\t\t\t\t\t\t__experimentalShowSelectedHint\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</InspectorControls>\n\t\t\t) : null,\n\t\tnative: null,\n\t} );\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( useBlockProps );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = classnames( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blocks","_components","_compose","_data","_element","_useSettings","_inspectorControls","_useBlockDisplayInformation","_utils","_lockUnlock","_store","CustomSelectControl","unlock","componentsPrivateApis","POSITION_SUPPORT_KEY","OPTION_CLASSNAME","DEFAULT_OPTION","key","value","name","__","className","STICKY_OPTION","_x","__experimentalHint","FIXED_OPTION","POSITION_SIDES","VALID_POSITION_TYPES","getPositionCSS","selector","style","output","type","positionType","position","includes","forEach","side","undefined","hasStickyPositionSupport","blockType","support","getBlockSupport","sticky","hasFixedPositionSupport","fixed","hasPositionSupport","hasPositionValue","props","attributes","hasStickyOrFixedPositionValue","resetPosition","setAttributes","cleanEmptyObject","top","right","bottom","left","useIsPositionDisabled","blockName","allowFixed","allowSticky","useSettings","isDisabled","PositionPanelPure","clientId","firstParentClientId","useSelect","select","getBlockParents","blockEditorStore","parents","length","blockInformation","useBlockDisplayInformation","stickyHelpText","sprintf","title","options","useMemo","availableOptions","push","onChangeType","next","placementValue","newStyle","selectedOption","find","option","Platform","web","_react","createElement","default","group","BaseControl","__nextHasNoMarginBottom","help","__nextUnconstrainedWidth","__next40pxDefaultSize","label","hideLabelFromVision","describedBy","__experimentalShowSelectedHint","onChange","selectedItem","size","native","_default","exports","edit","Edit","isPositionDisabled","useBlockProps","attributeKeys","hasSupport","hasBlockSupport","hasPositionBlockSupport","allowPositionStyles","id","useInstanceId","positionSelector","css","classnames","useStyleOverride"],"sources":["@wordpress/block-editor/src/hooks/position.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport {\n\tBaseControl,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\nimport { store as blockEditorStore } from '../store';\n\nconst { CustomSelectControl } = unlock( componentsPrivateApis );\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst OPTION_CLASSNAME =\n\t'block-editor-hooks__position-selection__select-control__option';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tname: __( 'Default' ),\n\tclassName: OPTION_CLASSNAME,\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tname: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tname: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\tclassName: OPTION_CLASSNAME,\n\t__experimentalHint: __(\n\t\t'The block will not move when the page is scrolled.'\n\t),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn Platform.select( {\n\t\tweb:\n\t\t\toptions.length > 1 ? (\n\t\t\t\t<InspectorControls group=\"position\">\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\thelp={ stickyHelpText }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__nextUnconstrainedWidth\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-selection__select-control\"\n\t\t\t\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Currently selected position.\n\t\t\t\t\t\t\t\t__( 'Currently selected position: %s' ),\n\t\t\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ selectedOption }\n\t\t\t\t\t\t\t__experimentalShowSelectedHint\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</InspectorControls>\n\t\t\t) : null,\n\t\tnative: null,\n\t} );\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( useBlockProps );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = classnames( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],"mappings":"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"}
@@ -18,7 +18,6 @@ var _border = require("./border");
18
18
  var _color = require("./color");
19
19
  var _typography = require("./typography");
20
20
  var _dimensions = require("./dimensions");
21
- var _effects = require("./effects");
22
21
  var _utils = require("./utils");
23
22
  var _utils2 = require("../components/global-styles/utils");
24
23
  var _blockEditingMode = require("../components/block-editing-mode");
@@ -30,7 +29,7 @@ var _blockEditingMode = require("../components/block-editing-mode");
30
29
  * Internal dependencies
31
30
  */
32
31
 
33
- const styleSupportKeys = [..._typography.TYPOGRAPHY_SUPPORT_KEYS, ..._effects.EFFECTS_SUPPORT_KEYS, _border.BORDER_SUPPORT_KEY, _color.COLOR_SUPPORT_KEY, _dimensions.DIMENSIONS_SUPPORT_KEY, _background.BACKGROUND_SUPPORT_KEY, _dimensions.SPACING_SUPPORT_KEY];
32
+ const styleSupportKeys = [..._typography.TYPOGRAPHY_SUPPORT_KEYS, _border.BORDER_SUPPORT_KEY, _color.COLOR_SUPPORT_KEY, _dimensions.DIMENSIONS_SUPPORT_KEY, _background.BACKGROUND_SUPPORT_KEY, _dimensions.SPACING_SUPPORT_KEY, _border.SHADOW_SUPPORT_KEY];
34
33
  const hasStyleSupport = nameOrType => styleSupportKeys.some(key => (0, _blocks.hasBlockSupport)(nameOrType, key));
35
34
 
36
35
  /**
@@ -86,7 +85,7 @@ const skipSerializationPathsEdit = {
86
85
  [`${_typography.TYPOGRAPHY_SUPPORT_KEY}.__experimentalSkipSerialization`]: [_typography.TYPOGRAPHY_SUPPORT_KEY],
87
86
  [`${_dimensions.DIMENSIONS_SUPPORT_KEY}.__experimentalSkipSerialization`]: [_dimensions.DIMENSIONS_SUPPORT_KEY],
88
87
  [`${_dimensions.SPACING_SUPPORT_KEY}.__experimentalSkipSerialization`]: [_dimensions.SPACING_SUPPORT_KEY],
89
- [`${_effects.SHADOW_SUPPORT_KEY}`]: [_effects.SHADOW_SUPPORT_KEY]
88
+ [`${_border.SHADOW_SUPPORT_KEY}.__experimentalSkipSerialization`]: [_border.SHADOW_SUPPORT_KEY]
90
89
  };
91
90
 
92
91
  /**
@@ -107,7 +106,6 @@ const skipSerializationPathsSave = {
107
106
  // Skip serialization of aspect ratio in save mode.
108
107
  [`${_background.BACKGROUND_SUPPORT_KEY}`]: [_background.BACKGROUND_SUPPORT_KEY] // Skip serialization of background support in save mode.
109
108
  };
110
-
111
109
  const skipSerializationPathsSaveChecks = {
112
110
  [`${_dimensions.DIMENSIONS_SUPPORT_KEY}.aspectRatio`]: true,
113
111
  [`${_background.BACKGROUND_SUPPORT_KEY}`]: true
@@ -305,11 +303,9 @@ function BlockStyleControls({
305
303
  ...passedProps
306
304
  }), (0, _react.createElement)(_dimensions.DimensionsPanel, {
307
305
  ...passedProps
308
- }), (0, _react.createElement)(_effects.EffectsPanel, {
309
- ...passedProps
310
306
  }));
311
307
  }
312
- var _default = {
308
+ var _default = exports.default = {
313
309
  edit: BlockStyleControls,
314
310
  hasSupport: hasStyleSupport,
315
311
  addSaveProps,
@@ -318,7 +314,6 @@ var _default = {
318
314
  }; // Defines which element types are supported, including their hover styles or
319
315
  // any other elements that have been included under a single element type
320
316
  // e.g. heading and h1-h6.
321
- exports.default = _default;
322
317
  const elementTypes = [{
323
318
  elementType: 'button'
324
319
  }, {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_hooks","_blocks","_compose","_styleEngine","_background","_border","_color","_typography","_dimensions","_effects","_utils","_utils2","_blockEditingMode","styleSupportKeys","TYPOGRAPHY_SUPPORT_KEYS","EFFECTS_SUPPORT_KEYS","BORDER_SUPPORT_KEY","COLOR_SUPPORT_KEY","DIMENSIONS_SUPPORT_KEY","BACKGROUND_SUPPORT_KEY","SPACING_SUPPORT_KEY","hasStyleSupport","nameOrType","some","key","hasBlockSupport","getInlineStyles","styles","output","getCSSRules","forEach","rule","value","addAttribute","settings","attributes","style","Object","assign","type","skipSerializationPathsEdit","TYPOGRAPHY_SUPPORT_KEY","SHADOW_SUPPORT_KEY","skipSerializationPathsSave","skipSerializationPathsSaveChecks","renamedFeatures","gradients","omitStyle","paths","preserveReference","newStyle","JSON","parse","stringify","Array","isArray","path","split","length","firstSubpath","restPath","addSaveProps","props","blockNameOrType","skipPaths","entries","indicator","skipSerialization","getBlockSupport","featureName","feature","BlockStyleControls","clientId","name","setAttributes","__unstableParentLayout","useBlockSettings","blockEditingMode","useBlockEditingMode","passedProps","_react","createElement","Fragment","ColorEdit","BackgroundImagePanel","TypographyPanel","BorderPanel","DimensionsPanel","EffectsPanel","_default","edit","hasSupport","attributeKeys","useBlockProps","exports","default","elementTypes","elementType","pseudo","elements","blockElementsContainerIdentifier","useInstanceId","baseElementSelector","blockElementStyles","useMemo","elementCSSRules","shouldSkipSerialization","elementStyles","selector","scopeSelector","ELEMENTS","push","compileCSS","pseudoSelector","element","join","undefined","useStyleOverride","css","className","addFilter"],"sources":["@wordpress/block-editor/src/hooks/style.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\thasBlockSupport,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { getCSSRules, compileCSS } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { BACKGROUND_SUPPORT_KEY, BackgroundImagePanel } from './background';\nimport { BORDER_SUPPORT_KEY, BorderPanel } from './border';\nimport { COLOR_SUPPORT_KEY, ColorEdit } from './color';\nimport {\n\tTypographyPanel,\n\tTYPOGRAPHY_SUPPORT_KEY,\n\tTYPOGRAPHY_SUPPORT_KEYS,\n} from './typography';\nimport {\n\tDIMENSIONS_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tDimensionsPanel,\n} from './dimensions';\nimport {\n\tEFFECTS_SUPPORT_KEYS,\n\tSHADOW_SUPPORT_KEY,\n\tEffectsPanel,\n} from './effects';\nimport {\n\tshouldSkipSerialization,\n\tuseStyleOverride,\n\tuseBlockSettings,\n} from './utils';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\nconst styleSupportKeys = [\n\t...TYPOGRAPHY_SUPPORT_KEYS,\n\t...EFFECTS_SUPPORT_KEYS,\n\tBORDER_SUPPORT_KEY,\n\tCOLOR_SUPPORT_KEY,\n\tDIMENSIONS_SUPPORT_KEY,\n\tBACKGROUND_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n];\n\nconst hasStyleSupport = ( nameOrType ) =>\n\tstyleSupportKeys.some( ( key ) => hasBlockSupport( nameOrType, key ) );\n\n/**\n * Returns the inline styles to add depending on the style object\n *\n * @param {Object} styles Styles configuration.\n *\n * @return {Object} Flattened CSS variables declaration.\n */\nexport function getInlineStyles( styles = {} ) {\n\tconst output = {};\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tgetCSSRules( styles ).forEach( ( rule ) => {\n\t\toutput[ rule.key ] = rule.value;\n\t} );\n\n\treturn output;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `style` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttribute( settings ) {\n\tif ( ! hasStyleSupport( settings ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsEdit = {\n\t[ `${ BORDER_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [ 'border' ],\n\t[ `${ COLOR_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tCOLOR_SUPPORT_KEY,\n\t],\n\t[ `${ TYPOGRAPHY_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t],\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t],\n\t[ `${ SPACING_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSPACING_SUPPORT_KEY,\n\t],\n\t[ `${ SHADOW_SUPPORT_KEY }` ]: [ SHADOW_SUPPORT_KEY ],\n};\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * Extends the Edit skip paths to enable skipping additional paths in just\n * the Save component. This allows a block support to be serialized within the\n * editor, while using an alternate approach, such as server-side rendering, when\n * the support is saved.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsSave = {\n\t...skipSerializationPathsEdit,\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: [\n\t\t`${ DIMENSIONS_SUPPORT_KEY }.aspectRatio`,\n\t], // Skip serialization of aspect ratio in save mode.\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: [ BACKGROUND_SUPPORT_KEY ], // Skip serialization of background support in save mode.\n};\n\nconst skipSerializationPathsSaveChecks = {\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: true,\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: true,\n};\n\n/**\n * A dictionary used to normalize feature names between support flags, style\n * object properties and __experimentSkipSerialization configuration arrays.\n *\n * This allows not having to provide a migration for a support flag and possible\n * backwards compatibility bridges, while still achieving consistency between\n * the support flag and the skip serialization array.\n *\n * @constant\n * @type {Record<string, string>}\n */\nconst renamedFeatures = { gradients: 'gradient' };\n\n/**\n * A utility function used to remove one or more paths from a style object.\n * Works in a way similar to Lodash's `omit()`. See unit tests and examples below.\n *\n * It supports a single string path:\n *\n * ```\n * omitStyle( { color: 'red' }, 'color' ); // {}\n * ```\n *\n * or an array of paths:\n *\n * ```\n * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {}\n * ```\n *\n * It also allows you to specify paths at multiple levels in a string.\n *\n * ```\n * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {}\n * ```\n *\n * You can remove multiple paths at the same time:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t'typography.textDecoration',\n * \t\t\t'typography.textTransform',\n *\t\t]\n * );\n * // {}\n * ```\n *\n * You can also specify nested paths as arrays:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'typography', 'textDecoration' ],\n * \t\t\t[ 'typography', 'textTransform' ],\n *\t\t]\n * );\n * // {}\n * ```\n *\n * With regards to nesting of styles, infinite depth is supported:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\tborder: {\n * \t\t\t\tradius: {\n * \t\t\t\t\ttopLeft: '10px',\n * \t\t\t\t\ttopRight: '0.5rem',\n * \t\t\t\t}\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'border', 'radius', 'topRight' ],\n *\t\t]\n * );\n * // { border: { radius: { topLeft: '10px' } } }\n * ```\n *\n * The third argument, `preserveReference`, defines how to treat the input style object.\n * It is mostly necessary to properly handle mutation when recursively handling the style object.\n * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`.\n * However, when recursing, we change that value to `true` in order to work with a single copy\n * of the original style object.\n *\n * @see https://lodash.com/docs/4.17.15#omit\n *\n * @param {Object} style Styles object.\n * @param {Array|string} paths Paths to remove.\n * @param {boolean} preserveReference True to mutate the `style` object, false otherwise.\n * @return {Object} Styles object with the specified paths removed.\n */\nexport function omitStyle( style, paths, preserveReference = false ) {\n\tif ( ! style ) {\n\t\treturn style;\n\t}\n\n\tlet newStyle = style;\n\tif ( ! preserveReference ) {\n\t\tnewStyle = JSON.parse( JSON.stringify( style ) );\n\t}\n\n\tif ( ! Array.isArray( paths ) ) {\n\t\tpaths = [ paths ];\n\t}\n\n\tpaths.forEach( ( path ) => {\n\t\tif ( ! Array.isArray( path ) ) {\n\t\t\tpath = path.split( '.' );\n\t\t}\n\n\t\tif ( path.length > 1 ) {\n\t\t\tconst [ firstSubpath, ...restPath ] = path;\n\t\t\tomitStyle( newStyle[ firstSubpath ], [ restPath ], true );\n\t\t} else if ( path.length === 1 ) {\n\t\t\tdelete newStyle[ path[ 0 ] ];\n\t\t}\n\t} );\n\n\treturn newStyle;\n}\n\n/**\n * Override props assigned to save component to inject the CSS variables definition.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n * @param {?Record<string, string[]>} skipPaths An object of keys and paths to skip serialization.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps(\n\tprops,\n\tblockNameOrType,\n\tattributes,\n\tskipPaths = skipSerializationPathsSave\n) {\n\tif ( ! hasStyleSupport( blockNameOrType ) ) {\n\t\treturn props;\n\t}\n\n\tlet { style } = attributes;\n\tObject.entries( skipPaths ).forEach( ( [ indicator, path ] ) => {\n\t\tconst skipSerialization =\n\t\t\tskipSerializationPathsSaveChecks[ indicator ] ||\n\t\t\tgetBlockSupport( blockNameOrType, indicator );\n\n\t\tif ( skipSerialization === true ) {\n\t\t\tstyle = omitStyle( style, path );\n\t\t}\n\n\t\tif ( Array.isArray( skipSerialization ) ) {\n\t\t\tskipSerialization.forEach( ( featureName ) => {\n\t\t\t\tconst feature = renamedFeatures[ featureName ] || featureName;\n\t\t\t\tstyle = omitStyle( style, [ [ ...path, feature ] ] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\tprops.style = {\n\t\t...getInlineStyles( style ),\n\t\t...props.style,\n\t};\n\n\treturn props;\n}\n\nfunction BlockStyleControls( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\t__unstableParentLayout,\n} ) {\n\tconst settings = useBlockSettings( name, __unstableParentLayout );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst passedProps = {\n\t\tclientId,\n\t\tname,\n\t\tsetAttributes,\n\t\tsettings,\n\t};\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorEdit { ...passedProps } />\n\t\t\t<BackgroundImagePanel { ...passedProps } />\n\t\t\t<TypographyPanel { ...passedProps } />\n\t\t\t<BorderPanel { ...passedProps } />\n\t\t\t<DimensionsPanel { ...passedProps } />\n\t\t\t<EffectsPanel { ...passedProps } />\n\t\t</>\n\t);\n}\n\nexport default {\n\tedit: BlockStyleControls,\n\thasSupport: hasStyleSupport,\n\taddSaveProps,\n\tattributeKeys: [ 'style' ],\n\tuseBlockProps,\n};\n\n// Defines which element types are supported, including their hover styles or\n// any other elements that have been included under a single element type\n// e.g. heading and h1-h6.\nconst elementTypes = [\n\t{ elementType: 'button' },\n\t{ elementType: 'link', pseudo: [ ':hover' ] },\n\t{\n\t\telementType: 'heading',\n\t\telements: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n\t},\n];\n\nfunction useBlockProps( { name, style } ) {\n\tconst blockElementsContainerIdentifier = `wp-elements-${ useInstanceId(\n\t\tuseBlockProps\n\t) }`;\n\n\t// The .editor-styles-wrapper selector is required on elements styles. As it is\n\t// added to all other editor styles, not providing it causes reset and global\n\t// styles to override element styles because of higher specificity.\n\tconst baseElementSelector = `.editor-styles-wrapper .${ blockElementsContainerIdentifier }`;\n\tconst blockElementStyles = style?.elements;\n\n\tconst styles = useMemo( () => {\n\t\tif ( ! blockElementStyles ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementCSSRules = [];\n\n\t\telementTypes.forEach( ( { elementType, pseudo, elements } ) => {\n\t\t\tconst skipSerialization = shouldSkipSerialization(\n\t\t\t\tname,\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\telementType\n\t\t\t);\n\n\t\t\tif ( skipSerialization ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst elementStyles = blockElementStyles?.[ elementType ];\n\n\t\t\t// Process primary element type styles.\n\t\t\tif ( elementStyles ) {\n\t\t\t\tconst selector = scopeSelector(\n\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\tELEMENTS[ elementType ]\n\t\t\t\t);\n\n\t\t\t\telementCSSRules.push(\n\t\t\t\t\tcompileCSS( elementStyles, { selector } )\n\t\t\t\t);\n\n\t\t\t\t// Process any interactive states for the element type.\n\t\t\t\tif ( pseudo ) {\n\t\t\t\t\tpseudo.forEach( ( pseudoSelector ) => {\n\t\t\t\t\t\tif ( elementStyles[ pseudoSelector ] ) {\n\t\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\t\tcompileCSS( elementStyles[ pseudoSelector ], {\n\t\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\t\t`${ ELEMENTS[ elementType ] }${ pseudoSelector }`\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);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process related elements e.g. h1-h6 for headings\n\t\t\tif ( elements ) {\n\t\t\t\telements.forEach( ( element ) => {\n\t\t\t\t\tif ( blockElementStyles[ element ] ) {\n\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\tcompileCSS( blockElementStyles[ element ], {\n\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\tELEMENTS[ element ]\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\n\t\treturn elementCSSRules.length > 0\n\t\t\t? elementCSSRules.join( '' )\n\t\t\t: undefined;\n\t}, [ baseElementSelector, blockElementStyles, name ] );\n\n\tuseStyleOverride( { css: styles } );\n\n\treturn addSaveProps(\n\t\t{ className: blockElementsContainerIdentifier },\n\t\tname,\n\t\t{ style },\n\t\tskipSerializationPathsEdit\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/style/addAttribute',\n\taddAttribute\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_hooks","_blocks","_compose","_styleEngine","_background","_border","_color","_typography","_dimensions","_utils","_utils2","_blockEditingMode","styleSupportKeys","TYPOGRAPHY_SUPPORT_KEYS","BORDER_SUPPORT_KEY","COLOR_SUPPORT_KEY","DIMENSIONS_SUPPORT_KEY","BACKGROUND_SUPPORT_KEY","SPACING_SUPPORT_KEY","SHADOW_SUPPORT_KEY","hasStyleSupport","nameOrType","some","key","hasBlockSupport","getInlineStyles","styles","output","getCSSRules","forEach","rule","value","addAttribute","settings","attributes","style","Object","assign","type","skipSerializationPathsEdit","TYPOGRAPHY_SUPPORT_KEY","skipSerializationPathsSave","skipSerializationPathsSaveChecks","renamedFeatures","gradients","omitStyle","paths","preserveReference","newStyle","JSON","parse","stringify","Array","isArray","path","split","length","firstSubpath","restPath","addSaveProps","props","blockNameOrType","skipPaths","entries","indicator","skipSerialization","getBlockSupport","featureName","feature","BlockStyleControls","clientId","name","setAttributes","__unstableParentLayout","useBlockSettings","blockEditingMode","useBlockEditingMode","passedProps","_react","createElement","Fragment","ColorEdit","BackgroundImagePanel","TypographyPanel","BorderPanel","DimensionsPanel","_default","exports","default","edit","hasSupport","attributeKeys","useBlockProps","elementTypes","elementType","pseudo","elements","blockElementsContainerIdentifier","useInstanceId","baseElementSelector","blockElementStyles","useMemo","elementCSSRules","shouldSkipSerialization","elementStyles","selector","scopeSelector","ELEMENTS","push","compileCSS","pseudoSelector","element","join","undefined","useStyleOverride","css","className","addFilter"],"sources":["@wordpress/block-editor/src/hooks/style.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\thasBlockSupport,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { getCSSRules, compileCSS } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { BACKGROUND_SUPPORT_KEY, BackgroundImagePanel } from './background';\nimport { BORDER_SUPPORT_KEY, BorderPanel, SHADOW_SUPPORT_KEY } from './border';\nimport { COLOR_SUPPORT_KEY, ColorEdit } from './color';\nimport {\n\tTypographyPanel,\n\tTYPOGRAPHY_SUPPORT_KEY,\n\tTYPOGRAPHY_SUPPORT_KEYS,\n} from './typography';\nimport {\n\tDIMENSIONS_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tDimensionsPanel,\n} from './dimensions';\nimport {\n\tshouldSkipSerialization,\n\tuseStyleOverride,\n\tuseBlockSettings,\n} from './utils';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\nconst styleSupportKeys = [\n\t...TYPOGRAPHY_SUPPORT_KEYS,\n\tBORDER_SUPPORT_KEY,\n\tCOLOR_SUPPORT_KEY,\n\tDIMENSIONS_SUPPORT_KEY,\n\tBACKGROUND_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tSHADOW_SUPPORT_KEY,\n];\n\nconst hasStyleSupport = ( nameOrType ) =>\n\tstyleSupportKeys.some( ( key ) => hasBlockSupport( nameOrType, key ) );\n\n/**\n * Returns the inline styles to add depending on the style object\n *\n * @param {Object} styles Styles configuration.\n *\n * @return {Object} Flattened CSS variables declaration.\n */\nexport function getInlineStyles( styles = {} ) {\n\tconst output = {};\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tgetCSSRules( styles ).forEach( ( rule ) => {\n\t\toutput[ rule.key ] = rule.value;\n\t} );\n\n\treturn output;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `style` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttribute( settings ) {\n\tif ( ! hasStyleSupport( settings ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsEdit = {\n\t[ `${ BORDER_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [ 'border' ],\n\t[ `${ COLOR_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tCOLOR_SUPPORT_KEY,\n\t],\n\t[ `${ TYPOGRAPHY_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t],\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t],\n\t[ `${ SPACING_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSPACING_SUPPORT_KEY,\n\t],\n\t[ `${ SHADOW_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSHADOW_SUPPORT_KEY,\n\t],\n};\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * Extends the Edit skip paths to enable skipping additional paths in just\n * the Save component. This allows a block support to be serialized within the\n * editor, while using an alternate approach, such as server-side rendering, when\n * the support is saved.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsSave = {\n\t...skipSerializationPathsEdit,\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: [\n\t\t`${ DIMENSIONS_SUPPORT_KEY }.aspectRatio`,\n\t], // Skip serialization of aspect ratio in save mode.\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: [ BACKGROUND_SUPPORT_KEY ], // Skip serialization of background support in save mode.\n};\n\nconst skipSerializationPathsSaveChecks = {\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: true,\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: true,\n};\n\n/**\n * A dictionary used to normalize feature names between support flags, style\n * object properties and __experimentSkipSerialization configuration arrays.\n *\n * This allows not having to provide a migration for a support flag and possible\n * backwards compatibility bridges, while still achieving consistency between\n * the support flag and the skip serialization array.\n *\n * @constant\n * @type {Record<string, string>}\n */\nconst renamedFeatures = { gradients: 'gradient' };\n\n/**\n * A utility function used to remove one or more paths from a style object.\n * Works in a way similar to Lodash's `omit()`. See unit tests and examples below.\n *\n * It supports a single string path:\n *\n * ```\n * omitStyle( { color: 'red' }, 'color' ); // {}\n * ```\n *\n * or an array of paths:\n *\n * ```\n * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {}\n * ```\n *\n * It also allows you to specify paths at multiple levels in a string.\n *\n * ```\n * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {}\n * ```\n *\n * You can remove multiple paths at the same time:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t'typography.textDecoration',\n * \t\t\t'typography.textTransform',\n *\t\t]\n * );\n * // {}\n * ```\n *\n * You can also specify nested paths as arrays:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'typography', 'textDecoration' ],\n * \t\t\t[ 'typography', 'textTransform' ],\n *\t\t]\n * );\n * // {}\n * ```\n *\n * With regards to nesting of styles, infinite depth is supported:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\tborder: {\n * \t\t\t\tradius: {\n * \t\t\t\t\ttopLeft: '10px',\n * \t\t\t\t\ttopRight: '0.5rem',\n * \t\t\t\t}\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'border', 'radius', 'topRight' ],\n *\t\t]\n * );\n * // { border: { radius: { topLeft: '10px' } } }\n * ```\n *\n * The third argument, `preserveReference`, defines how to treat the input style object.\n * It is mostly necessary to properly handle mutation when recursively handling the style object.\n * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`.\n * However, when recursing, we change that value to `true` in order to work with a single copy\n * of the original style object.\n *\n * @see https://lodash.com/docs/4.17.15#omit\n *\n * @param {Object} style Styles object.\n * @param {Array|string} paths Paths to remove.\n * @param {boolean} preserveReference True to mutate the `style` object, false otherwise.\n * @return {Object} Styles object with the specified paths removed.\n */\nexport function omitStyle( style, paths, preserveReference = false ) {\n\tif ( ! style ) {\n\t\treturn style;\n\t}\n\n\tlet newStyle = style;\n\tif ( ! preserveReference ) {\n\t\tnewStyle = JSON.parse( JSON.stringify( style ) );\n\t}\n\n\tif ( ! Array.isArray( paths ) ) {\n\t\tpaths = [ paths ];\n\t}\n\n\tpaths.forEach( ( path ) => {\n\t\tif ( ! Array.isArray( path ) ) {\n\t\t\tpath = path.split( '.' );\n\t\t}\n\n\t\tif ( path.length > 1 ) {\n\t\t\tconst [ firstSubpath, ...restPath ] = path;\n\t\t\tomitStyle( newStyle[ firstSubpath ], [ restPath ], true );\n\t\t} else if ( path.length === 1 ) {\n\t\t\tdelete newStyle[ path[ 0 ] ];\n\t\t}\n\t} );\n\n\treturn newStyle;\n}\n\n/**\n * Override props assigned to save component to inject the CSS variables definition.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n * @param {?Record<string, string[]>} skipPaths An object of keys and paths to skip serialization.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps(\n\tprops,\n\tblockNameOrType,\n\tattributes,\n\tskipPaths = skipSerializationPathsSave\n) {\n\tif ( ! hasStyleSupport( blockNameOrType ) ) {\n\t\treturn props;\n\t}\n\n\tlet { style } = attributes;\n\tObject.entries( skipPaths ).forEach( ( [ indicator, path ] ) => {\n\t\tconst skipSerialization =\n\t\t\tskipSerializationPathsSaveChecks[ indicator ] ||\n\t\t\tgetBlockSupport( blockNameOrType, indicator );\n\n\t\tif ( skipSerialization === true ) {\n\t\t\tstyle = omitStyle( style, path );\n\t\t}\n\n\t\tif ( Array.isArray( skipSerialization ) ) {\n\t\t\tskipSerialization.forEach( ( featureName ) => {\n\t\t\t\tconst feature = renamedFeatures[ featureName ] || featureName;\n\t\t\t\tstyle = omitStyle( style, [ [ ...path, feature ] ] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\tprops.style = {\n\t\t...getInlineStyles( style ),\n\t\t...props.style,\n\t};\n\n\treturn props;\n}\n\nfunction BlockStyleControls( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\t__unstableParentLayout,\n} ) {\n\tconst settings = useBlockSettings( name, __unstableParentLayout );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst passedProps = {\n\t\tclientId,\n\t\tname,\n\t\tsetAttributes,\n\t\tsettings,\n\t};\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorEdit { ...passedProps } />\n\t\t\t<BackgroundImagePanel { ...passedProps } />\n\t\t\t<TypographyPanel { ...passedProps } />\n\t\t\t<BorderPanel { ...passedProps } />\n\t\t\t<DimensionsPanel { ...passedProps } />\n\t\t</>\n\t);\n}\n\nexport default {\n\tedit: BlockStyleControls,\n\thasSupport: hasStyleSupport,\n\taddSaveProps,\n\tattributeKeys: [ 'style' ],\n\tuseBlockProps,\n};\n\n// Defines which element types are supported, including their hover styles or\n// any other elements that have been included under a single element type\n// e.g. heading and h1-h6.\nconst elementTypes = [\n\t{ elementType: 'button' },\n\t{ elementType: 'link', pseudo: [ ':hover' ] },\n\t{\n\t\telementType: 'heading',\n\t\telements: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n\t},\n];\n\nfunction useBlockProps( { name, style } ) {\n\tconst blockElementsContainerIdentifier = `wp-elements-${ useInstanceId(\n\t\tuseBlockProps\n\t) }`;\n\n\t// The .editor-styles-wrapper selector is required on elements styles. As it is\n\t// added to all other editor styles, not providing it causes reset and global\n\t// styles to override element styles because of higher specificity.\n\tconst baseElementSelector = `.editor-styles-wrapper .${ blockElementsContainerIdentifier }`;\n\tconst blockElementStyles = style?.elements;\n\n\tconst styles = useMemo( () => {\n\t\tif ( ! blockElementStyles ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementCSSRules = [];\n\n\t\telementTypes.forEach( ( { elementType, pseudo, elements } ) => {\n\t\t\tconst skipSerialization = shouldSkipSerialization(\n\t\t\t\tname,\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\telementType\n\t\t\t);\n\n\t\t\tif ( skipSerialization ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst elementStyles = blockElementStyles?.[ elementType ];\n\n\t\t\t// Process primary element type styles.\n\t\t\tif ( elementStyles ) {\n\t\t\t\tconst selector = scopeSelector(\n\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\tELEMENTS[ elementType ]\n\t\t\t\t);\n\n\t\t\t\telementCSSRules.push(\n\t\t\t\t\tcompileCSS( elementStyles, { selector } )\n\t\t\t\t);\n\n\t\t\t\t// Process any interactive states for the element type.\n\t\t\t\tif ( pseudo ) {\n\t\t\t\t\tpseudo.forEach( ( pseudoSelector ) => {\n\t\t\t\t\t\tif ( elementStyles[ pseudoSelector ] ) {\n\t\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\t\tcompileCSS( elementStyles[ pseudoSelector ], {\n\t\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\t\t`${ ELEMENTS[ elementType ] }${ pseudoSelector }`\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);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process related elements e.g. h1-h6 for headings\n\t\t\tif ( elements ) {\n\t\t\t\telements.forEach( ( element ) => {\n\t\t\t\t\tif ( blockElementStyles[ element ] ) {\n\t\t\t\t\t\telementCSSRules.push(\n\t\t\t\t\t\t\tcompileCSS( blockElementStyles[ element ], {\n\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\tbaseElementSelector,\n\t\t\t\t\t\t\t\t\tELEMENTS[ element ]\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\n\t\treturn elementCSSRules.length > 0\n\t\t\t? elementCSSRules.join( '' )\n\t\t\t: undefined;\n\t}, [ baseElementSelector, blockElementStyles, name ] );\n\n\tuseStyleOverride( { css: styles } );\n\n\treturn addSaveProps(\n\t\t{ className: blockElementsContainerIdentifier },\n\t\tname,\n\t\t{ style },\n\t\tskipSerializationPathsEdit\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/style/addAttribute',\n\taddAttribute\n);\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAKA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAKA,IAAAS,WAAA,GAAAT,OAAA;AAKA,IAAAU,MAAA,GAAAV,OAAA;AAKA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,iBAAA,GAAAZ,OAAA;AAnCA;AACA;AACA;;AAWA;AACA;AACA;;AAsBA,MAAMa,gBAAgB,GAAG,CACxB,GAAGC,mCAAuB,EAC1BC,0BAAkB,EAClBC,wBAAiB,EACjBC,kCAAsB,EACtBC,kCAAsB,EACtBC,+BAAmB,EACnBC,0BAAkB,CAClB;AAED,MAAMC,eAAe,GAAKC,UAAU,IACnCT,gBAAgB,CAACU,IAAI,CAAIC,GAAG,IAAM,IAAAC,uBAAe,EAAEH,UAAU,EAAEE,GAAI,CAAE,CAAC;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAEC,MAAM,GAAG,CAAC,CAAC,EAAG;EAC9C,MAAMC,MAAM,GAAG,CAAC,CAAC;EACjB;EACA;EACA,IAAAC,wBAAW,EAAEF,MAAO,CAAC,CAACG,OAAO,CAAIC,IAAI,IAAM;IAC1CH,MAAM,CAAEG,IAAI,CAACP,GAAG,CAAE,GAAGO,IAAI,CAACC,KAAK;EAChC,CAAE,CAAC;EAEH,OAAOJ,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,YAAYA,CAAEC,QAAQ,EAAG;EACjC,IAAK,CAAEb,eAAe,CAAEa,QAAS,CAAC,EAAG;IACpC,OAAOA,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACC,UAAU,CAACC,KAAK,EAAG;IAClCC,MAAM,CAACC,MAAM,CAAEJ,QAAQ,CAACC,UAAU,EAAE;MACnCC,KAAK,EAAE;QACNG,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAOL,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMM,0BAA0B,GAAG;EAClC,CAAG,GAAGzB,0BAAoB,kCAAiC,GAAI,CAAE,QAAQ,CAAE;EAC3E,CAAG,GAAGC,wBAAmB,kCAAiC,GAAI,CAC7DA,wBAAiB,CACjB;EACD,CAAG,GAAGyB,kCAAwB,kCAAiC,GAAI,CAClEA,kCAAsB,CACtB;EACD,CAAG,GAAGxB,kCAAwB,kCAAiC,GAAI,CAClEA,kCAAsB,CACtB;EACD,CAAG,GAAGE,+BAAqB,kCAAiC,GAAI,CAC/DA,+BAAmB,CACnB;EACD,CAAG,GAAGC,0BAAoB,kCAAiC,GAAI,CAC9DA,0BAAkB;AAEpB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMsB,0BAA0B,GAAG;EAClC,GAAGF,0BAA0B;EAC7B,CAAG,GAAGvB,kCAAwB,cAAa,GAAI,CAC7C,GAAGA,kCAAwB,cAAa,CACzC;EAAE;EACH,CAAG,GAAGC,kCAAwB,EAAC,GAAI,CAAEA,kCAAsB,CAAE,CAAE;AAChE,CAAC;AAED,MAAMyB,gCAAgC,GAAG;EACxC,CAAG,GAAG1B,kCAAwB,cAAa,GAAI,IAAI;EACnD,CAAG,GAAGC,kCAAwB,EAAC,GAAI;AACpC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM0B,eAAe,GAAG;EAAEC,SAAS,EAAE;AAAW,CAAC;;AAEjD;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;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;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"}
@@ -18,8 +18,8 @@ var _fontFamily = require("./font-family");
18
18
  var _fontSize = require("./font-size");
19
19
  var _utils = require("./utils");
20
20
  var _store = require("../store");
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
23
  /**
24
24
  * WordPress dependencies
25
25
  */
@@ -38,10 +38,8 @@ const TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns';
38
38
  const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';
39
39
  const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';
40
40
  const WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode';
41
- const TYPOGRAPHY_SUPPORT_KEY = 'typography';
42
- exports.TYPOGRAPHY_SUPPORT_KEY = TYPOGRAPHY_SUPPORT_KEY;
43
- const TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, _fontFamily.FONT_FAMILY_SUPPORT_KEY, TEXT_COLUMNS_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, WRITING_MODE_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY];
44
- exports.TYPOGRAPHY_SUPPORT_KEYS = TYPOGRAPHY_SUPPORT_KEYS;
41
+ const TYPOGRAPHY_SUPPORT_KEY = exports.TYPOGRAPHY_SUPPORT_KEY = 'typography';
42
+ const TYPOGRAPHY_SUPPORT_KEYS = exports.TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, _fontFamily.FONT_FAMILY_SUPPORT_KEY, TEXT_COLUMNS_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, WRITING_MODE_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY];
45
43
  function styleToAttributes(style) {
46
44
  const updatedStyle = {
47
45
  ...omit(style, ['fontFamily'])
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_element","_data","_inspectorControls","_interopRequireDefault","_typographyPanel","_interopRequireWildcard","_lineHeight","_fontFamily","_fontSize","_utils","_store","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","omit","object","keys","fromEntries","entries","filter","includes","LETTER_SPACING_SUPPORT_KEY","TEXT_TRANSFORM_SUPPORT_KEY","TEXT_DECORATION_SUPPORT_KEY","TEXT_COLUMNS_SUPPORT_KEY","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","WRITING_MODE_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEY","exports","TYPOGRAPHY_SUPPORT_KEYS","LINE_HEIGHT_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","FONT_FAMILY_SUPPORT_KEY","styleToAttributes","style","updatedStyle","fontSizeValue","typography","fontSize","fontFamilyValue","fontFamily","fontSizeSlug","startsWith","substring","length","undefined","fontFamilySlug","cleanEmptyObject","attributesToStyle","attributes","TypographyInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","existingStyle","_react","createElement","group","TypographyPanel","clientId","name","setAttributes","settings","selector","select","blockEditorStore","getBlockAttributes","useSelect","isEnabled","useHasTypographyPanel","value","useMemo","onChange","newStyle","defaultControls","getBlockSupport","as","panelId","hasTypographySupport","blockName","some","hasBlockSupport"],"sources":["@wordpress/block-editor/src/hooks/typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tdefault as StylesTypographyPanel,\n\tuseHasTypographyPanel,\n} from '../components/global-styles/typography-panel';\n\nimport { LINE_HEIGHT_SUPPORT_KEY } from './line-height';\nimport { FONT_FAMILY_SUPPORT_KEY } from './font-family';\nimport { FONT_SIZE_SUPPORT_KEY } from './font-size';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nfunction omit( object, keys ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).filter( ( [ key ] ) => ! keys.includes( key ) )\n\t);\n}\n\nconst LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';\nconst TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';\nconst TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';\nconst TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns';\nconst FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\nconst FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\nconst WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode';\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFONT_FAMILY_SUPPORT_KEY,\n\tTEXT_COLUMNS_SUPPORT_KEY,\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tWRITING_MODE_SUPPORT_KEY,\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tLETTER_SPACING_SUPPORT_KEY,\n];\n\nfunction styleToAttributes( style ) {\n\tconst updatedStyle = { ...omit( style, [ 'fontFamily' ] ) };\n\tconst fontSizeValue = style?.typography?.fontSize;\n\tconst fontFamilyValue = style?.typography?.fontFamily;\n\tconst fontSizeSlug = fontSizeValue?.startsWith( 'var:preset|font-size|' )\n\t\t? fontSizeValue.substring( 'var:preset|font-size|'.length )\n\t\t: undefined;\n\tconst fontFamilySlug = fontFamilyValue?.startsWith(\n\t\t'var:preset|font-family|'\n\t)\n\t\t? fontFamilyValue.substring( 'var:preset|font-family|'.length )\n\t\t: undefined;\n\tupdatedStyle.typography = {\n\t\t...omit( updatedStyle.typography, [ 'fontFamily' ] ),\n\t\tfontSize: fontSizeSlug ? undefined : fontSizeValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\tfontFamily: fontFamilySlug,\n\t\tfontSize: fontSizeSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\ttypography: {\n\t\t\t...attributes.style?.typography,\n\t\t\tfontFamily: attributes.fontFamily\n\t\t\t\t? 'var:preset|font-family|' + attributes.fontFamily\n\t\t\t\t: undefined,\n\t\t\tfontSize: attributes.fontSize\n\t\t\t\t? 'var:preset|font-size|' + attributes.fontSize\n\t\t\t\t: attributes.style?.typography?.fontSize,\n\t\t},\n\t};\n}\n\nfunction TypographyInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"typography\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function TypographyPanel( { clientId, name, setAttributes, settings } ) {\n\tfunction selector( select ) {\n\t\tconst { style, fontFamily, fontSize } =\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\treturn { style, fontFamily, fontSize };\n\t}\n\tconst { style, fontFamily, fontSize } = useSelect( selector, [ clientId ] );\n\tconst isEnabled = useHasTypographyPanel( settings );\n\tconst value = useMemo(\n\t\t() => attributesToStyle( { style, fontFamily, fontSize } ),\n\t\t[ style, fontSize, fontFamily ]\n\t);\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( styleToAttributes( newStyle ) );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\treturn (\n\t\t<StylesTypographyPanel\n\t\t\tas={ TypographyInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t/>\n\t);\n}\n\nexport const hasTypographySupport = ( blockName ) => {\n\treturn TYPOGRAPHY_SUPPORT_KEYS.some( ( key ) =>\n\t\thasBlockSupport( blockName, key )\n\t);\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_element","_data","_inspectorControls","_interopRequireDefault","_typographyPanel","_interopRequireWildcard","_lineHeight","_fontFamily","_fontSize","_utils","_store","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","omit","object","keys","fromEntries","entries","filter","key","includes","LETTER_SPACING_SUPPORT_KEY","TEXT_TRANSFORM_SUPPORT_KEY","TEXT_DECORATION_SUPPORT_KEY","TEXT_COLUMNS_SUPPORT_KEY","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","WRITING_MODE_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEY","exports","TYPOGRAPHY_SUPPORT_KEYS","LINE_HEIGHT_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","FONT_FAMILY_SUPPORT_KEY","styleToAttributes","style","updatedStyle","fontSizeValue","typography","fontSize","fontFamilyValue","fontFamily","fontSizeSlug","startsWith","substring","length","undefined","fontFamilySlug","cleanEmptyObject","attributesToStyle","attributes","TypographyInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","existingStyle","_react","createElement","group","TypographyPanel","clientId","name","setAttributes","settings","selector","select","blockEditorStore","getBlockAttributes","useSelect","isEnabled","useHasTypographyPanel","value","useMemo","onChange","newStyle","defaultControls","getBlockSupport","as","panelId","hasTypographySupport","blockName","some","hasBlockSupport"],"sources":["@wordpress/block-editor/src/hooks/typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tdefault as StylesTypographyPanel,\n\tuseHasTypographyPanel,\n} from '../components/global-styles/typography-panel';\n\nimport { LINE_HEIGHT_SUPPORT_KEY } from './line-height';\nimport { FONT_FAMILY_SUPPORT_KEY } from './font-family';\nimport { FONT_SIZE_SUPPORT_KEY } from './font-size';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nfunction omit( object, keys ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).filter( ( [ key ] ) => ! keys.includes( key ) )\n\t);\n}\n\nconst LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';\nconst TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';\nconst TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';\nconst TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns';\nconst FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\nconst FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\nconst WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode';\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFONT_FAMILY_SUPPORT_KEY,\n\tTEXT_COLUMNS_SUPPORT_KEY,\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tWRITING_MODE_SUPPORT_KEY,\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tLETTER_SPACING_SUPPORT_KEY,\n];\n\nfunction styleToAttributes( style ) {\n\tconst updatedStyle = { ...omit( style, [ 'fontFamily' ] ) };\n\tconst fontSizeValue = style?.typography?.fontSize;\n\tconst fontFamilyValue = style?.typography?.fontFamily;\n\tconst fontSizeSlug = fontSizeValue?.startsWith( 'var:preset|font-size|' )\n\t\t? fontSizeValue.substring( 'var:preset|font-size|'.length )\n\t\t: undefined;\n\tconst fontFamilySlug = fontFamilyValue?.startsWith(\n\t\t'var:preset|font-family|'\n\t)\n\t\t? fontFamilyValue.substring( 'var:preset|font-family|'.length )\n\t\t: undefined;\n\tupdatedStyle.typography = {\n\t\t...omit( updatedStyle.typography, [ 'fontFamily' ] ),\n\t\tfontSize: fontSizeSlug ? undefined : fontSizeValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\tfontFamily: fontFamilySlug,\n\t\tfontSize: fontSizeSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\ttypography: {\n\t\t\t...attributes.style?.typography,\n\t\t\tfontFamily: attributes.fontFamily\n\t\t\t\t? 'var:preset|font-family|' + attributes.fontFamily\n\t\t\t\t: undefined,\n\t\t\tfontSize: attributes.fontSize\n\t\t\t\t? 'var:preset|font-size|' + attributes.fontSize\n\t\t\t\t: attributes.style?.typography?.fontSize,\n\t\t},\n\t};\n}\n\nfunction TypographyInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"typography\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function TypographyPanel( { clientId, name, setAttributes, settings } ) {\n\tfunction selector( select ) {\n\t\tconst { style, fontFamily, fontSize } =\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\treturn { style, fontFamily, fontSize };\n\t}\n\tconst { style, fontFamily, fontSize } = useSelect( selector, [ clientId ] );\n\tconst isEnabled = useHasTypographyPanel( settings );\n\tconst value = useMemo(\n\t\t() => attributesToStyle( { style, fontFamily, fontSize } ),\n\t\t[ style, fontSize, fontFamily ]\n\t);\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( styleToAttributes( newStyle ) );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\treturn (\n\t\t<StylesTypographyPanel\n\t\t\tas={ TypographyInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t/>\n\t);\n}\n\nexport const hasTypographySupport = ( blockName ) => {\n\treturn TYPOGRAPHY_SUPPORT_KEYS.some( ( key ) =>\n\t\thasBlockSupport( blockName, key )\n\t);\n};\n"],"mappings":"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"}
@@ -23,10 +23,8 @@ var _fontSize = require("./font-size");
23
23
  * Internal dependencies
24
24
  */
25
25
 
26
- const TYPOGRAPHY_SUPPORT_KEY = 'typography';
27
- exports.TYPOGRAPHY_SUPPORT_KEY = TYPOGRAPHY_SUPPORT_KEY;
28
- const TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY];
29
- exports.TYPOGRAPHY_SUPPORT_KEYS = TYPOGRAPHY_SUPPORT_KEYS;
26
+ const TYPOGRAPHY_SUPPORT_KEY = exports.TYPOGRAPHY_SUPPORT_KEY = 'typography';
27
+ const TYPOGRAPHY_SUPPORT_KEYS = exports.TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY];
30
28
  function TypographyPanelPure({
31
29
  clientId,
32
30
  setAttributes,
@@ -71,6 +69,5 @@ function TypographyPanelPure({
71
69
  // We don't want block controls to re-render when typing inside a block. `pure`
72
70
  // will prevent re-renders unless props change, so only pass the needed props
73
71
  // and not the whole attributes object.
74
- const TypographyPanel = (0, _element.memo)(TypographyPanelPure);
75
- exports.TypographyPanel = TypographyPanel;
72
+ const TypographyPanel = exports.TypographyPanel = (0, _element.memo)(TypographyPanelPure);
76
73
  //# sourceMappingURL=typography.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_components","_i18n","_inspectorControls","_interopRequireDefault","_typographyPanel","_store","_lineHeight","_fontSize","TYPOGRAPHY_SUPPORT_KEY","exports","TYPOGRAPHY_SUPPORT_KEYS","LINE_HEIGHT_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","TypographyPanelPure","clientId","setAttributes","settings","selector","select","style","fontFamily","fontSize","blockEditorStore","getBlockAttributes","useSelect","isEnabled","useHasTypographyPanel","props","attributes","_react","createElement","default","PanelBody","title","__","FontSizeEdit","LineHeightEdit","TypographyPanel","memo"],"sources":["@wordpress/block-editor/src/hooks/typography.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { memo } from '@wordpress/element';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport { useHasTypographyPanel } from '../components/global-styles/typography-panel';\n\nimport { store as blockEditorStore } from '../store';\n\nimport { LINE_HEIGHT_SUPPORT_KEY, LineHeightEdit } from './line-height';\nimport { FONT_SIZE_SUPPORT_KEY, FontSizeEdit } from './font-size';\n\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n];\n\nfunction TypographyPanelPure( { clientId, setAttributes, settings } ) {\n\tfunction selector( select ) {\n\t\tconst { style, fontFamily, fontSize } =\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\treturn { style, fontFamily, fontSize };\n\t}\n\tconst { style, fontSize } = useSelect( selector, [ clientId ] );\n\tconst isEnabled = useHasTypographyPanel( settings );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst props = {\n\t\tattributes: {\n\t\t\tfontSize,\n\t\t\tstyle,\n\t\t},\n\t\tsetAttributes,\n\t};\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Typography' ) }>\n\t\t\t\t<FontSizeEdit { ...props } />\n\t\t\t\t<LineHeightEdit { ...props } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\n// We don't want block controls to re-render when typing inside a block. `pure`\n// will prevent re-renders unless props change, so only pass the needed props\n// and not the whole attributes object.\nexport const TypographyPanel = memo( TypographyPanelPure );\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,kBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAjBA;AACA;AACA;;AAMA;AACA;AACA;;AASO,MAAMU,sBAAsB,GAAG,YAAY;AAACC,OAAA,CAAAD,sBAAA,GAAAA,sBAAA;AAC5C,MAAME,uBAAuB,GAAG,CACtCC,mCAAuB,EACvBC,+BAAqB,CACrB;AAACH,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEF,SAASG,mBAAmBA,CAAE;EAAEC,QAAQ;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EACrE,SAASC,QAAQA,CAAEC,MAAM,EAAG;IAC3B,MAAM;MAAEC,KAAK;MAAEC,UAAU;MAAEC;IAAS,CAAC,GACpCH,MAAM,CAAEI,YAAiB,CAAC,CAACC,kBAAkB,CAAET,QAAS,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO;MAAEK,KAAK;MAAEC,UAAU;MAAEC;IAAS,CAAC;EACvC;EACA,MAAM;IAAEF,KAAK;IAAEE;EAAS,CAAC,GAAG,IAAAG,eAAS,EAAEP,QAAQ,EAAE,CAAEH,QAAQ,CAAG,CAAC;EAC/D,MAAMW,SAAS,GAAG,IAAAC,sCAAqB,EAAEV,QAAS,CAAC;EAEnD,IAAK,CAAES,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAME,KAAK,GAAG;IACbC,UAAU,EAAE;MACXP,QAAQ;MACRF;IACD,CAAC;IACDJ;EACD,CAAC;EAED,OACC,IAAAc,MAAA,CAAAC,aAAA,EAAC5B,kBAAA,CAAA6B,OAAiB,QACjB,IAAAF,MAAA,CAAAC,aAAA,EAAC9B,WAAA,CAAAgC,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa;EAAG,GACtC,IAAAL,MAAA,CAAAC,aAAA,EAACvB,SAAA,CAAA4B,YAAY;IAAA,GAAMR;EAAK,CAAI,CAAC,EAC7B,IAAAE,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA8B,cAAc;IAAA,GAAMT;EAAK,CAAI,CACpB,CACO,CAAC;AAEtB;;AAEA;AACA;AACA;AACO,MAAMU,eAAe,GAAG,IAAAC,aAAI,EAAEzB,mBAAoB,CAAC;AAACJ,OAAA,CAAA4B,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_data","require","_element","_components","_i18n","_inspectorControls","_interopRequireDefault","_typographyPanel","_store","_lineHeight","_fontSize","TYPOGRAPHY_SUPPORT_KEY","exports","TYPOGRAPHY_SUPPORT_KEYS","LINE_HEIGHT_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","TypographyPanelPure","clientId","setAttributes","settings","selector","select","style","fontFamily","fontSize","blockEditorStore","getBlockAttributes","useSelect","isEnabled","useHasTypographyPanel","props","attributes","_react","createElement","default","PanelBody","title","__","FontSizeEdit","LineHeightEdit","TypographyPanel","memo"],"sources":["@wordpress/block-editor/src/hooks/typography.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { memo } from '@wordpress/element';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport { useHasTypographyPanel } from '../components/global-styles/typography-panel';\n\nimport { store as blockEditorStore } from '../store';\n\nimport { LINE_HEIGHT_SUPPORT_KEY, LineHeightEdit } from './line-height';\nimport { FONT_SIZE_SUPPORT_KEY, FontSizeEdit } from './font-size';\n\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n];\n\nfunction TypographyPanelPure( { clientId, setAttributes, settings } ) {\n\tfunction selector( select ) {\n\t\tconst { style, fontFamily, fontSize } =\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\treturn { style, fontFamily, fontSize };\n\t}\n\tconst { style, fontSize } = useSelect( selector, [ clientId ] );\n\tconst isEnabled = useHasTypographyPanel( settings );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst props = {\n\t\tattributes: {\n\t\t\tfontSize,\n\t\t\tstyle,\n\t\t},\n\t\tsetAttributes,\n\t};\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Typography' ) }>\n\t\t\t\t<FontSizeEdit { ...props } />\n\t\t\t\t<LineHeightEdit { ...props } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\n// We don't want block controls to re-render when typing inside a block. `pure`\n// will prevent re-renders unless props change, so only pass the needed props\n// and not the whole attributes object.\nexport const TypographyPanel = memo( TypographyPanelPure );\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,kBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAjBA;AACA;AACA;;AAMA;AACA;AACA;;AASO,MAAMU,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,YAAY;AAC3C,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG,CACtCC,mCAAuB,EACvBC,+BAAqB,CACrB;AAED,SAASC,mBAAmBA,CAAE;EAAEC,QAAQ;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EACrE,SAASC,QAAQA,CAAEC,MAAM,EAAG;IAC3B,MAAM;MAAEC,KAAK;MAAEC,UAAU;MAAEC;IAAS,CAAC,GACpCH,MAAM,CAAEI,YAAiB,CAAC,CAACC,kBAAkB,CAAET,QAAS,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO;MAAEK,KAAK;MAAEC,UAAU;MAAEC;IAAS,CAAC;EACvC;EACA,MAAM;IAAEF,KAAK;IAAEE;EAAS,CAAC,GAAG,IAAAG,eAAS,EAAEP,QAAQ,EAAE,CAAEH,QAAQ,CAAG,CAAC;EAC/D,MAAMW,SAAS,GAAG,IAAAC,sCAAqB,EAAEV,QAAS,CAAC;EAEnD,IAAK,CAAES,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAME,KAAK,GAAG;IACbC,UAAU,EAAE;MACXP,QAAQ;MACRF;IACD,CAAC;IACDJ;EACD,CAAC;EAED,OACC,IAAAc,MAAA,CAAAC,aAAA,EAAC5B,kBAAA,CAAA6B,OAAiB,QACjB,IAAAF,MAAA,CAAAC,aAAA,EAAC9B,WAAA,CAAAgC,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa;EAAG,GACtC,IAAAL,MAAA,CAAAC,aAAA,EAACvB,SAAA,CAAA4B,YAAY;IAAA,GAAMR;EAAK,CAAI,CAAC,EAC7B,IAAAE,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA8B,cAAc;IAAA,GAAMT;EAAK,CAAI,CACpB,CACO,CAAC;AAEtB;;AAEA;AACA;AACA;AACO,MAAMU,eAAe,GAAA5B,OAAA,CAAA4B,eAAA,GAAG,IAAAC,aAAI,EAAEzB,mBAAoB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BLOCK_BINDINGS_ALLOWED_BLOCKS = void 0;
3
7
  var _react = require("react");
4
8
  var _blocks = require("@wordpress/blocks");
5
9
  var _compose = require("@wordpress/compose");
@@ -26,7 +30,7 @@ var _lockUnlock = require("../lock-unlock");
26
30
  * @return {WPHigherOrderComponent} Higher-order component.
27
31
  */
28
32
 
29
- const BLOCK_BINDINGS_ALLOWED_BLOCKS = {
33
+ const BLOCK_BINDINGS_ALLOWED_BLOCKS = exports.BLOCK_BINDINGS_ALLOWED_BLOCKS = {
30
34
  'core/paragraph': ['content'],
31
35
  'core/heading': ['content'],
32
36
  'core/image': ['url', 'title', 'alt'],
@@ -41,19 +45,18 @@ const createEditFunctionWithBindingsAttribute = () => (0, _compose.createHigherO
41
45
  getBlockBindingsSource
42
46
  } = (0, _lockUnlock.unlock)((0, _data.useSelect)(_store.store));
43
47
  const {
44
- getBlockAttributes,
45
- updateBlockAttributes
48
+ getBlockAttributes
46
49
  } = (0, _data.useSelect)(_store.store);
47
50
  const updatedAttributes = getBlockAttributes(clientId);
48
51
  if (updatedAttributes?.metadata?.bindings) {
49
52
  Object.entries(updatedAttributes.metadata.bindings).forEach(([attributeName, settings]) => {
50
- const source = getBlockBindingsSource(settings.source.name);
53
+ const source = getBlockBindingsSource(settings.source);
51
54
  if (source) {
52
55
  // Second argument (`updateMetaValue`) will be used to update the value in the future.
53
56
  const {
54
57
  placeholder,
55
58
  useValue: [metaValue = null] = []
56
- } = source.useSource(props, settings.source.attributes);
59
+ } = source.useSource(props, settings.args);
57
60
  if (placeholder && !metaValue) {
58
61
  // If the attribute is `src` or `href`, a placeholder can't be used because it is not a valid url.
59
62
  // Adding this workaround until attributes and metadata fields types are improved and include `url`.
@@ -70,13 +73,11 @@ const createEditFunctionWithBindingsAttribute = () => (0, _compose.createHigherO
70
73
  }
71
74
  });
72
75
  }
73
- const registry = (0, _data.useRegistry)();
74
- return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(BlockEdit, {
76
+ return (0, _react.createElement)(BlockEdit, {
75
77
  key: "edit",
76
- attributes: updatedAttributes,
77
- setAttributes: (newAttributes, blockId) => registry.batch(() => updateBlockAttributes(blockId, newAttributes)),
78
- ...props
79
- }));
78
+ ...props,
79
+ attributes: updatedAttributes
80
+ });
80
81
  }, 'useBoundAttributes');
81
82
 
82
83
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_compose","_data","_hooks","_store","_context","_lockUnlock","BLOCK_BINDINGS_ALLOWED_BLOCKS","createEditFunctionWithBindingsAttribute","createHigherOrderComponent","BlockEdit","props","clientId","name","blockName","useBlockEditContext","getBlockBindingsSource","unlock","useSelect","blockEditorStore","getBlockAttributes","updateBlockAttributes","updatedAttributes","metadata","bindings","Object","entries","forEach","attributeName","settings","source","placeholder","useValue","metaValue","useSource","attributes","htmlAttribute","getBlockType","attribute","registry","useRegistry","_react","createElement","Fragment","key","setAttributes","newAttributes","blockId","batch","shimAttributeSource","edit","addFilter","contextItems","usesContextArray","usesContext","oldUsesContextArray","Set","item","has","push"],"sources":["@wordpress/block-editor/src/hooks/use-bindings-attributes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { addFilter } from '@wordpress/hooks';\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useBlockEditContext } from '../components/block-edit/context';\nimport { unlock } from '../lock-unlock';\n\n/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */\n/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */\n\n/**\n * Given a binding of block attributes, returns a higher order component that\n * overrides its `attributes` and `setAttributes` props to sync any changes needed.\n *\n * @return {WPHigherOrderComponent} Higher-order component.\n */\n\nconst BLOCK_BINDINGS_ALLOWED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/image': [ 'url', 'title', 'alt' ],\n\t'core/button': [ 'url', 'text', 'linkTarget' ],\n};\n\nconst createEditFunctionWithBindingsAttribute = () =>\n\tcreateHigherOrderComponent(\n\t\t( BlockEdit ) => ( props ) => {\n\t\t\tconst { clientId, name: blockName } = useBlockEditContext();\n\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\tuseSelect( blockEditorStore )\n\t\t\t);\n\t\t\tconst { getBlockAttributes, updateBlockAttributes } =\n\t\t\t\tuseSelect( blockEditorStore );\n\n\t\t\tconst updatedAttributes = getBlockAttributes( clientId );\n\t\t\tif ( updatedAttributes?.metadata?.bindings ) {\n\t\t\t\tObject.entries( updatedAttributes.metadata.bindings ).forEach(\n\t\t\t\t\t( [ attributeName, settings ] ) => {\n\t\t\t\t\t\tconst source = getBlockBindingsSource(\n\t\t\t\t\t\t\tsettings.source.name\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( source ) {\n\t\t\t\t\t\t\t// Second argument (`updateMetaValue`) will be used to update the value in the future.\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tplaceholder,\n\t\t\t\t\t\t\t\tuseValue: [ metaValue = null ] = [],\n\t\t\t\t\t\t\t} = source.useSource(\n\t\t\t\t\t\t\t\tprops,\n\t\t\t\t\t\t\t\tsettings.source.attributes\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( placeholder && ! metaValue ) {\n\t\t\t\t\t\t\t\t// If the attribute is `src` or `href`, a placeholder can't be used because it is not a valid url.\n\t\t\t\t\t\t\t\t// Adding this workaround until attributes and metadata fields types are improved and include `url`.\n\t\t\t\t\t\t\t\tconst htmlAttribute =\n\t\t\t\t\t\t\t\t\tgetBlockType( blockName ).attributes[\n\t\t\t\t\t\t\t\t\t\tattributeName\n\t\t\t\t\t\t\t\t\t].attribute;\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\thtmlAttribute === 'src' ||\n\t\t\t\t\t\t\t\t\thtmlAttribute === 'href'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tupdatedAttributes[ attributeName ] = null;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tupdatedAttributes[ attributeName ] =\n\t\t\t\t\t\t\t\t\t\tplaceholder;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( metaValue ) {\n\t\t\t\t\t\t\t\tupdatedAttributes[ attributeName ] = metaValue;\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\n\t\t\tconst registry = useRegistry();\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<BlockEdit\n\t\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t\tattributes={ updatedAttributes }\n\t\t\t\t\t\tsetAttributes={ ( newAttributes, blockId ) =>\n\t\t\t\t\t\t\tregistry.batch( () =>\n\t\t\t\t\t\t\t\tupdateBlockAttributes( blockId, newAttributes )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t\t'useBoundAttributes'\n\t);\n\n/**\n * Filters a registered block's settings to enhance a block's `edit` component\n * to upgrade bound attributes.\n *\n * @param {WPBlockSettings} settings Registered block settings.\n *\n * @return {WPBlockSettings} Filtered block settings.\n */\nfunction shimAttributeSource( settings ) {\n\tif ( ! ( settings.name in BLOCK_BINDINGS_ALLOWED_BLOCKS ) ) {\n\t\treturn settings;\n\t}\n\tsettings.edit = createEditFunctionWithBindingsAttribute()( settings.edit );\n\n\treturn settings;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',\n\tshimAttributeSource\n);\n\n// Add the context to all blocks.\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/block-bindings-ui',\n\t( settings, name ) => {\n\t\tif ( ! ( name in BLOCK_BINDINGS_ALLOWED_BLOCKS ) ) {\n\t\t\treturn settings;\n\t\t}\n\t\tconst contextItems = [ 'postId', 'postType', 'queryId' ];\n\t\tconst usesContextArray = settings.usesContext;\n\t\tconst oldUsesContextArray = new Set( usesContextArray );\n\t\tcontextItems.forEach( ( item ) => {\n\t\t\tif ( ! oldUsesContextArray.has( item ) ) {\n\t\t\t\tusesContextArray.push( item );\n\t\t\t}\n\t\t} );\n\t\tsettings.usesContext = usesContextArray;\n\t\treturn settings;\n\t}\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_compose","_data","_hooks","_store","_context","_lockUnlock","BLOCK_BINDINGS_ALLOWED_BLOCKS","exports","createEditFunctionWithBindingsAttribute","createHigherOrderComponent","BlockEdit","props","clientId","name","blockName","useBlockEditContext","getBlockBindingsSource","unlock","useSelect","blockEditorStore","getBlockAttributes","updatedAttributes","metadata","bindings","Object","entries","forEach","attributeName","settings","source","placeholder","useValue","metaValue","useSource","args","htmlAttribute","getBlockType","attributes","attribute","_react","createElement","key","shimAttributeSource","edit","addFilter","contextItems","usesContextArray","usesContext","oldUsesContextArray","Set","item","has","push"],"sources":["@wordpress/block-editor/src/hooks/use-bindings-attributes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { addFilter } from '@wordpress/hooks';\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useBlockEditContext } from '../components/block-edit/context';\nimport { unlock } from '../lock-unlock';\n\n/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */\n/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */\n\n/**\n * Given a binding of block attributes, returns a higher order component that\n * overrides its `attributes` and `setAttributes` props to sync any changes needed.\n *\n * @return {WPHigherOrderComponent} Higher-order component.\n */\n\nexport const BLOCK_BINDINGS_ALLOWED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/image': [ 'url', 'title', 'alt' ],\n\t'core/button': [ 'url', 'text', 'linkTarget' ],\n};\n\nconst createEditFunctionWithBindingsAttribute = () =>\n\tcreateHigherOrderComponent(\n\t\t( BlockEdit ) => ( props ) => {\n\t\t\tconst { clientId, name: blockName } = useBlockEditContext();\n\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\tuseSelect( blockEditorStore )\n\t\t\t);\n\t\t\tconst { getBlockAttributes } = useSelect( blockEditorStore );\n\n\t\t\tconst updatedAttributes = getBlockAttributes( clientId );\n\t\t\tif ( updatedAttributes?.metadata?.bindings ) {\n\t\t\t\tObject.entries( updatedAttributes.metadata.bindings ).forEach(\n\t\t\t\t\t( [ attributeName, settings ] ) => {\n\t\t\t\t\t\tconst source = getBlockBindingsSource(\n\t\t\t\t\t\t\tsettings.source\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( source ) {\n\t\t\t\t\t\t\t// Second argument (`updateMetaValue`) will be used to update the value in the future.\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tplaceholder,\n\t\t\t\t\t\t\t\tuseValue: [ metaValue = null ] = [],\n\t\t\t\t\t\t\t} = source.useSource( props, settings.args );\n\n\t\t\t\t\t\t\tif ( placeholder && ! metaValue ) {\n\t\t\t\t\t\t\t\t// If the attribute is `src` or `href`, a placeholder can't be used because it is not a valid url.\n\t\t\t\t\t\t\t\t// Adding this workaround until attributes and metadata fields types are improved and include `url`.\n\t\t\t\t\t\t\t\tconst htmlAttribute =\n\t\t\t\t\t\t\t\t\tgetBlockType( blockName ).attributes[\n\t\t\t\t\t\t\t\t\t\tattributeName\n\t\t\t\t\t\t\t\t\t].attribute;\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\thtmlAttribute === 'src' ||\n\t\t\t\t\t\t\t\t\thtmlAttribute === 'href'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tupdatedAttributes[ attributeName ] = null;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tupdatedAttributes[ attributeName ] =\n\t\t\t\t\t\t\t\t\t\tplaceholder;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( metaValue ) {\n\t\t\t\t\t\t\t\tupdatedAttributes[ attributeName ] = metaValue;\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\n\t\t\treturn (\n\t\t\t\t<BlockEdit\n\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tattributes={ updatedAttributes }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\t'useBoundAttributes'\n\t);\n\n/**\n * Filters a registered block's settings to enhance a block's `edit` component\n * to upgrade bound attributes.\n *\n * @param {WPBlockSettings} settings Registered block settings.\n *\n * @return {WPBlockSettings} Filtered block settings.\n */\nfunction shimAttributeSource( settings ) {\n\tif ( ! ( settings.name in BLOCK_BINDINGS_ALLOWED_BLOCKS ) ) {\n\t\treturn settings;\n\t}\n\tsettings.edit = createEditFunctionWithBindingsAttribute()( settings.edit );\n\n\treturn settings;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',\n\tshimAttributeSource\n);\n\n// Add the context to all blocks.\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/block-bindings-ui',\n\t( settings, name ) => {\n\t\tif ( ! ( name in BLOCK_BINDINGS_ALLOWED_BLOCKS ) ) {\n\t\t\treturn settings;\n\t\t}\n\t\tconst contextItems = [ 'postId', 'postType', 'queryId' ];\n\t\tconst usesContextArray = settings.usesContext;\n\t\tconst oldUsesContextArray = new Set( usesContextArray );\n\t\tcontextItems.forEach( ( item ) => {\n\t\t\tif ( ! oldUsesContextArray.has( item ) ) {\n\t\t\t\tusesContextArray.push( item );\n\t\t\t}\n\t\t} );\n\t\tsettings.usesContext = usesContextArray;\n\t\treturn settings;\n\t}\n);\n"],"mappings":"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"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getShadowClassesAndStyles = getShadowClassesAndStyles;
7
- exports.useShadowProps = useShadowProps;
8
7
  var _style = require("./style");
9
8
  /**
10
9
  * Internal dependencies
@@ -24,23 +23,9 @@ var _style = require("./style");
24
23
  function getShadowClassesAndStyles(attributes) {
25
24
  const shadow = attributes.style?.shadow || '';
26
25
  return {
27
- className: undefined,
28
26
  style: (0, _style.getInlineStyles)({
29
27
  shadow
30
28
  })
31
29
  };
32
30
  }
33
-
34
- /**
35
- * Derives the shadow related props for a block from its shadow block support
36
- * attributes.
37
- *
38
- * @param {Object} attributes Block attributes.
39
- *
40
- * @return {Object} ClassName & style props from shadow block support.
41
- */
42
- function useShadowProps(attributes) {
43
- const shadowProps = getShadowClassesAndStyles(attributes);
44
- return shadowProps;
45
- }
46
31
  //# sourceMappingURL=use-shadow-props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_style","require","getShadowClassesAndStyles","attributes","shadow","style","className","undefined","getInlineStyles","useShadowProps","shadowProps"],"sources":["@wordpress/block-editor/src/hooks/use-shadow-props.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { getInlineStyles } from './style';\n\n// This utility is intended to assist where the serialization of the shadow\n// block support is being skipped for a block but the shadow related CSS classes\n// & styles still need to be generated so they can be applied to inner elements.\n\n/**\n * Provides the CSS class names and inline styles for a block's shadow support\n * attributes.\n *\n * @param {Object} attributes Block attributes.\n * @return {Object} Shadow block support derived CSS classes & styles.\n */\nexport function getShadowClassesAndStyles( attributes ) {\n\tconst shadow = attributes.style?.shadow || '';\n\n\treturn {\n\t\tclassName: undefined,\n\t\tstyle: getInlineStyles( { shadow } ),\n\t};\n}\n\n/**\n * Derives the shadow related props for a block from its shadow block support\n * attributes.\n *\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} ClassName & style props from shadow block support.\n */\nexport function useShadowProps( attributes ) {\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\treturn shadowProps;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CAAEC,UAAU,EAAG;EACvD,MAAMC,MAAM,GAAGD,UAAU,CAACE,KAAK,EAAED,MAAM,IAAI,EAAE;EAE7C,OAAO;IACNE,SAAS,EAAEC,SAAS;IACpBF,KAAK,EAAE,IAAAG,sBAAe,EAAE;MAAEJ;IAAO,CAAE;EACpC,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,cAAcA,CAAEN,UAAU,EAAG;EAC5C,MAAMO,WAAW,GAAGR,yBAAyB,CAAEC,UAAW,CAAC;EAC3D,OAAOO,WAAW;AACnB"}
1
+ {"version":3,"names":["_style","require","getShadowClassesAndStyles","attributes","shadow","style","getInlineStyles"],"sources":["@wordpress/block-editor/src/hooks/use-shadow-props.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { getInlineStyles } from './style';\n\n// This utility is intended to assist where the serialization of the shadow\n// block support is being skipped for a block but the shadow related CSS classes\n// & styles still need to be generated so they can be applied to inner elements.\n\n/**\n * Provides the CSS class names and inline styles for a block's shadow support\n * attributes.\n *\n * @param {Object} attributes Block attributes.\n * @return {Object} Shadow block support derived CSS classes & styles.\n */\nexport function getShadowClassesAndStyles( attributes ) {\n\tconst shadow = attributes.style?.shadow || '';\n\n\treturn {\n\t\tstyle: getInlineStyles( { shadow } ),\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CAAEC,UAAU,EAAG;EACvD,MAAMC,MAAM,GAAGD,UAAU,CAACE,KAAK,EAAED,MAAM,IAAI,EAAE;EAE7C,OAAO;IACNC,KAAK,EAAE,IAAAC,sBAAe,EAAE;MAAEF;IAAO,CAAE;EACpC,CAAC;AACF"}