@wordpress/block-editor 14.7.1-next.082ed6819.0 → 14.8.1-next.cd6172eb0.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 (262) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/autocompleters/block.js +2 -4
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +2 -4
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/block-canvas/index.js +3 -6
  7. package/build/components/block-canvas/index.js.map +1 -1
  8. package/build/components/block-list/block.js +6 -5
  9. package/build/components/block-list/block.js.map +1 -1
  10. package/build/components/block-list/index.js +0 -1
  11. package/build/components/block-list/index.js.map +1 -1
  12. package/build/components/block-list/use-block-props/index.js +7 -2
  13. package/build/components/block-list/use-block-props/index.js.map +1 -1
  14. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +34 -0
  15. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -0
  16. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +98 -5
  17. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  18. package/build/components/block-patterns-list/index.js +13 -4
  19. package/build/components/block-patterns-list/index.js.map +1 -1
  20. package/build/components/block-popover/inbetween.js +4 -0
  21. package/build/components/block-popover/inbetween.js.map +1 -1
  22. package/build/components/block-settings-menu/block-settings-dropdown.js +7 -4
  23. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  24. package/build/components/block-settings-menu-controls/index.js +1 -1
  25. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  26. package/build/components/block-switcher/index.js +12 -22
  27. package/build/components/block-switcher/index.js.map +1 -1
  28. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  29. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  30. package/build/components/block-switcher/utils.js +0 -1
  31. package/build/components/block-switcher/utils.js.map +1 -1
  32. package/build/components/block-toolbar/index.js +17 -9
  33. package/build/components/block-toolbar/index.js.map +1 -1
  34. package/build/components/block-variation-transforms/index.js +0 -1
  35. package/build/components/block-variation-transforms/index.js.map +1 -1
  36. package/build/components/date-format-picker/index.js +0 -1
  37. package/build/components/date-format-picker/index.js.map +1 -1
  38. package/build/components/font-appearance-control/index.js +1 -0
  39. package/build/components/font-appearance-control/index.js.map +1 -1
  40. package/build/components/font-family/index.js +10 -0
  41. package/build/components/font-family/index.js.map +1 -1
  42. package/build/components/global-styles/dimensions-panel.js +17 -16
  43. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  44. package/build/components/global-styles/get-global-styles-changes.js +0 -1
  45. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  46. package/build/components/iframe/index.js +12 -216
  47. package/build/components/iframe/index.js.map +1 -1
  48. package/build/components/iframe/use-scale-canvas.js +398 -0
  49. package/build/components/iframe/use-scale-canvas.js.map +1 -0
  50. package/build/components/image-editor/use-save-image.js +22 -3
  51. package/build/components/image-editor/use-save-image.js.map +1 -1
  52. package/build/components/inserter/block-patterns-tab/index.js +0 -10
  53. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  54. package/build/components/inserter/menu.js +2 -1
  55. package/build/components/inserter/menu.js.map +1 -1
  56. package/build/components/inserter-draggable-blocks/index.js +19 -10
  57. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  58. package/build/components/letter-spacing-control/index.js +10 -0
  59. package/build/components/letter-spacing-control/index.js.map +1 -1
  60. package/build/components/line-height-control/index.js +1 -0
  61. package/build/components/line-height-control/index.js.map +1 -1
  62. package/build/components/media-placeholder/index.js +18 -18
  63. package/build/components/media-placeholder/index.js.map +1 -1
  64. package/build/components/observe-typing/index.js +0 -1
  65. package/build/components/observe-typing/index.js.map +1 -1
  66. package/build/components/recursion-provider/index.js +0 -1
  67. package/build/components/recursion-provider/index.js.map +1 -1
  68. package/build/components/rich-text/index.js +5 -1
  69. package/build/components/rich-text/index.js.map +1 -1
  70. package/build/components/rich-text/native/use-format-types.js +0 -1
  71. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  72. package/build/components/rich-text/use-format-types.js +0 -1
  73. package/build/components/rich-text/use-format-types.js.map +1 -1
  74. package/build/components/spacing-sizes-control/utils.js +0 -1
  75. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  76. package/build/components/typewriter/index.js +0 -1
  77. package/build/components/typewriter/index.js.map +1 -1
  78. package/build/components/use-block-drop-zone/index.js +11 -2
  79. package/build/components/use-block-drop-zone/index.js.map +1 -1
  80. package/build/components/use-moving-animation/index.js +15 -2
  81. package/build/components/use-moving-animation/index.js.map +1 -1
  82. package/build/components/use-resize-canvas/index.js +1 -1
  83. package/build/components/use-resize-canvas/index.js.map +1 -1
  84. package/build/components/writing-flow/use-drag-selection.js +11 -0
  85. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  86. package/build/components/writing-flow/use-tab-nav.js +6 -2
  87. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  88. package/build/hooks/block-bindings.js +4 -3
  89. package/build/hooks/block-bindings.js.map +1 -1
  90. package/build/hooks/gap.js +1 -1
  91. package/build/hooks/gap.js.map +1 -1
  92. package/build/hooks/generated-class-name.js +0 -1
  93. package/build/hooks/generated-class-name.js.map +1 -1
  94. package/build/store/private-selectors.js +1 -7
  95. package/build/store/private-selectors.js.map +1 -1
  96. package/build/store/reducer.js +478 -2
  97. package/build/store/reducer.js.map +1 -1
  98. package/build/store/selectors.js +12 -55
  99. package/build/store/selectors.js.map +1 -1
  100. package/build/utils/object.js +0 -1
  101. package/build/utils/object.js.map +1 -1
  102. package/build-module/autocompleters/block.js +2 -4
  103. package/build-module/autocompleters/block.js.map +1 -1
  104. package/build-module/autocompleters/link.js +2 -4
  105. package/build-module/autocompleters/link.js.map +1 -1
  106. package/build-module/components/block-canvas/index.js +3 -6
  107. package/build-module/components/block-canvas/index.js.map +1 -1
  108. package/build-module/components/block-list/block.js +8 -7
  109. package/build-module/components/block-list/block.js.map +1 -1
  110. package/build-module/components/block-list/index.js +0 -1
  111. package/build-module/components/block-list/index.js.map +1 -1
  112. package/build-module/components/block-list/use-block-props/index.js +7 -2
  113. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  114. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +28 -0
  115. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -0
  116. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +97 -5
  117. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  118. package/build-module/components/block-patterns-list/index.js +13 -4
  119. package/build-module/components/block-patterns-list/index.js.map +1 -1
  120. package/build-module/components/block-popover/inbetween.js +4 -0
  121. package/build-module/components/block-popover/inbetween.js.map +1 -1
  122. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -4
  123. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  124. package/build-module/components/block-settings-menu-controls/index.js +1 -1
  125. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  126. package/build-module/components/block-switcher/index.js +13 -23
  127. package/build-module/components/block-switcher/index.js.map +1 -1
  128. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  129. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  130. package/build-module/components/block-switcher/utils.js +0 -1
  131. package/build-module/components/block-switcher/utils.js.map +1 -1
  132. package/build-module/components/block-toolbar/index.js +17 -9
  133. package/build-module/components/block-toolbar/index.js.map +1 -1
  134. package/build-module/components/block-variation-transforms/index.js +0 -1
  135. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  136. package/build-module/components/date-format-picker/index.js +0 -1
  137. package/build-module/components/date-format-picker/index.js.map +1 -1
  138. package/build-module/components/font-appearance-control/index.js +1 -0
  139. package/build-module/components/font-appearance-control/index.js.map +1 -1
  140. package/build-module/components/font-family/index.js +10 -0
  141. package/build-module/components/font-family/index.js.map +1 -1
  142. package/build-module/components/global-styles/dimensions-panel.js +17 -16
  143. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  144. package/build-module/components/global-styles/get-global-styles-changes.js +0 -1
  145. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  146. package/build-module/components/iframe/index.js +14 -218
  147. package/build-module/components/iframe/index.js.map +1 -1
  148. package/build-module/components/iframe/use-scale-canvas.js +392 -0
  149. package/build-module/components/iframe/use-scale-canvas.js.map +1 -0
  150. package/build-module/components/image-editor/use-save-image.js +22 -3
  151. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  152. package/build-module/components/inserter/block-patterns-tab/index.js +1 -11
  153. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  154. package/build-module/components/inserter/menu.js +2 -1
  155. package/build-module/components/inserter/menu.js.map +1 -1
  156. package/build-module/components/inserter-draggable-blocks/index.js +20 -11
  157. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  158. package/build-module/components/letter-spacing-control/index.js +9 -0
  159. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  160. package/build-module/components/line-height-control/index.js +1 -0
  161. package/build-module/components/line-height-control/index.js.map +1 -1
  162. package/build-module/components/media-placeholder/index.js +18 -18
  163. package/build-module/components/media-placeholder/index.js.map +1 -1
  164. package/build-module/components/observe-typing/index.js +0 -1
  165. package/build-module/components/observe-typing/index.js.map +1 -1
  166. package/build-module/components/recursion-provider/index.js +0 -1
  167. package/build-module/components/recursion-provider/index.js.map +1 -1
  168. package/build-module/components/rich-text/index.js +5 -1
  169. package/build-module/components/rich-text/index.js.map +1 -1
  170. package/build-module/components/rich-text/native/use-format-types.js +0 -1
  171. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  172. package/build-module/components/rich-text/use-format-types.js +0 -1
  173. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  174. package/build-module/components/spacing-sizes-control/utils.js +0 -1
  175. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  176. package/build-module/components/typewriter/index.js +0 -1
  177. package/build-module/components/typewriter/index.js.map +1 -1
  178. package/build-module/components/use-block-drop-zone/index.js +11 -2
  179. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  180. package/build-module/components/use-moving-animation/index.js +15 -2
  181. package/build-module/components/use-moving-animation/index.js.map +1 -1
  182. package/build-module/components/use-resize-canvas/index.js +1 -1
  183. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  184. package/build-module/components/writing-flow/use-drag-selection.js +11 -0
  185. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  186. package/build-module/components/writing-flow/use-tab-nav.js +6 -2
  187. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  188. package/build-module/hooks/block-bindings.js +4 -3
  189. package/build-module/hooks/block-bindings.js.map +1 -1
  190. package/build-module/hooks/gap.js +1 -1
  191. package/build-module/hooks/gap.js.map +1 -1
  192. package/build-module/hooks/generated-class-name.js +0 -1
  193. package/build-module/hooks/generated-class-name.js.map +1 -1
  194. package/build-module/store/private-selectors.js +1 -6
  195. package/build-module/store/private-selectors.js.map +1 -1
  196. package/build-module/store/reducer.js +479 -3
  197. package/build-module/store/reducer.js.map +1 -1
  198. package/build-module/store/selectors.js +12 -55
  199. package/build-module/store/selectors.js.map +1 -1
  200. package/build-module/utils/object.js +0 -1
  201. package/build-module/utils/object.js.map +1 -1
  202. package/build-style/content-rtl.css +24 -26
  203. package/build-style/content.css +24 -26
  204. package/build-style/style-rtl.css +51 -16
  205. package/build-style/style.css +51 -16
  206. package/package.json +32 -32
  207. package/src/autocompleters/block.js +2 -4
  208. package/src/autocompleters/link.js +2 -4
  209. package/src/components/alignment-control/stories/aliginment-toolbar.story.js +47 -0
  210. package/src/components/alignment-control/stories/index.story.js +51 -0
  211. package/src/components/alignment-control/test/__snapshots__/index.js.snap +5 -5
  212. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +4 -4
  213. package/src/components/block-canvas/index.js +3 -5
  214. package/src/components/block-canvas/style.scss +2 -1
  215. package/src/components/block-draggable/content.scss +11 -5
  216. package/src/components/block-list/block.js +7 -13
  217. package/src/components/block-list/content.scss +6 -0
  218. package/src/components/block-list/use-block-props/index.js +7 -0
  219. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +25 -0
  220. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +112 -8
  221. package/src/components/block-patterns-list/index.js +12 -1
  222. package/src/components/block-patterns-list/style.scss +16 -5
  223. package/src/components/block-popover/inbetween.js +4 -0
  224. package/src/components/block-settings-menu/block-settings-dropdown.js +6 -1
  225. package/src/components/block-settings-menu-controls/index.js +2 -1
  226. package/src/components/block-switcher/index.js +19 -21
  227. package/src/components/block-switcher/style.scss +0 -9
  228. package/src/components/block-title/test/index.js +2 -0
  229. package/src/components/block-toolbar/index.js +16 -6
  230. package/src/components/block-tools/style.scss +44 -0
  231. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
  232. package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
  233. package/src/components/font-appearance-control/index.js +1 -0
  234. package/src/components/font-family/index.js +10 -0
  235. package/src/components/font-family/style.scss +5 -0
  236. package/src/components/global-styles/dimensions-panel.js +16 -16
  237. package/src/components/iframe/content.scss +40 -42
  238. package/src/components/iframe/index.js +13 -313
  239. package/src/components/iframe/use-scale-canvas.js +490 -0
  240. package/src/components/image-editor/use-save-image.js +27 -2
  241. package/src/components/inserter/block-patterns-tab/index.js +1 -17
  242. package/src/components/inserter/menu.js +8 -1
  243. package/src/components/inserter-draggable-blocks/index.js +19 -29
  244. package/src/components/letter-spacing-control/README.md +2 -1
  245. package/src/components/letter-spacing-control/index.js +17 -0
  246. package/src/components/line-height-control/index.js +1 -0
  247. package/src/components/media-placeholder/index.js +25 -28
  248. package/src/components/rich-text/index.js +5 -0
  249. package/src/components/use-block-drop-zone/index.js +18 -1
  250. package/src/components/use-moving-animation/index.js +15 -0
  251. package/src/components/use-resize-canvas/index.js +1 -1
  252. package/src/components/writing-flow/use-drag-selection.js +11 -0
  253. package/src/components/writing-flow/use-tab-nav.js +9 -6
  254. package/src/hooks/block-bindings.js +8 -4
  255. package/src/hooks/gap.js +1 -1
  256. package/src/store/private-selectors.js +2 -17
  257. package/src/store/reducer.js +639 -2
  258. package/src/store/selectors.js +19 -69
  259. package/src/store/test/private-selectors.js +1 -0
  260. package/src/store/test/reducer.js +849 -0
  261. package/src/store/test/selectors.js +4 -110
  262. package/src/style.scss +1 -0
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * Immutably sets a value inside an object. Like `lodash#set`, but returning a
4
3
  * new object. Treats nullish initial values as empty objects. Clones any
@@ -1 +1 @@
1
- {"version":3,"names":["setImmutably","object","path","value","Array","isArray","leaf","pop","prev","key","lvl","getValueFromObjectPath","defaultValue","_value","arrayPath","split","forEach","fieldName","uniqByProperty","array","property","seen","Set","filter","item","has","add"],"sources":["@wordpress/block-editor/src/utils/object.js"],"sourcesContent":["/**\n * Immutably sets a value inside an object. Like `lodash#set`, but returning a\n * new object. Treats nullish initial values as empty objects. Clones any\n * nested objects. Supports arrays, too.\n *\n * @param {Object} object Object to set a value in.\n * @param {number|string|Array} path Path in the object to modify.\n * @param {*} value New value to set.\n * @return {Object} Cloned object with the new value set.\n */\nexport function setImmutably( object, path, value ) {\n\t// Normalize path\n\tpath = Array.isArray( path ) ? [ ...path ] : [ path ];\n\n\t// Shallowly clone the base of the object\n\tobject = Array.isArray( object ) ? [ ...object ] : { ...object };\n\n\tconst leaf = path.pop();\n\n\t// Traverse object from root to leaf, shallowly cloning at each level\n\tlet prev = object;\n\tfor ( const key of path ) {\n\t\tconst lvl = prev[ key ];\n\t\tprev = prev[ key ] = Array.isArray( lvl ) ? [ ...lvl ] : { ...lvl };\n\t}\n\n\tprev[ leaf ] = value;\n\n\treturn object;\n}\n\n/**\n * Helper util to return a value from a certain path of the object.\n * Path is specified as either:\n * - a string of properties, separated by dots, for example: \"x.y\".\n * - an array of properties, for example `[ 'x', 'y' ]`.\n * You can also specify a default value in case the result is nullish.\n *\n * @param {Object} object Input object.\n * @param {string|Array} path Path to the object property.\n * @param {*} defaultValue Default value if the value at the specified path is nullish.\n * @return {*} Value of the object property at the specified path.\n */\nexport const getValueFromObjectPath = ( object, path, defaultValue ) => {\n\tconst arrayPath = Array.isArray( path ) ? path : path.split( '.' );\n\tlet value = object;\n\tarrayPath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value ?? defaultValue;\n};\n\n/**\n * Helper util to filter out objects with duplicate values for a given property.\n *\n * @param {Object[]} array Array of objects to filter.\n * @param {string} property Property to filter unique values by.\n *\n * @return {Object[]} Array of objects with unique values for the specified property.\n */\nexport function uniqByProperty( array, property ) {\n\tconst seen = new Set();\n\treturn array.filter( ( item ) => {\n\t\tconst value = item[ property ];\n\t\treturn seen.has( value ) ? false : seen.add( value );\n\t} );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAYA,CAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAG;EACnD;EACAD,IAAI,GAAGE,KAAK,CAACC,OAAO,CAAEH,IAAK,CAAC,GAAG,CAAE,GAAGA,IAAI,CAAE,GAAG,CAAEA,IAAI,CAAE;;EAErD;EACAD,MAAM,GAAGG,KAAK,CAACC,OAAO,CAAEJ,MAAO,CAAC,GAAG,CAAE,GAAGA,MAAM,CAAE,GAAG;IAAE,GAAGA;EAAO,CAAC;EAEhE,MAAMK,IAAI,GAAGJ,IAAI,CAACK,GAAG,CAAC,CAAC;;EAEvB;EACA,IAAIC,IAAI,GAAGP,MAAM;EACjB,KAAM,MAAMQ,GAAG,IAAIP,IAAI,EAAG;IACzB,MAAMQ,GAAG,GAAGF,IAAI,CAAEC,GAAG,CAAE;IACvBD,IAAI,GAAGA,IAAI,CAAEC,GAAG,CAAE,GAAGL,KAAK,CAACC,OAAO,CAAEK,GAAI,CAAC,GAAG,CAAE,GAAGA,GAAG,CAAE,GAAG;MAAE,GAAGA;IAAI,CAAC;EACpE;EAEAF,IAAI,CAAEF,IAAI,CAAE,GAAGH,KAAK;EAEpB,OAAOF,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,sBAAsB,GAAGA,CAAEV,MAAM,EAAEC,IAAI,EAAEU,YAAY,KAAM;EAAA,IAAAC,MAAA;EACvE,MAAMC,SAAS,GAAGV,KAAK,CAACC,OAAO,CAAEH,IAAK,CAAC,GAAGA,IAAI,GAAGA,IAAI,CAACa,KAAK,CAAE,GAAI,CAAC;EAClE,IAAIZ,KAAK,GAAGF,MAAM;EAClBa,SAAS,CAACE,OAAO,CAAIC,SAAS,IAAM;IACnCd,KAAK,GAAGA,KAAK,GAAIc,SAAS,CAAE;EAC7B,CAAE,CAAC;EACH,QAAAJ,MAAA,GAAOV,KAAK,cAAAU,MAAA,cAAAA,MAAA,GAAID,YAAY;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,cAAcA,CAAEC,KAAK,EAAEC,QAAQ,EAAG;EACjD,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;EACtB,OAAOH,KAAK,CAACI,MAAM,CAAIC,IAAI,IAAM;IAChC,MAAMrB,KAAK,GAAGqB,IAAI,CAAEJ,QAAQ,CAAE;IAC9B,OAAOC,IAAI,CAACI,GAAG,CAAEtB,KAAM,CAAC,GAAG,KAAK,GAAGkB,IAAI,CAACK,GAAG,CAAEvB,KAAM,CAAC;EACrD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["setImmutably","object","path","value","Array","isArray","leaf","pop","prev","key","lvl","getValueFromObjectPath","defaultValue","_value","arrayPath","split","forEach","fieldName","uniqByProperty","array","property","seen","Set","filter","item","has","add"],"sources":["@wordpress/block-editor/src/utils/object.js"],"sourcesContent":["/**\n * Immutably sets a value inside an object. Like `lodash#set`, but returning a\n * new object. Treats nullish initial values as empty objects. Clones any\n * nested objects. Supports arrays, too.\n *\n * @param {Object} object Object to set a value in.\n * @param {number|string|Array} path Path in the object to modify.\n * @param {*} value New value to set.\n * @return {Object} Cloned object with the new value set.\n */\nexport function setImmutably( object, path, value ) {\n\t// Normalize path\n\tpath = Array.isArray( path ) ? [ ...path ] : [ path ];\n\n\t// Shallowly clone the base of the object\n\tobject = Array.isArray( object ) ? [ ...object ] : { ...object };\n\n\tconst leaf = path.pop();\n\n\t// Traverse object from root to leaf, shallowly cloning at each level\n\tlet prev = object;\n\tfor ( const key of path ) {\n\t\tconst lvl = prev[ key ];\n\t\tprev = prev[ key ] = Array.isArray( lvl ) ? [ ...lvl ] : { ...lvl };\n\t}\n\n\tprev[ leaf ] = value;\n\n\treturn object;\n}\n\n/**\n * Helper util to return a value from a certain path of the object.\n * Path is specified as either:\n * - a string of properties, separated by dots, for example: \"x.y\".\n * - an array of properties, for example `[ 'x', 'y' ]`.\n * You can also specify a default value in case the result is nullish.\n *\n * @param {Object} object Input object.\n * @param {string|Array} path Path to the object property.\n * @param {*} defaultValue Default value if the value at the specified path is nullish.\n * @return {*} Value of the object property at the specified path.\n */\nexport const getValueFromObjectPath = ( object, path, defaultValue ) => {\n\tconst arrayPath = Array.isArray( path ) ? path : path.split( '.' );\n\tlet value = object;\n\tarrayPath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value ?? defaultValue;\n};\n\n/**\n * Helper util to filter out objects with duplicate values for a given property.\n *\n * @param {Object[]} array Array of objects to filter.\n * @param {string} property Property to filter unique values by.\n *\n * @return {Object[]} Array of objects with unique values for the specified property.\n */\nexport function uniqByProperty( array, property ) {\n\tconst seen = new Set();\n\treturn array.filter( ( item ) => {\n\t\tconst value = item[ property ];\n\t\treturn seen.has( value ) ? false : seen.add( value );\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAYA,CAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAG;EACnD;EACAD,IAAI,GAAGE,KAAK,CAACC,OAAO,CAAEH,IAAK,CAAC,GAAG,CAAE,GAAGA,IAAI,CAAE,GAAG,CAAEA,IAAI,CAAE;;EAErD;EACAD,MAAM,GAAGG,KAAK,CAACC,OAAO,CAAEJ,MAAO,CAAC,GAAG,CAAE,GAAGA,MAAM,CAAE,GAAG;IAAE,GAAGA;EAAO,CAAC;EAEhE,MAAMK,IAAI,GAAGJ,IAAI,CAACK,GAAG,CAAC,CAAC;;EAEvB;EACA,IAAIC,IAAI,GAAGP,MAAM;EACjB,KAAM,MAAMQ,GAAG,IAAIP,IAAI,EAAG;IACzB,MAAMQ,GAAG,GAAGF,IAAI,CAAEC,GAAG,CAAE;IACvBD,IAAI,GAAGA,IAAI,CAAEC,GAAG,CAAE,GAAGL,KAAK,CAACC,OAAO,CAAEK,GAAI,CAAC,GAAG,CAAE,GAAGA,GAAG,CAAE,GAAG;MAAE,GAAGA;IAAI,CAAC;EACpE;EAEAF,IAAI,CAAEF,IAAI,CAAE,GAAGH,KAAK;EAEpB,OAAOF,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,sBAAsB,GAAGA,CAAEV,MAAM,EAAEC,IAAI,EAAEU,YAAY,KAAM;EAAA,IAAAC,MAAA;EACvE,MAAMC,SAAS,GAAGV,KAAK,CAACC,OAAO,CAAEH,IAAK,CAAC,GAAGA,IAAI,GAAGA,IAAI,CAACa,KAAK,CAAE,GAAI,CAAC;EAClE,IAAIZ,KAAK,GAAGF,MAAM;EAClBa,SAAS,CAACE,OAAO,CAAIC,SAAS,IAAM;IACnCd,KAAK,GAAGA,KAAK,GAAIc,SAAS,CAAE;EAC7B,CAAE,CAAC;EACH,QAAAJ,MAAA,GAAOV,KAAK,cAAAU,MAAA,cAAAA,MAAA,GAAID,YAAY;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,cAAcA,CAAEC,KAAK,EAAEC,QAAQ,EAAG;EACjD,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;EACtB,OAAOH,KAAK,CAACI,MAAM,CAAIC,IAAI,IAAM;IAChC,MAAMrB,KAAK,GAAGqB,IAAI,CAAEJ,QAAQ,CAAE;IAC9B,OAAOC,IAAI,CAACI,GAAG,CAAEtB,KAAM,CAAC,GAAG,KAAK,GAAGkB,IAAI,CAACK,GAAG,CAAEvB,KAAM,CAAC;EACrD,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -490,6 +490,10 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
490
490
  margin: 0 calc(-1 * var(--wp--style--root--padding-left) - 1px) 0 calc(-1 * var(--wp--style--root--padding-right) - 1px) !important;
491
491
  }
492
492
 
493
+ .is-dragging {
494
+ cursor: grabbing;
495
+ }
496
+
493
497
  .is-vertical .block-list-appender {
494
498
  width: 24px;
495
499
  margin-left: auto;
@@ -519,10 +523,11 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
519
523
  }
520
524
 
521
525
  .block-editor-block-list__layout .is-dragging {
522
- background-color: currentColor !important;
523
- opacity: 0.05 !important;
526
+ opacity: 0.1 !important;
524
527
  border-radius: 2px !important;
525
- pointer-events: none !important;
528
+ }
529
+ .block-editor-block-list__layout .is-dragging iframe {
530
+ pointer-events: none;
526
531
  }
527
532
  .block-editor-block-list__layout .is-dragging::selection {
528
533
  background: transparent !important;
@@ -531,6 +536,11 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
531
536
  content: none !important;
532
537
  }
533
538
 
539
+ .wp-block img:not([draggable]),
540
+ .wp-block svg:not([draggable]) {
541
+ pointer-events: none;
542
+ }
543
+
534
544
  .block-editor-block-preview__content-iframe .block-list-appender {
535
545
  display: none;
536
546
  }
@@ -777,13 +787,7 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
777
787
 
778
788
  .block-editor-iframe__html {
779
789
  transform-origin: top center;
780
- transition: all 400ms cubic-bezier(0.46, 0.03, 0.52, 0.96), transform 0s, scale 0s, padding 0s, translate 0s;
781
- }
782
- @media (prefers-reduced-motion: reduce) {
783
- .block-editor-iframe__html {
784
- transition-duration: 0s;
785
- transition-delay: 0s;
786
- }
790
+ transition: background-color 400ms;
787
791
  }
788
792
  .block-editor-iframe__html.zoom-out-animation {
789
793
  position: fixed;
@@ -791,27 +795,18 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
791
795
  left: 0;
792
796
  top: calc(-1 * var(--wp-block-editor-iframe-zoom-out-scroll-top, 0));
793
797
  bottom: 0;
794
- translate: 0 calc(var(--wp-block-editor-iframe-zoom-out-scroll-top, 0) - var(--wp-block-editor-iframe-zoom-out-scroll-top-next, 0));
795
- overflow-y: scroll;
796
- transition: all 400ms cubic-bezier(0.46, 0.03, 0.52, 0.96), transform 0s, top 0s, bottom 0s, left 0s, right 0s;
797
- }
798
- @media (prefers-reduced-motion: reduce) {
799
- .block-editor-iframe__html.zoom-out-animation {
800
- transition-duration: 0s;
801
- transition-delay: 0s;
802
- }
798
+ overflow-y: var(--wp-block-editor-iframe-zoom-out-overflow-behavior, scroll);
803
799
  }
804
-
805
800
  .block-editor-iframe__html.is-zoomed-out {
806
- transform: translateX(calc(-1*((var(--wp-block-editor-iframe-zoom-out-scale-container-width) - var(--wp-block-editor-iframe-zoom-out-container-width, 100vw)) / 2 / var(--wp-block-editor-iframe-zoom-out-scale))));
807
- scale: var(--wp-block-editor-iframe-zoom-out-scale);
801
+ transform: translateX(calc(-1*((var(--wp-block-editor-iframe-zoom-out-scale-container-width) - var(--wp-block-editor-iframe-zoom-out-container-width, 100vw)) / 2 / var(--wp-block-editor-iframe-zoom-out-scale, 1))));
802
+ scale: var(--wp-block-editor-iframe-zoom-out-scale, 1);
808
803
  background-color: #ddd;
809
- margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale)) + 2px));
810
- padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale));
811
- padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale));
804
+ margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale, 1))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1)) + 2px));
805
+ padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
806
+ padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
812
807
  }
813
808
  .block-editor-iframe__html.is-zoomed-out body {
814
- min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale))) / var(--wp-block-editor-iframe-zoom-out-scale));
809
+ min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1))) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
815
810
  }
816
811
  .block-editor-iframe__html.is-zoomed-out body > .is-root-container:not(.wp-block-post-content) {
817
812
  flex: 1;
@@ -822,6 +817,9 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
822
817
  .block-editor-iframe__html.is-zoomed-out body > .is-root-container:not(.wp-block-post-content) > main {
823
818
  flex: 1;
824
819
  }
820
+ .block-editor-iframe__html.is-zoomed-out .wp-block[draggable] {
821
+ cursor: grab;
822
+ }
825
823
 
826
824
  .block-editor-media-placeholder__url-input-form {
827
825
  min-width: 260px;
@@ -490,6 +490,10 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
490
490
  margin: 0 calc(-1 * var(--wp--style--root--padding-right) - 1px) 0 calc(-1 * var(--wp--style--root--padding-left) - 1px) !important;
491
491
  }
492
492
 
493
+ .is-dragging {
494
+ cursor: grabbing;
495
+ }
496
+
493
497
  .is-vertical .block-list-appender {
494
498
  width: 24px;
495
499
  margin-right: auto;
@@ -519,10 +523,11 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
519
523
  }
520
524
 
521
525
  .block-editor-block-list__layout .is-dragging {
522
- background-color: currentColor !important;
523
- opacity: 0.05 !important;
526
+ opacity: 0.1 !important;
524
527
  border-radius: 2px !important;
525
- pointer-events: none !important;
528
+ }
529
+ .block-editor-block-list__layout .is-dragging iframe {
530
+ pointer-events: none;
526
531
  }
527
532
  .block-editor-block-list__layout .is-dragging::selection {
528
533
  background: transparent !important;
@@ -531,6 +536,11 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
531
536
  content: none !important;
532
537
  }
533
538
 
539
+ .wp-block img:not([draggable]),
540
+ .wp-block svg:not([draggable]) {
541
+ pointer-events: none;
542
+ }
543
+
534
544
  .block-editor-block-preview__content-iframe .block-list-appender {
535
545
  display: none;
536
546
  }
@@ -777,13 +787,7 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
777
787
 
778
788
  .block-editor-iframe__html {
779
789
  transform-origin: top center;
780
- transition: all 400ms cubic-bezier(0.46, 0.03, 0.52, 0.96), transform 0s, scale 0s, padding 0s, translate 0s;
781
- }
782
- @media (prefers-reduced-motion: reduce) {
783
- .block-editor-iframe__html {
784
- transition-duration: 0s;
785
- transition-delay: 0s;
786
- }
790
+ transition: background-color 400ms;
787
791
  }
788
792
  .block-editor-iframe__html.zoom-out-animation {
789
793
  position: fixed;
@@ -791,27 +795,18 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
791
795
  right: 0;
792
796
  top: calc(-1 * var(--wp-block-editor-iframe-zoom-out-scroll-top, 0));
793
797
  bottom: 0;
794
- translate: 0 calc(var(--wp-block-editor-iframe-zoom-out-scroll-top, 0) - var(--wp-block-editor-iframe-zoom-out-scroll-top-next, 0));
795
- overflow-y: scroll;
796
- transition: all 400ms cubic-bezier(0.46, 0.03, 0.52, 0.96), transform 0s, top 0s, bottom 0s, right 0s, left 0s;
797
- }
798
- @media (prefers-reduced-motion: reduce) {
799
- .block-editor-iframe__html.zoom-out-animation {
800
- transition-duration: 0s;
801
- transition-delay: 0s;
802
- }
798
+ overflow-y: var(--wp-block-editor-iframe-zoom-out-overflow-behavior, scroll);
803
799
  }
804
-
805
800
  .block-editor-iframe__html.is-zoomed-out {
806
- transform: translateX(calc((var(--wp-block-editor-iframe-zoom-out-scale-container-width) - var(--wp-block-editor-iframe-zoom-out-container-width, 100vw)) / 2 / var(--wp-block-editor-iframe-zoom-out-scale)));
807
- scale: var(--wp-block-editor-iframe-zoom-out-scale);
801
+ transform: translateX(calc((var(--wp-block-editor-iframe-zoom-out-scale-container-width) - var(--wp-block-editor-iframe-zoom-out-container-width, 100vw)) / 2 / var(--wp-block-editor-iframe-zoom-out-scale, 1)));
802
+ scale: var(--wp-block-editor-iframe-zoom-out-scale, 1);
808
803
  background-color: #ddd;
809
- margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale)) + 2px));
810
- padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale));
811
- padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale));
804
+ margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale, 1))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1)) + 2px));
805
+ padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
806
+ padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
812
807
  }
813
808
  .block-editor-iframe__html.is-zoomed-out body {
814
- min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size) / var(--wp-block-editor-iframe-zoom-out-scale))) / var(--wp-block-editor-iframe-zoom-out-scale));
809
+ min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1))) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
815
810
  }
816
811
  .block-editor-iframe__html.is-zoomed-out body > .is-root-container:not(.wp-block-post-content) {
817
812
  flex: 1;
@@ -822,6 +817,9 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
822
817
  .block-editor-iframe__html.is-zoomed-out body > .is-root-container:not(.wp-block-post-content) > main {
823
818
  flex: 1;
824
819
  }
820
+ .block-editor-iframe__html.is-zoomed-out .wp-block[draggable] {
821
+ cursor: grab;
822
+ }
825
823
 
826
824
  .block-editor-media-placeholder__url-input-form {
827
825
  min-width: 260px;
@@ -459,6 +459,39 @@ iframe[name=editor-canvas] {
459
459
  .components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar {
460
460
  border-left-color: #1e1e1e;
461
461
  }
462
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar {
463
+ background-color: #1e1e1e;
464
+ color: #f0f0f0;
465
+ }
466
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar.block-editor-block-contextual-toolbar {
467
+ border-color: #2f2f2f;
468
+ }
469
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button {
470
+ color: #ddd;
471
+ }
472
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button:hover {
473
+ color: #fff;
474
+ }
475
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button:focus::before {
476
+ box-shadow: inset 0 0 0 1px #1e1e1e, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
477
+ }
478
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button:disabled, .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button[aria-disabled=true] {
479
+ color: #757575;
480
+ }
481
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .block-editor-block-parent-selector .block-editor-block-parent-selector__button {
482
+ border-color: #2f2f2f;
483
+ background-color: #1e1e1e;
484
+ }
485
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .block-editor-block-switcher__toggle {
486
+ color: #f0f0f0;
487
+ }
488
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .components-toolbar-group,
489
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .components-toolbar {
490
+ border-left-color: #2f2f2f !important;
491
+ }
492
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .is-pressed {
493
+ color: var(--wp-admin-theme-color);
494
+ }
462
495
  .components-popover.block-editor-block-list__block-popover.is-insertion-point-visible {
463
496
  visibility: hidden;
464
497
  }
@@ -977,22 +1010,27 @@ iframe[name=editor-canvas] {
977
1010
  outline: 1px solid rgba(0, 0, 0, 0.1);
978
1011
  outline-offset: -1px;
979
1012
  border-radius: 4px;
980
- }
981
- .block-editor-block-patterns-list__item:hover:not(:focus) .block-editor-block-preview__container::after {
982
- outline-color: rgba(0, 0, 0, 0.3);
983
- }
984
- .block-editor-block-patterns-list__item:focus .block-editor-block-preview__container::after {
985
- outline-color: var(--wp-admin-theme-color);
986
- outline-width: var(--wp-admin-border-width-focus);
987
- outline-offset: calc((-1 * var(--wp-admin-border-width-focus)));
988
1013
  transition: outline 0.1s linear;
989
1014
  }
990
1015
  @media (prefers-reduced-motion: reduce) {
991
- .block-editor-block-patterns-list__item:focus .block-editor-block-preview__container::after {
1016
+ .block-editor-block-patterns-list__item .block-editor-block-preview__container::after {
992
1017
  transition-duration: 0s;
993
1018
  transition-delay: 0s;
994
1019
  }
995
1020
  }
1021
+ .block-editor-block-patterns-list__item.is-selected .block-editor-block-preview__container::after {
1022
+ outline-color: #1e1e1e;
1023
+ outline-width: var(--wp-admin-border-width-focus);
1024
+ outline-offset: calc(-1 * var(--wp-admin-border-width-focus));
1025
+ }
1026
+ .block-editor-block-patterns-list__item:hover .block-editor-block-preview__container::after {
1027
+ outline-color: rgba(0, 0, 0, 0.3);
1028
+ }
1029
+ .block-editor-block-patterns-list__item[data-focus-visible] .block-editor-block-preview__container::after {
1030
+ outline-color: var(--wp-admin-theme-color);
1031
+ outline-width: var(--wp-admin-border-width-focus);
1032
+ outline-offset: calc(-1 * var(--wp-admin-border-width-focus));
1033
+ }
996
1034
  .block-editor-block-patterns-list__item .block-editor-patterns__pattern-details:not(:empty) {
997
1035
  align-items: center;
998
1036
  margin-top: 8px;
@@ -1170,13 +1208,6 @@ iframe[name=editor-canvas] {
1170
1208
  margin: auto;
1171
1209
  }
1172
1210
 
1173
- .block-editor-block-switcher__toggle-text {
1174
- margin-right: 8px;
1175
- }
1176
- .show-icon-labels .block-editor-block-switcher__toggle-text {
1177
- display: none;
1178
- }
1179
-
1180
1211
  .components-button.block-editor-block-switcher__no-switcher-icon {
1181
1212
  display: flex;
1182
1213
  }
@@ -1634,6 +1665,10 @@ iframe[name=editor-canvas] {
1634
1665
  text-transform: capitalize;
1635
1666
  }
1636
1667
 
1668
+ .block-editor-font-family-control:not(.is-next-has-no-margin-bottom) {
1669
+ margin-bottom: 8px;
1670
+ }
1671
+
1637
1672
  .block-editor-global-styles__toggle-icon {
1638
1673
  fill: currentColor;
1639
1674
  }
@@ -459,6 +459,39 @@ iframe[name=editor-canvas] {
459
459
  .components-popover.block-editor-block-list__block-popover .block-editor-block-toolbar .components-toolbar {
460
460
  border-right-color: #1e1e1e;
461
461
  }
462
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar {
463
+ background-color: #1e1e1e;
464
+ color: #f0f0f0;
465
+ }
466
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar.block-editor-block-contextual-toolbar {
467
+ border-color: #2f2f2f;
468
+ }
469
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button {
470
+ color: #ddd;
471
+ }
472
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button:hover {
473
+ color: #fff;
474
+ }
475
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button:focus::before {
476
+ box-shadow: inset 0 0 0 1px #1e1e1e, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
477
+ }
478
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button:disabled, .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar button[aria-disabled=true] {
479
+ color: #757575;
480
+ }
481
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .block-editor-block-parent-selector .block-editor-block-parent-selector__button {
482
+ border-color: #2f2f2f;
483
+ background-color: #1e1e1e;
484
+ }
485
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .block-editor-block-switcher__toggle {
486
+ color: #f0f0f0;
487
+ }
488
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .components-toolbar-group,
489
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .components-toolbar {
490
+ border-right-color: #2f2f2f !important;
491
+ }
492
+ .components-popover.block-editor-block-list__block-popover .is-inverted-toolbar .is-pressed {
493
+ color: var(--wp-admin-theme-color);
494
+ }
462
495
  .components-popover.block-editor-block-list__block-popover.is-insertion-point-visible {
463
496
  visibility: hidden;
464
497
  }
@@ -977,22 +1010,27 @@ iframe[name=editor-canvas] {
977
1010
  outline: 1px solid rgba(0, 0, 0, 0.1);
978
1011
  outline-offset: -1px;
979
1012
  border-radius: 4px;
980
- }
981
- .block-editor-block-patterns-list__item:hover:not(:focus) .block-editor-block-preview__container::after {
982
- outline-color: rgba(0, 0, 0, 0.3);
983
- }
984
- .block-editor-block-patterns-list__item:focus .block-editor-block-preview__container::after {
985
- outline-color: var(--wp-admin-theme-color);
986
- outline-width: var(--wp-admin-border-width-focus);
987
- outline-offset: calc((-1 * var(--wp-admin-border-width-focus)));
988
1013
  transition: outline 0.1s linear;
989
1014
  }
990
1015
  @media (prefers-reduced-motion: reduce) {
991
- .block-editor-block-patterns-list__item:focus .block-editor-block-preview__container::after {
1016
+ .block-editor-block-patterns-list__item .block-editor-block-preview__container::after {
992
1017
  transition-duration: 0s;
993
1018
  transition-delay: 0s;
994
1019
  }
995
1020
  }
1021
+ .block-editor-block-patterns-list__item.is-selected .block-editor-block-preview__container::after {
1022
+ outline-color: #1e1e1e;
1023
+ outline-width: var(--wp-admin-border-width-focus);
1024
+ outline-offset: calc(-1 * var(--wp-admin-border-width-focus));
1025
+ }
1026
+ .block-editor-block-patterns-list__item:hover .block-editor-block-preview__container::after {
1027
+ outline-color: rgba(0, 0, 0, 0.3);
1028
+ }
1029
+ .block-editor-block-patterns-list__item[data-focus-visible] .block-editor-block-preview__container::after {
1030
+ outline-color: var(--wp-admin-theme-color);
1031
+ outline-width: var(--wp-admin-border-width-focus);
1032
+ outline-offset: calc(-1 * var(--wp-admin-border-width-focus));
1033
+ }
996
1034
  .block-editor-block-patterns-list__item .block-editor-patterns__pattern-details:not(:empty) {
997
1035
  align-items: center;
998
1036
  margin-top: 8px;
@@ -1170,13 +1208,6 @@ iframe[name=editor-canvas] {
1170
1208
  margin: auto;
1171
1209
  }
1172
1210
 
1173
- .block-editor-block-switcher__toggle-text {
1174
- margin-left: 8px;
1175
- }
1176
- .show-icon-labels .block-editor-block-switcher__toggle-text {
1177
- display: none;
1178
- }
1179
-
1180
1211
  .components-button.block-editor-block-switcher__no-switcher-icon {
1181
1212
  display: flex;
1182
1213
  }
@@ -1634,6 +1665,10 @@ iframe[name=editor-canvas] {
1634
1665
  text-transform: capitalize;
1635
1666
  }
1636
1667
 
1668
+ .block-editor-font-family-control:not(.is-next-has-no-margin-bottom) {
1669
+ margin-bottom: 8px;
1670
+ }
1671
+
1637
1672
  .block-editor-global-styles__toggle-icon {
1638
1673
  fill: currentColor;
1639
1674
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "14.7.1-next.082ed6819.0",
3
+ "version": "14.8.1-next.cd6172eb0.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -37,37 +37,37 @@
37
37
  "@emotion/react": "^11.7.1",
38
38
  "@emotion/styled": "^11.6.0",
39
39
  "@react-spring/web": "^9.4.5",
40
- "@wordpress/a11y": "^4.12.1-next.082ed6819.0",
41
- "@wordpress/api-fetch": "^7.12.1-next.082ed6819.0",
42
- "@wordpress/blob": "^4.12.1-next.082ed6819.0",
43
- "@wordpress/block-serialization-default-parser": "^5.12.1-next.082ed6819.0",
44
- "@wordpress/blocks": "^14.1.1-next.082ed6819.0",
45
- "@wordpress/commands": "^1.12.1-next.082ed6819.0",
40
+ "@wordpress/a11y": "^4.13.1-next.cd6172eb0.0",
41
+ "@wordpress/api-fetch": "^7.13.1-next.cd6172eb0.0",
42
+ "@wordpress/blob": "^4.13.1-next.cd6172eb0.0",
43
+ "@wordpress/block-serialization-default-parser": "^5.13.1-next.cd6172eb0.0",
44
+ "@wordpress/blocks": "^14.2.1-next.cd6172eb0.0",
45
+ "@wordpress/commands": "^1.13.1-next.cd6172eb0.0",
46
46
  "@wordpress/components": "*",
47
- "@wordpress/compose": "^7.12.1-next.082ed6819.0",
48
- "@wordpress/data": "*",
49
- "@wordpress/date": "^5.12.1-next.082ed6819.0",
50
- "@wordpress/deprecated": "^4.12.1-next.082ed6819.0",
51
- "@wordpress/dom": "^4.12.1-next.082ed6819.0",
52
- "@wordpress/element": "^6.12.1-next.082ed6819.0",
53
- "@wordpress/escape-html": "^3.12.1-next.082ed6819.0",
54
- "@wordpress/hooks": "^4.12.1-next.082ed6819.0",
55
- "@wordpress/html-entities": "^4.12.1-next.082ed6819.0",
56
- "@wordpress/i18n": "^5.12.1-next.082ed6819.0",
57
- "@wordpress/icons": "^10.12.1-next.082ed6819.0",
58
- "@wordpress/is-shallow-equal": "^5.12.1-next.082ed6819.0",
59
- "@wordpress/keyboard-shortcuts": "^5.12.1-next.082ed6819.0",
60
- "@wordpress/keycodes": "^4.12.1-next.082ed6819.0",
61
- "@wordpress/notices": "^5.12.1-next.082ed6819.0",
62
- "@wordpress/preferences": "^4.12.1-next.082ed6819.0",
63
- "@wordpress/priority-queue": "^3.12.1-next.082ed6819.0",
64
- "@wordpress/private-apis": "^1.12.1-next.082ed6819.0",
65
- "@wordpress/rich-text": "^7.12.1-next.082ed6819.0",
66
- "@wordpress/style-engine": "^2.12.1-next.082ed6819.0",
67
- "@wordpress/token-list": "^3.12.1-next.082ed6819.0",
68
- "@wordpress/url": "^4.12.1-next.082ed6819.0",
69
- "@wordpress/warning": "^3.12.1-next.082ed6819.0",
70
- "@wordpress/wordcount": "^4.12.1-next.082ed6819.0",
47
+ "@wordpress/compose": "^7.13.1-next.cd6172eb0.0",
48
+ "@wordpress/data": "^10.13.1-next.cd6172eb0.0",
49
+ "@wordpress/date": "^5.13.1-next.cd6172eb0.0",
50
+ "@wordpress/deprecated": "^4.13.1-next.cd6172eb0.0",
51
+ "@wordpress/dom": "^4.13.1-next.cd6172eb0.0",
52
+ "@wordpress/element": "^6.13.1-next.cd6172eb0.0",
53
+ "@wordpress/escape-html": "^3.13.1-next.cd6172eb0.0",
54
+ "@wordpress/hooks": "^4.13.1-next.cd6172eb0.0",
55
+ "@wordpress/html-entities": "^4.13.1-next.cd6172eb0.0",
56
+ "@wordpress/i18n": "^5.13.1-next.cd6172eb0.0",
57
+ "@wordpress/icons": "^10.13.1-next.cd6172eb0.0",
58
+ "@wordpress/is-shallow-equal": "^5.13.1-next.cd6172eb0.0",
59
+ "@wordpress/keyboard-shortcuts": "^5.13.1-next.cd6172eb0.0",
60
+ "@wordpress/keycodes": "^4.13.1-next.cd6172eb0.0",
61
+ "@wordpress/notices": "^5.13.1-next.cd6172eb0.0",
62
+ "@wordpress/preferences": "^4.13.1-next.cd6172eb0.0",
63
+ "@wordpress/priority-queue": "^3.13.1-next.cd6172eb0.0",
64
+ "@wordpress/private-apis": "^1.13.1-next.cd6172eb0.0",
65
+ "@wordpress/rich-text": "^7.13.1-next.cd6172eb0.0",
66
+ "@wordpress/style-engine": "^2.13.1-next.cd6172eb0.0",
67
+ "@wordpress/token-list": "^3.13.1-next.cd6172eb0.0",
68
+ "@wordpress/url": "^4.13.1-next.cd6172eb0.0",
69
+ "@wordpress/warning": "^3.13.1-next.cd6172eb0.0",
70
+ "@wordpress/wordcount": "^4.13.1-next.cd6172eb0.0",
71
71
  "change-case": "^4.1.2",
72
72
  "clsx": "^2.1.1",
73
73
  "colord": "^2.7.0",
@@ -90,5 +90,5 @@
90
90
  "publishConfig": {
91
91
  "access": "public"
92
92
  },
93
- "gitHead": "2bb7bad15ddb8e88210fab7d4a1ef1565466e424"
93
+ "gitHead": "4cc93dc1781d8a7bc2bbde265913917920e2bd45"
94
94
  }
@@ -23,12 +23,10 @@ import { orderInserterBlockItems } from '../utils/order-inserter-block-items';
23
23
  const noop = () => {};
24
24
  const SHOWN_BLOCK_TYPES = 9;
25
25
 
26
- /** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */
27
-
28
26
  /**
29
27
  * Creates a blocks repeater for replacing the current block with a selected block type.
30
28
  *
31
- * @return {WPCompleter} A blocks completer.
29
+ * @return {Object} A blocks completer.
32
30
  */
33
31
  function createBlockCompleter() {
34
32
  return {
@@ -157,6 +155,6 @@ function createBlockCompleter() {
157
155
  /**
158
156
  * Creates a blocks repeater for replacing the current block with a selected block type.
159
157
  *
160
- * @return {WPCompleter} A blocks completer.
158
+ * @return {Object} A blocks completer.
161
159
  */
162
160
  export default createBlockCompleter();
@@ -10,12 +10,10 @@ import { decodeEntities } from '@wordpress/html-entities';
10
10
 
11
11
  const SHOWN_SUGGESTIONS = 10;
12
12
 
13
- /** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */
14
-
15
13
  /**
16
14
  * Creates a suggestion list for links to posts or pages.
17
15
  *
18
- * @return {WPCompleter} A links completer.
16
+ * @return {Object} A links completer.
19
17
  */
20
18
  function createLinkCompleter() {
21
19
  return {
@@ -60,6 +58,6 @@ function createLinkCompleter() {
60
58
  /**
61
59
  * Creates a suggestion list for links to posts or pages..
62
60
  *
63
- * @return {WPCompleter} A link completer.
61
+ * @return {Object} A link completer.
64
62
  */
65
63
  export default createLinkCompleter();
@@ -0,0 +1,47 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useState } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { AlignmentToolbar } from '..';
10
+
11
+ /**
12
+ * The `AlignmentToolbar` component renders a dropdown menu that displays alignment options for the selected block in `Toolbar`.
13
+ */
14
+ const meta = {
15
+ title: 'BlockEditor/AlignmentToolbar',
16
+ component: AlignmentToolbar,
17
+ argTypes: {
18
+ value: {
19
+ control: { type: null },
20
+ defaultValue: 'undefined',
21
+ description: 'The current value of the alignment setting.',
22
+ },
23
+ onChange: {
24
+ action: 'onChange',
25
+ control: { type: null },
26
+ description:
27
+ "A callback function invoked when the toolbar's alignment value is changed via an interaction with any of the toolbar's buttons. Called with the new alignment value (ie: `left`, `center`, `right`, `undefined`) as the only argument.",
28
+ },
29
+ },
30
+ };
31
+ export default meta;
32
+
33
+ export const Default = {
34
+ render: function Template( { onChange, ...args } ) {
35
+ const [ value, setValue ] = useState();
36
+ return (
37
+ <AlignmentToolbar
38
+ { ...args }
39
+ onChange={ ( ...changeArgs ) => {
40
+ onChange( ...changeArgs );
41
+ setValue( ...changeArgs );
42
+ } }
43
+ value={ value }
44
+ />
45
+ );
46
+ },
47
+ };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useState } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { AlignmentControl } from '../';
10
+
11
+ /**
12
+ * The `AlignmentControl` component renders a dropdown menu that displays alignment options for the selected block.
13
+ *
14
+ * This component is mostly used for blocks that display text, such as Heading, Paragraph, Post Author, Post Comments, Verse, Quote, Post Title, etc... And the available alignment options are `left`, `center` or `right` alignment.
15
+ *
16
+ * If you want to use the alignment control in a toolbar, you should use the `AlignmentToolbar` component instead.
17
+ */
18
+ const meta = {
19
+ title: 'BlockEditor/AlignmentControl',
20
+ component: AlignmentControl,
21
+ argTypes: {
22
+ value: {
23
+ control: { type: null },
24
+ defaultValue: 'undefined',
25
+ description: 'The current value of the alignment setting.',
26
+ },
27
+ onChange: {
28
+ action: 'onChange',
29
+ control: { type: null },
30
+ description:
31
+ "A callback function invoked when the toolbar's alignment value is changed via an interaction with any of the toolbar's buttons. Called with the new alignment value (ie: `left`, `center`, `right`, `undefined`) as the only argument.",
32
+ },
33
+ },
34
+ };
35
+ export default meta;
36
+
37
+ export const Default = {
38
+ render: function Template( { onChange, ...args } ) {
39
+ const [ value, setValue ] = useState();
40
+ return (
41
+ <AlignmentControl
42
+ { ...args }
43
+ onChange={ ( ...changeArgs ) => {
44
+ onChange( ...changeArgs );
45
+ setValue( ...changeArgs );
46
+ } }
47
+ value={ value }
48
+ />
49
+ );
50
+ },
51
+ };