@wordpress/block-editor 12.19.2 → 12.20.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 (198) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-canvas/index.js +2 -0
  3. package/build/components/block-canvas/index.js.map +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js +14 -17
  5. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  6. package/build/components/block-inspector/index.js +0 -3
  7. package/build/components/block-inspector/index.js.map +1 -1
  8. package/build/components/block-list/index.js +9 -9
  9. package/build/components/block-list/index.js.map +1 -1
  10. package/build/components/block-preview/index.js +4 -0
  11. package/build/components/block-preview/index.js.map +1 -1
  12. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
  13. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  14. package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
  15. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  16. package/build/components/block-tools/insertion-point.js +4 -1
  17. package/build/components/block-tools/insertion-point.js.map +1 -1
  18. package/build/components/child-layout-control/index.js +37 -5
  19. package/build/components/child-layout-control/index.js.map +1 -1
  20. package/build/components/date-format-picker/index.js +0 -1
  21. package/build/components/date-format-picker/index.js.map +1 -1
  22. package/build/components/font-appearance-control/index.js +1 -2
  23. package/build/components/font-appearance-control/index.js.map +1 -1
  24. package/build/components/global-styles/advanced-panel.js +5 -10
  25. package/build/components/global-styles/advanced-panel.js.map +1 -1
  26. package/build/components/global-styles/dimensions-panel.js +30 -19
  27. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  28. package/build/components/global-styles/shadow-panel-components.js +3 -3
  29. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  30. package/build/components/inserter/media-tab/media-preview.js +1 -1
  31. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  32. package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
  33. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  34. package/build/components/observe-typing/index.js +5 -10
  35. package/build/components/observe-typing/index.js.map +1 -1
  36. package/build/components/rich-text/format-toolbar-container.js +1 -31
  37. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  38. package/build/components/rich-text/index.js +8 -5
  39. package/build/components/rich-text/index.js.map +1 -1
  40. package/build/components/rich-text/use-paste-handler.js +25 -26
  41. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  42. package/build/components/skip-to-selected-block/index.js +7 -14
  43. package/build/components/skip-to-selected-block/index.js.map +1 -1
  44. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  45. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  46. package/build/components/url-input/index.js +5 -8
  47. package/build/components/url-input/index.js.map +1 -1
  48. package/build/hooks/background.js +4 -2
  49. package/build/hooks/background.js.map +1 -1
  50. package/build/hooks/layout-child.js +50 -1
  51. package/build/hooks/layout-child.js.map +1 -1
  52. package/build/hooks/position.js +0 -1
  53. package/build/hooks/position.js.map +1 -1
  54. package/build/layouts/grid.js +105 -12
  55. package/build/layouts/grid.js.map +1 -1
  56. package/build/private-apis.js +3 -1
  57. package/build/private-apis.js.map +1 -1
  58. package/build/store/actions.js +2 -30
  59. package/build/store/actions.js.map +1 -1
  60. package/build/store/index.js +0 -2
  61. package/build/store/index.js.map +1 -1
  62. package/build/store/private-keys.js +8 -0
  63. package/build/store/private-keys.js.map +1 -0
  64. package/build/store/private-selectors.js +6 -9
  65. package/build/store/private-selectors.js.map +1 -1
  66. package/build/store/reducer.js +1 -9
  67. package/build/store/reducer.js.map +1 -1
  68. package/build/store/selectors.js +7 -12
  69. package/build/store/selectors.js.map +1 -1
  70. package/build/store/utils.js +7 -2
  71. package/build/store/utils.js.map +1 -1
  72. package/build-module/components/block-canvas/index.js +2 -0
  73. package/build-module/components/block-canvas/index.js.map +1 -1
  74. package/build-module/components/block-heading-level-dropdown/index.js +14 -17
  75. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  76. package/build-module/components/block-inspector/index.js +1 -4
  77. package/build-module/components/block-inspector/index.js.map +1 -1
  78. package/build-module/components/block-list/index.js +9 -9
  79. package/build-module/components/block-list/index.js.map +1 -1
  80. package/build-module/components/block-preview/index.js +4 -0
  81. package/build-module/components/block-preview/index.js.map +1 -1
  82. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
  83. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  84. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
  85. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  86. package/build-module/components/block-tools/insertion-point.js +4 -1
  87. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  88. package/build-module/components/child-layout-control/index.js +38 -6
  89. package/build-module/components/child-layout-control/index.js.map +1 -1
  90. package/build-module/components/date-format-picker/index.js +0 -1
  91. package/build-module/components/date-format-picker/index.js.map +1 -1
  92. package/build-module/components/font-appearance-control/index.js +1 -2
  93. package/build-module/components/font-appearance-control/index.js.map +1 -1
  94. package/build-module/components/global-styles/advanced-panel.js +6 -11
  95. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  96. package/build-module/components/global-styles/dimensions-panel.js +30 -19
  97. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  98. package/build-module/components/global-styles/shadow-panel-components.js +3 -3
  99. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  100. package/build-module/components/inserter/media-tab/media-preview.js +1 -1
  101. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  102. package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
  103. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  104. package/build-module/components/observe-typing/index.js +5 -10
  105. package/build-module/components/observe-typing/index.js.map +1 -1
  106. package/build-module/components/rich-text/format-toolbar-container.js +1 -31
  107. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  108. package/build-module/components/rich-text/index.js +8 -5
  109. package/build-module/components/rich-text/index.js.map +1 -1
  110. package/build-module/components/rich-text/use-paste-handler.js +25 -26
  111. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  112. package/build-module/components/skip-to-selected-block/index.js +8 -14
  113. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  114. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  115. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  116. package/build-module/components/url-input/index.js +5 -8
  117. package/build-module/components/url-input/index.js.map +1 -1
  118. package/build-module/hooks/background.js +4 -2
  119. package/build-module/hooks/background.js.map +1 -1
  120. package/build-module/hooks/layout-child.js +50 -1
  121. package/build-module/hooks/layout-child.js.map +1 -1
  122. package/build-module/hooks/position.js +0 -1
  123. package/build-module/hooks/position.js.map +1 -1
  124. package/build-module/layouts/grid.js +107 -14
  125. package/build-module/layouts/grid.js.map +1 -1
  126. package/build-module/private-apis.js +3 -1
  127. package/build-module/private-apis.js.map +1 -1
  128. package/build-module/store/actions.js +2 -30
  129. package/build-module/store/actions.js.map +1 -1
  130. package/build-module/store/index.js +0 -2
  131. package/build-module/store/index.js.map +1 -1
  132. package/build-module/store/private-keys.js +2 -0
  133. package/build-module/store/private-keys.js.map +1 -0
  134. package/build-module/store/private-selectors.js +5 -6
  135. package/build-module/store/private-selectors.js.map +1 -1
  136. package/build-module/store/reducer.js +1 -9
  137. package/build-module/store/reducer.js.map +1 -1
  138. package/build-module/store/selectors.js +8 -13
  139. package/build-module/store/selectors.js.map +1 -1
  140. package/build-module/store/utils.js +6 -2
  141. package/build-module/store/utils.js.map +1 -1
  142. package/build-style/style-rtl.css +12 -27
  143. package/build-style/style.css +12 -27
  144. package/package.json +31 -32
  145. package/src/components/block-canvas/index.js +2 -0
  146. package/src/components/block-heading-level-dropdown/index.js +17 -25
  147. package/src/components/block-inspector/index.js +0 -11
  148. package/src/components/block-list/index.js +55 -55
  149. package/src/components/block-preview/index.js +6 -1
  150. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
  151. package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
  152. package/src/components/block-styles/style.scss +0 -4
  153. package/src/components/block-toolbar/style.scss +11 -6
  154. package/src/components/block-tools/insertion-point.js +6 -1
  155. package/src/components/child-layout-control/index.js +85 -44
  156. package/src/components/date-format-picker/index.js +0 -1
  157. package/src/components/font-appearance-control/index.js +0 -1
  158. package/src/components/global-styles/advanced-panel.js +6 -12
  159. package/src/components/global-styles/dimensions-panel.js +36 -24
  160. package/src/components/global-styles/shadow-panel-components.js +3 -3
  161. package/src/components/global-styles/style.scss +0 -10
  162. package/src/components/global-styles/test/use-global-styles-output.js +3 -2
  163. package/src/components/inserter/media-tab/media-preview.js +6 -1
  164. package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
  165. package/src/components/observe-typing/index.js +7 -10
  166. package/src/components/rich-text/format-toolbar-container.js +1 -48
  167. package/src/components/rich-text/index.js +12 -6
  168. package/src/components/rich-text/use-paste-handler.js +26 -25
  169. package/src/components/skip-to-selected-block/index.js +10 -13
  170. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  171. package/src/components/url-input/index.js +6 -15
  172. package/src/hooks/anchor.scss +1 -1
  173. package/src/hooks/background.js +5 -2
  174. package/src/hooks/layout-child.js +53 -1
  175. package/src/hooks/position.js +0 -1
  176. package/src/layouts/grid.js +131 -52
  177. package/src/layouts/test/grid.js +16 -2
  178. package/src/private-apis.js +2 -0
  179. package/src/store/actions.js +2 -38
  180. package/src/store/index.js +0 -2
  181. package/src/store/private-keys.js +1 -0
  182. package/src/store/private-selectors.js +4 -7
  183. package/src/store/reducer.js +0 -10
  184. package/src/store/selectors.js +7 -15
  185. package/src/store/test/actions.js +0 -101
  186. package/src/store/utils.js +7 -2
  187. package/src/style.scss +0 -1
  188. package/build/components/default-style-picker/index.js +0 -70
  189. package/build/components/default-style-picker/index.js.map +0 -1
  190. package/build/store/resolvers.js +0 -27
  191. package/build/store/resolvers.js.map +0 -1
  192. package/build-module/components/default-style-picker/index.js +0 -63
  193. package/build-module/components/default-style-picker/index.js.map +0 -1
  194. package/build-module/store/resolvers.js +0 -20
  195. package/build-module/store/resolvers.js.map +0 -1
  196. package/src/components/block-settings-menu/style.scss +0 -3
  197. package/src/components/default-style-picker/index.js +0 -70
  198. package/src/store/resolvers.js +0 -17
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getAllPatternsDependants = exports.checkAllowListRecursive = exports.checkAllowList = void 0;
7
+ var _privateKeys = require("./private-keys");
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+
7
12
  const checkAllowList = (list, item, defaultResult = null) => {
8
13
  if (typeof list === 'boolean') {
9
14
  return list;
@@ -38,8 +43,8 @@ const checkAllowListRecursive = (blocks, allowedBlockTypes) => {
38
43
  return true;
39
44
  };
40
45
  exports.checkAllowListRecursive = checkAllowListRecursive;
41
- const getAllPatternsDependants = state => {
42
- return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings.__experimentalFetchBlockPatterns, state.blockPatterns];
46
+ const getAllPatternsDependants = select => state => {
47
+ return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings[_privateKeys.selectBlockPatternsKey]?.(select), state.blockPatterns];
43
48
  };
44
49
  exports.getAllPatternsDependants = getAllPatternsDependants;
45
50
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["checkAllowList","list","item","defaultResult","Array","isArray","includes","exports","checkAllowListRecursive","blocks","allowedBlockTypes","blocksQueue","length","block","shift","isAllowed","name","blockName","innerBlocks","forEach","innerBlock","push","getAllPatternsDependants","state","settings","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","__experimentalFetchBlockPatterns","blockPatterns"],"sources":["@wordpress/block-editor/src/store/utils.js"],"sourcesContent":["export const checkAllowList = ( list, item, defaultResult = null ) => {\n\tif ( typeof list === 'boolean' ) {\n\t\treturn list;\n\t}\n\tif ( Array.isArray( list ) ) {\n\t\t// TODO: when there is a canonical way to detect that we are editing a post\n\t\t// the following check should be changed to something like:\n\t\t// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )\n\t\tif ( list.includes( 'core/post-content' ) && item === null ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn list.includes( item );\n\t}\n\treturn defaultResult;\n};\n\nexport const checkAllowListRecursive = ( blocks, allowedBlockTypes ) => {\n\tif ( typeof allowedBlockTypes === 'boolean' ) {\n\t\treturn allowedBlockTypes;\n\t}\n\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\n\t\tconst isAllowed = checkAllowList(\n\t\t\tallowedBlockTypes,\n\t\t\tblock.name || block.blockName,\n\t\t\ttrue\n\t\t);\n\t\tif ( ! isAllowed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\n\treturn true;\n};\n\nexport const getAllPatternsDependants = ( state ) => {\n\treturn [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.__experimentalUserPatternCategories,\n\t\tstate.settings.__experimentalReusableBlocks,\n\t\tstate.settings.__experimentalFetchBlockPatterns,\n\t\tstate.blockPatterns,\n\t];\n};\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAGA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,aAAa,GAAG,IAAI,KAAM;EACrE,IAAK,OAAOF,IAAI,KAAK,SAAS,EAAG;IAChC,OAAOA,IAAI;EACZ;EACA,IAAKG,KAAK,CAACC,OAAO,CAAEJ,IAAK,CAAC,EAAG;IAC5B;IACA;IACA;IACA,IAAKA,IAAI,CAACK,QAAQ,CAAE,mBAAoB,CAAC,IAAIJ,IAAI,KAAK,IAAI,EAAG;MAC5D,OAAO,IAAI;IACZ;IACA,OAAOD,IAAI,CAACK,QAAQ,CAAEJ,IAAK,CAAC;EAC7B;EACA,OAAOC,aAAa;AACrB,CAAC;AAACI,OAAA,CAAAP,cAAA,GAAAA,cAAA;AAEK,MAAMQ,uBAAuB,GAAGA,CAAEC,MAAM,EAAEC,iBAAiB,KAAM;EACvE,IAAK,OAAOA,iBAAiB,KAAK,SAAS,EAAG;IAC7C,OAAOA,iBAAiB;EACzB;EAEA,MAAMC,WAAW,GAAG,CAAE,GAAGF,MAAM,CAAE;EACjC,OAAQE,WAAW,CAACC,MAAM,GAAG,CAAC,EAAG;IAChC,MAAMC,KAAK,GAAGF,WAAW,CAACG,KAAK,CAAC,CAAC;IAEjC,MAAMC,SAAS,GAAGf,cAAc,CAC/BU,iBAAiB,EACjBG,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACI,SAAS,EAC7B,IACD,CAAC;IACD,IAAK,CAAEF,SAAS,EAAG;MAClB,OAAO,KAAK;IACb;IAEAF,KAAK,CAACK,WAAW,EAAEC,OAAO,CAAIC,UAAU,IAAM;MAC7CT,WAAW,CAACU,IAAI,CAAED,UAAW,CAAC;IAC/B,CAAE,CAAC;EACJ;EAEA,OAAO,IAAI;AACZ,CAAC;AAACb,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEK,MAAMc,wBAAwB,GAAKC,KAAK,IAAM;EACpD,OAAO,CACNA,KAAK,CAACC,QAAQ,CAACC,2BAA2B,EAC1CF,KAAK,CAACC,QAAQ,CAACE,mCAAmC,EAClDH,KAAK,CAACC,QAAQ,CAACG,4BAA4B,EAC3CJ,KAAK,CAACC,QAAQ,CAACI,gCAAgC,EAC/CL,KAAK,CAACM,aAAa,CACnB;AACF,CAAC;AAACtB,OAAA,CAAAe,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_privateKeys","require","checkAllowList","list","item","defaultResult","Array","isArray","includes","exports","checkAllowListRecursive","blocks","allowedBlockTypes","blocksQueue","length","block","shift","isAllowed","name","blockName","innerBlocks","forEach","innerBlock","push","getAllPatternsDependants","select","state","settings","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","selectBlockPatternsKey","blockPatterns"],"sources":["@wordpress/block-editor/src/store/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { selectBlockPatternsKey } from './private-keys';\n\nexport const checkAllowList = ( list, item, defaultResult = null ) => {\n\tif ( typeof list === 'boolean' ) {\n\t\treturn list;\n\t}\n\tif ( Array.isArray( list ) ) {\n\t\t// TODO: when there is a canonical way to detect that we are editing a post\n\t\t// the following check should be changed to something like:\n\t\t// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )\n\t\tif ( list.includes( 'core/post-content' ) && item === null ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn list.includes( item );\n\t}\n\treturn defaultResult;\n};\n\nexport const checkAllowListRecursive = ( blocks, allowedBlockTypes ) => {\n\tif ( typeof allowedBlockTypes === 'boolean' ) {\n\t\treturn allowedBlockTypes;\n\t}\n\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\n\t\tconst isAllowed = checkAllowList(\n\t\t\tallowedBlockTypes,\n\t\t\tblock.name || block.blockName,\n\t\t\ttrue\n\t\t);\n\t\tif ( ! isAllowed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\n\treturn true;\n};\n\nexport const getAllPatternsDependants = ( select ) => ( state ) => {\n\treturn [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.__experimentalUserPatternCategories,\n\t\tstate.settings.__experimentalReusableBlocks,\n\t\tstate.settings[ selectBlockPatternsKey ]?.( select ),\n\t\tstate.blockPatterns,\n\t];\n};\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,cAAc,GAAGA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,aAAa,GAAG,IAAI,KAAM;EACrE,IAAK,OAAOF,IAAI,KAAK,SAAS,EAAG;IAChC,OAAOA,IAAI;EACZ;EACA,IAAKG,KAAK,CAACC,OAAO,CAAEJ,IAAK,CAAC,EAAG;IAC5B;IACA;IACA;IACA,IAAKA,IAAI,CAACK,QAAQ,CAAE,mBAAoB,CAAC,IAAIJ,IAAI,KAAK,IAAI,EAAG;MAC5D,OAAO,IAAI;IACZ;IACA,OAAOD,IAAI,CAACK,QAAQ,CAAEJ,IAAK,CAAC;EAC7B;EACA,OAAOC,aAAa;AACrB,CAAC;AAACI,OAAA,CAAAP,cAAA,GAAAA,cAAA;AAEK,MAAMQ,uBAAuB,GAAGA,CAAEC,MAAM,EAAEC,iBAAiB,KAAM;EACvE,IAAK,OAAOA,iBAAiB,KAAK,SAAS,EAAG;IAC7C,OAAOA,iBAAiB;EACzB;EAEA,MAAMC,WAAW,GAAG,CAAE,GAAGF,MAAM,CAAE;EACjC,OAAQE,WAAW,CAACC,MAAM,GAAG,CAAC,EAAG;IAChC,MAAMC,KAAK,GAAGF,WAAW,CAACG,KAAK,CAAC,CAAC;IAEjC,MAAMC,SAAS,GAAGf,cAAc,CAC/BU,iBAAiB,EACjBG,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACI,SAAS,EAC7B,IACD,CAAC;IACD,IAAK,CAAEF,SAAS,EAAG;MAClB,OAAO,KAAK;IACb;IAEAF,KAAK,CAACK,WAAW,EAAEC,OAAO,CAAIC,UAAU,IAAM;MAC7CT,WAAW,CAACU,IAAI,CAAED,UAAW,CAAC;IAC/B,CAAE,CAAC;EACJ;EAEA,OAAO,IAAI;AACZ,CAAC;AAACb,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEK,MAAMc,wBAAwB,GAAKC,MAAM,IAAQC,KAAK,IAAM;EAClE,OAAO,CACNA,KAAK,CAACC,QAAQ,CAACC,2BAA2B,EAC1CF,KAAK,CAACC,QAAQ,CAACE,mCAAmC,EAClDH,KAAK,CAACC,QAAQ,CAACG,4BAA4B,EAC3CJ,KAAK,CAACC,QAAQ,CAAEI,mCAAsB,CAAE,GAAIN,MAAO,CAAC,EACpDC,KAAK,CAACM,aAAa,CACnB;AACF,CAAC;AAACvB,OAAA,CAAAe,wBAAA,GAAAA,wBAAA"}
@@ -15,6 +15,7 @@ import Iframe from '../iframe';
15
15
  import WritingFlow from '../writing-flow';
16
16
  import { useMouseMoveTypingReset } from '../observe-typing';
17
17
  import { useBlockSelectionClearer } from '../block-selection-clearer';
18
+ import { useBlockCommands } from '../use-block-commands';
18
19
  export function ExperimentalBlockCanvas({
19
20
  shouldIframe = true,
20
21
  height = '300px',
@@ -23,6 +24,7 @@ export function ExperimentalBlockCanvas({
23
24
  contentRef: contentRefProp,
24
25
  iframeProps
25
26
  }) {
27
+ useBlockCommands();
26
28
  const resetTypingRef = useMouseMoveTypingReset();
27
29
  const clearerRef = useBlockSelectionClearer();
28
30
  const localRef = useRef();
@@ -1 +1 @@
1
- {"version":3,"names":["useMergeRefs","useRef","BlockList","BlockTools","EditorStyles","Iframe","WritingFlow","useMouseMoveTypingReset","useBlockSelectionClearer","ExperimentalBlockCanvas","shouldIframe","height","children","createElement","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","clearerRef","localRef","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;AAErE,OAAO,SAASC,uBAAuBA,CAAE;EACxCC,YAAY,GAAG,IAAI;EACnBC,MAAM,GAAG,OAAO;EAChBC,QAAQ,GAAGC,aAAA,CAACX,SAAS,MAAE,CAAC;EACxBY,MAAM;EACNC,UAAU,EAAEC,cAAc;EAC1BC;AACD,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGX,uBAAuB,CAAC,CAAC;EAChD,MAAMY,UAAU,GAAGX,wBAAwB,CAAC,CAAC;EAC7C,MAAMY,QAAQ,GAAGnB,MAAM,CAAC,CAAC;EACzB,MAAMc,UAAU,GAAGf,YAAY,CAAE,CAAEgB,cAAc,EAAEG,UAAU,EAAEC,QAAQ,CAAG,CAAC;EAE3E,IAAK,CAAEV,YAAY,EAAG;IACrB,OACCG,aAAA,CAACV,UAAU;MACVkB,oBAAoB,EAAGD,QAAU;MACjCE,KAAK,EAAG;QAAEX,MAAM;QAAEY,OAAO,EAAE;MAAO;IAAG,GAErCV,aAAA,CAACT,YAAY;MACZU,MAAM,EAAGA,MAAQ;MACjBU,KAAK,EAAC;IAAwB,CAC9B,CAAC,EACFX,aAAA,CAACP,WAAW;MACXmB,GAAG,EAAGV,UAAY;MAClBW,SAAS,EAAC,uBAAuB;MACjCC,QAAQ,EAAG,CAAC,CAAG;MACfL,KAAK,EAAG;QACPX,MAAM,EAAE,MAAM;QACdiB,KAAK,EAAE;MACR;IAAG,GAEDhB,QACU,CACF,CAAC;EAEf;EAEA,OACCC,aAAA,CAACV,UAAU;IACVkB,oBAAoB,EAAGD,QAAU;IACjCE,KAAK,EAAG;MAAEX,MAAM;MAAEY,OAAO,EAAE;IAAO;EAAG,GAErCV,aAAA,CAACR,MAAM;IAAA,GACDY,WAAW;IAChBQ,GAAG,EAAGP,cAAgB;IACtBH,UAAU,EAAGA,UAAY;IACzBO,KAAK,EAAG;MACP,GAAGL,WAAW,EAAEK;IACjB,CAAG;IACHO,IAAI,EAAC;EAAe,GAEpBhB,aAAA,CAACT,YAAY;IAACU,MAAM,EAAGA;EAAQ,CAAE,CAAC,EAChCF,QACK,CACG,CAAC;AAEf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASkB,WAAWA,CAAE;EAAElB,QAAQ;EAAED,MAAM;EAAEG;AAAO,CAAC,EAAG;EACpD,OACCD,aAAA,CAACJ,uBAAuB;IAACE,MAAM,EAAGA,MAAQ;IAACG,MAAM,EAAGA;EAAQ,GACzDF,QACsB,CAAC;AAE5B;AAEA,eAAekB,WAAW"}
1
+ {"version":3,"names":["useMergeRefs","useRef","BlockList","BlockTools","EditorStyles","Iframe","WritingFlow","useMouseMoveTypingReset","useBlockSelectionClearer","useBlockCommands","ExperimentalBlockCanvas","shouldIframe","height","children","createElement","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","clearerRef","localRef","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useBlockCommands } from '../use-block-commands';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tuseBlockCommands();\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAO,SAASC,uBAAuBA,CAAE;EACxCC,YAAY,GAAG,IAAI;EACnBC,MAAM,GAAG,OAAO;EAChBC,QAAQ,GAAGC,aAAA,CAACZ,SAAS,MAAE,CAAC;EACxBa,MAAM;EACNC,UAAU,EAAEC,cAAc;EAC1BC;AACD,CAAC,EAAG;EACHT,gBAAgB,CAAC,CAAC;EAClB,MAAMU,cAAc,GAAGZ,uBAAuB,CAAC,CAAC;EAChD,MAAMa,UAAU,GAAGZ,wBAAwB,CAAC,CAAC;EAC7C,MAAMa,QAAQ,GAAGpB,MAAM,CAAC,CAAC;EACzB,MAAMe,UAAU,GAAGhB,YAAY,CAAE,CAAEiB,cAAc,EAAEG,UAAU,EAAEC,QAAQ,CAAG,CAAC;EAE3E,IAAK,CAAEV,YAAY,EAAG;IACrB,OACCG,aAAA,CAACX,UAAU;MACVmB,oBAAoB,EAAGD,QAAU;MACjCE,KAAK,EAAG;QAAEX,MAAM;QAAEY,OAAO,EAAE;MAAO;IAAG,GAErCV,aAAA,CAACV,YAAY;MACZW,MAAM,EAAGA,MAAQ;MACjBU,KAAK,EAAC;IAAwB,CAC9B,CAAC,EACFX,aAAA,CAACR,WAAW;MACXoB,GAAG,EAAGV,UAAY;MAClBW,SAAS,EAAC,uBAAuB;MACjCC,QAAQ,EAAG,CAAC,CAAG;MACfL,KAAK,EAAG;QACPX,MAAM,EAAE,MAAM;QACdiB,KAAK,EAAE;MACR;IAAG,GAEDhB,QACU,CACF,CAAC;EAEf;EAEA,OACCC,aAAA,CAACX,UAAU;IACVmB,oBAAoB,EAAGD,QAAU;IACjCE,KAAK,EAAG;MAAEX,MAAM;MAAEY,OAAO,EAAE;IAAO;EAAG,GAErCV,aAAA,CAACT,MAAM;IAAA,GACDa,WAAW;IAChBQ,GAAG,EAAGP,cAAgB;IACtBH,UAAU,EAAGA,UAAY;IACzBO,KAAK,EAAG;MACP,GAAGL,WAAW,EAAEK;IACjB,CAAG;IACHO,IAAI,EAAC;EAAe,GAEpBhB,aAAA,CAACV,YAAY;IAACW,MAAM,EAAGA;EAAQ,CAAE,CAAC,EAChCF,QACK,CACG,CAAC;AAEf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASkB,WAAWA,CAAE;EAAElB,QAAQ;EAAED,MAAM;EAAEG;AAAO,CAAC,EAAG;EACpD,OACCD,aAAA,CAACJ,uBAAuB;IAACE,MAAM,EAAGA,MAAQ;IAACG,MAAM,EAAGA;EAAQ,GACzDF,QACsB,CAAC;AAE5B;AAEA,eAAekB,WAAW"}
@@ -46,23 +46,20 @@ export default function HeadingLevelDropdown({
46
46
  }),
47
47
  label: __('Change level'),
48
48
  controls: options.map(targetLevel => {
49
- {
50
- const isActive = targetLevel === value;
51
- return {
52
- icon: createElement(HeadingLevelIcon, {
53
- level: targetLevel,
54
- isPressed: isActive
55
- }),
56
- title: targetLevel === 0 ? __('Paragraph') : sprintf(
57
- // translators: %s: heading level e.g: "1", "2", "3"
58
- __('Heading %d'), targetLevel),
59
- isActive,
60
- onClick() {
61
- onChange(targetLevel);
62
- },
63
- role: 'menuitemradio'
64
- };
65
- }
49
+ const isActive = targetLevel === value;
50
+ return {
51
+ icon: createElement(HeadingLevelIcon, {
52
+ level: targetLevel
53
+ }),
54
+ title: targetLevel === 0 ? __('Paragraph') : sprintf(
55
+ // translators: %s: heading level e.g: "1", "2", "3"
56
+ __('Heading %d'), targetLevel),
57
+ isActive,
58
+ onClick() {
59
+ onChange(targetLevel);
60
+ },
61
+ role: 'menuitemradio'
62
+ };
66
63
  })
67
64
  });
68
65
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","options","value","onChange","createElement","popoverProps","icon","level","label","controls","map","targetLevel","isActive","isPressed","title","onClick","role"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ options.map( ( targetLevel ) => {\n\t\t\t\t{\n\t\t\t\t\tconst isActive = targetLevel === value;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ticon: (\n\t\t\t\t\t\t\t<HeadingLevelIcon\n\t\t\t\t\t\t\t\tlevel={ targetLevel }\n\t\t\t\t\t\t\t\tisPressed={ isActive }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle:\n\t\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\tisActive,\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t\t},\n\t\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;AAE3C,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGJ,cAAc;EACxBK,KAAK;EACLC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACX,mBAAmB;IACnBY,YAAY,EAAGP,aAAe;IAC9BQ,IAAI,EAAGF,aAAA,CAACR,gBAAgB;MAACW,KAAK,EAAGL;IAAO,CAAE,CAAG;IAC7CM,KAAK,EAAGd,EAAE,CAAE,cAAe,CAAG;IAC9Be,QAAQ,EAAGR,OAAO,CAACS,GAAG,CAAIC,WAAW,IAAM;MAC1C;QACC,MAAMC,QAAQ,GAAGD,WAAW,KAAKT,KAAK;QAEtC,OAAO;UACNI,IAAI,EACHF,aAAA,CAACR,gBAAgB;YAChBW,KAAK,EAAGI,WAAa;YACrBE,SAAS,EAAGD;UAAU,CACtB,CACD;UACDE,KAAK,EACJH,WAAW,KAAK,CAAC,GACdjB,EAAE,CAAE,WAAY,CAAC,GACjBC,OAAO;UACP;UACAD,EAAE,CAAE,YAAa,CAAC,EAClBiB,WACA,CAAC;UACLC,QAAQ;UACRG,OAAOA,CAAA,EAAG;YACTZ,QAAQ,CAAEQ,WAAY,CAAC;UACxB,CAAC;UACDK,IAAI,EAAE;QACP,CAAC;MACF;IACD,CAAE;EAAG,CACL,CAAC;AAEJ"}
1
+ {"version":3,"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","options","value","onChange","createElement","popoverProps","icon","level","label","controls","map","targetLevel","isActive","title","onClick","role"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ options.map( ( targetLevel ) => {\n\t\t\t\tconst isActive = targetLevel === value;\n\t\t\t\treturn {\n\t\t\t\t\ticon: <HeadingLevelIcon level={ targetLevel } />,\n\t\t\t\t\ttitle:\n\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t ),\n\t\t\t\t\tisActive,\n\t\t\t\t\tonClick() {\n\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t},\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t};\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;AAE3C,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGJ,cAAc;EACxBK,KAAK;EACLC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACX,mBAAmB;IACnBY,YAAY,EAAGP,aAAe;IAC9BQ,IAAI,EAAGF,aAAA,CAACR,gBAAgB;MAACW,KAAK,EAAGL;IAAO,CAAE,CAAG;IAC7CM,KAAK,EAAGd,EAAE,CAAE,cAAe,CAAG;IAC9Be,QAAQ,EAAGR,OAAO,CAACS,GAAG,CAAIC,WAAW,IAAM;MAC1C,MAAMC,QAAQ,GAAGD,WAAW,KAAKT,KAAK;MACtC,OAAO;QACNI,IAAI,EAAEF,aAAA,CAACR,gBAAgB;UAACW,KAAK,EAAGI;QAAa,CAAE,CAAC;QAChDE,KAAK,EACJF,WAAW,KAAK,CAAC,GACdjB,EAAE,CAAE,WAAY,CAAC,GACjBC,OAAO;QACP;QACAD,EAAE,CAAE,YAAa,CAAC,EAClBiB,WACA,CAAC;QACLC,QAAQ;QACRE,OAAOA,CAAA,EAAG;UACTX,QAAQ,CAAEQ,WAAY,CAAC;QACxB,CAAC;QACDI,IAAI,EAAE;MACP,CAAC;IACF,CAAE;EAAG,CACL,CAAC;AAEJ"}
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { __ } from '@wordpress/i18n';
6
- import { getBlockType, getUnregisteredTypeHandlerName, hasBlockSupport, store as blocksStore } from '@wordpress/blocks';
6
+ import { getBlockType, getUnregisteredTypeHandlerName, store as blocksStore } from '@wordpress/blocks';
7
7
  import { PanelBody, __unstableMotion as motion } from '@wordpress/components';
8
8
  import { useSelect } from '@wordpress/data';
9
9
 
@@ -17,7 +17,6 @@ import BlockVariationTransforms from '../block-variation-transforms';
17
17
  import useBlockDisplayInformation from '../use-block-display-information';
18
18
  import { store as blockEditorStore } from '../../store';
19
19
  import BlockStyles from '../block-styles';
20
- import DefaultStylePicker from '../default-style-picker';
21
20
  import { default as InspectorControls } from '../inspector-controls';
22
21
  import { default as InspectorControlsTabs } from '../inspector-controls-tabs';
23
22
  import useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';
@@ -206,8 +205,6 @@ const BlockInspectorSingleBlock = ({
206
205
  title: __('Styles')
207
206
  }, createElement(BlockStyles, {
208
207
  clientId: clientId
209
- }), hasBlockSupport(blockName, 'defaultStylePicker', true) && createElement(DefaultStylePicker, {
210
- blockName: blockName
211
208
  }))), createElement(InspectorControls.Slot, null), createElement(InspectorControls.Slot, {
212
209
  group: "list"
213
210
  }), createElement(InspectorControls.Slot, {
@@ -1 +1 @@
1
- {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","hasBlockSupport","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","DefaultStylePicker","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","getBorderPanelLabel","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","tabs","Fragment","group","label","blockName","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles","borderPanelLabel"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ getBorderPanelLabel( {\n\t\t\t\t\t\t\t\tblockName: selectedBlockName,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t) && (\n\t\t\t\t\t\t\t\t\t<DefaultStylePicker\n\t\t\t\t\t\t\t\t\t\tblockName={ blockName }\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</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","getBorderPanelLabel","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","tabs","Fragment","group","label","blockName","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles","borderPanelLabel"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ getBorderPanelLabel( {\n\t\t\t\t\t\t\t\tblockName: selectedBlockName,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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"}
@@ -34,11 +34,13 @@ function Root({
34
34
  const {
35
35
  isOutlineMode,
36
36
  isFocusMode,
37
- editorMode
37
+ editorMode,
38
+ temporarilyEditingAsBlocks
38
39
  } = useSelect(select => {
39
40
  const {
40
41
  getSettings,
41
- __unstableGetEditorMode
42
+ __unstableGetEditorMode,
43
+ __unstableGetTemporarilyEditingAsBlocks
42
44
  } = select(blockEditorStore);
43
45
  const {
44
46
  outlineMode,
@@ -47,7 +49,8 @@ function Root({
47
49
  return {
48
50
  isOutlineMode: outlineMode,
49
51
  isFocusMode: focusMode,
50
- editorMode: __unstableGetEditorMode()
52
+ editorMode: __unstableGetEditorMode(),
53
+ temporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks()
51
54
  };
52
55
  }, []);
53
56
  const registry = useRegistry();
@@ -93,6 +96,8 @@ function Root({
93
96
  value: intersectionObserver
94
97
  }, createElement("div", {
95
98
  ...innerBlocksProps
99
+ }), !!temporarilyEditingAsBlocks && createElement(StopEditingAsBlocksOnOutsideSelect, {
100
+ clientId: temporarilyEditingAsBlocks
96
101
  }));
97
102
  }
98
103
  function StopEditingAsBlocksOnOutsideSelect({
@@ -137,7 +142,6 @@ function Items({
137
142
  order,
138
143
  selectedBlocks,
139
144
  visibleBlocks,
140
- temporarilyEditingAsBlocks,
141
145
  shouldRenderAppender
142
146
  } = useSelect(select => {
143
147
  const {
@@ -145,7 +149,6 @@ function Items({
145
149
  getSelectedBlockClientId,
146
150
  getSelectedBlockClientIds,
147
151
  __unstableGetVisibleBlocks,
148
- __unstableGetTemporarilyEditingAsBlocks,
149
152
  getTemplateLock,
150
153
  getBlockEditingMode,
151
154
  __unstableGetEditorMode
@@ -155,7 +158,6 @@ function Items({
155
158
  order: getBlockOrder(rootClientId),
156
159
  selectedBlocks: getSelectedBlockClientIds(),
157
160
  visibleBlocks: __unstableGetVisibleBlocks(),
158
- temporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks(),
159
161
  shouldRenderAppender: hasAppender && (hasCustomAppender ? !getTemplateLock(rootClientId) && getBlockEditingMode(rootClientId) !== 'disabled' && __unstableGetEditorMode() !== 'zoom-out' : rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId)
160
162
  };
161
163
  }, [rootClientId, hasAppender, hasCustomAppender]);
@@ -170,9 +172,7 @@ function Items({
170
172
  }, createElement(BlockListBlock, {
171
173
  rootClientId: rootClientId,
172
174
  clientId: clientId
173
- }))), order.length < 1 && placeholder, !!temporarilyEditingAsBlocks && createElement(StopEditingAsBlocksOnOutsideSelect, {
174
- clientId: temporarilyEditingAsBlocks
175
- }), shouldRenderAppender && createElement(BlockListAppender, {
175
+ }))), order.length < 1 && placeholder, shouldRenderAppender && createElement(BlockListAppender, {
176
176
  tagName: __experimentalAppenderTagName,
177
177
  rootClientId: rootClientId,
178
178
  CustomAppender: CustomAppender
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","unlock","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","editorMode","select","getSettings","__unstableGetEditorMode","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","createElement","Provider","value","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","selectedBlocks","visibleBlocks","temporarilyEditingAsBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","__unstableGetTemporarilyEditingAsBlocks","getTemplateLock","getBlockEditingMode","selectedBlockClientId","map","key","has","includes","length","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, editorMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\ttemporarilyEditingAsBlocks,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\ttemporarilyEditingAsBlocks:\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks(),\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\thasAppender &&\n\t\t\t\t\t( hasCustomAppender\n\t\t\t\t\t\t? ! getTemplateLock( rootClientId ) &&\n\t\t\t\t\t\t getBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t\t\t __unstableGetEditorMode() !== 'zoom-out'\n\t\t\t\t\t\t: rootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t ( ! rootClientId && ! selectedBlockClientId ) ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","unlock","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","editorMode","temporarilyEditingAsBlocks","select","getSettings","__unstableGetEditorMode","__unstableGetTemporarilyEditingAsBlocks","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","createElement","Provider","value","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","selectedBlocks","visibleBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","getTemplateLock","getBlockEditingMode","selectedBlockClientId","map","key","has","includes","length","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\teditorMode,\n\t\ttemporarilyEditingAsBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\t__unstableGetEditorMode,\n\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t} = select( blockEditorStore );\n\t\tconst { outlineMode, focusMode } = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode,\n\t\t\tisFocusMode: focusMode,\n\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\ttemporarilyEditingAsBlocks:\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst { order, selectedBlocks, visibleBlocks, shouldRenderAppender } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\t__unstableGetEditorMode,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\t\treturn {\n\t\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t\thasAppender &&\n\t\t\t\t\t\t( hasCustomAppender\n\t\t\t\t\t\t\t? ! getTemplateLock( rootClientId ) &&\n\t\t\t\t\t\t\t getBlockEditingMode( rootClientId ) !==\n\t\t\t\t\t\t\t\t\t'disabled' &&\n\t\t\t\t\t\t\t __unstableGetEditorMode() !== 'zoom-out'\n\t\t\t\t\t\t\t: rootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t\t ( ! rootClientId && ! selectedBlockClientId ) ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -50,6 +50,8 @@ export function BlockPreview({
50
50
  const originalSettings = useSelect(select => select(blockEditorStore).getSettings(), []);
51
51
  const settings = useMemo(() => ({
52
52
  ...originalSettings,
53
+ focusMode: false,
54
+ // Disable "Spotlight mode".
53
55
  __unstableIsPreviewMode: true
54
56
  }), [originalSettings]);
55
57
  const renderedBlocks = useMemo(() => Array.isArray(blocks) ? blocks : [blocks], [blocks]);
@@ -104,6 +106,8 @@ export function useBlockPreview({
104
106
  ...originalSettings,
105
107
  styles: undefined,
106
108
  // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.
109
+ focusMode: false,
110
+ // Disable "Spotlight mode".
107
111
  __unstableIsPreviewMode: true
108
112
  }), [originalSettings]);
109
113
  const disabledRef = useDisabled();
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","EditorStyles","store","blockEditorStore","BlockListItems","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","createElement","value","useBlockPreview","props","layout","styles","undefined","disabledRef","ref","children","renderAppender","className"],"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport EditorStyles from '../editor-styles';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = [],\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {Component} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.layout Layout settings to be used in the preview.\n */\nexport function useBlockPreview( { blocks, props = {}, layout } ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles: undefined, // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<EditorStyles />\n\t\t\t<BlockListItems renderAppender={ false } layout={ layout } />\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","EditorStyles","store","blockEditorStore","BlockListItems","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","focusMode","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","createElement","value","useBlockPreview","props","layout","styles","undefined","disabledRef","ref","children","renderAppender","className"],"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport EditorStyles from '../editor-styles';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = [],\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {Component} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.layout Layout settings to be used in the preview.\n */\nexport function useBlockPreview( { blocks, props = {}, layout } ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles: undefined, // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<EditorStyles />\n\t\t\t<BlockListItems renderAppender={ false } layout={ layout } />\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { useRef } from '@wordpress/element';
6
+ import { MenuItem } from '@wordpress/components';
7
+ import { useViewportMatch } from '@wordpress/compose';
8
+ import { useDispatch } from '@wordpress/data';
9
+ import { __, sprintf } from '@wordpress/i18n';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import BlockIcon from '../block-icon';
15
+ import { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';
16
+ import { store as blockEditorStore } from '../../store';
17
+ export default function BlockParentSelectorMenuItem({
18
+ parentClientId,
19
+ parentBlockType
20
+ }) {
21
+ const isSmallViewport = useViewportMatch('medium', '<');
22
+ const {
23
+ selectBlock
24
+ } = useDispatch(blockEditorStore);
25
+
26
+ // Allows highlighting the parent block outline when focusing or hovering
27
+ // the parent block selector within the child.
28
+ const menuItemRef = useRef();
29
+ const gesturesProps = useShowHoveredOrFocusedGestures({
30
+ ref: menuItemRef,
31
+ highlightParent: true
32
+ });
33
+ if (!isSmallViewport) {
34
+ return null;
35
+ }
36
+ return createElement(MenuItem, {
37
+ ...gesturesProps,
38
+ ref: menuItemRef,
39
+ icon: createElement(BlockIcon, {
40
+ icon: parentBlockType.icon
41
+ }),
42
+ onClick: () => selectBlock(parentClientId)
43
+ }, sprintf( /* translators: %s: Name of the block's parent. */
44
+ __('Select parent block (%s)'), parentBlockType.title));
45
+ }
46
+ //# sourceMappingURL=block-parent-selector-menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRef","MenuItem","useViewportMatch","useDispatch","__","sprintf","BlockIcon","useShowHoveredOrFocusedGestures","store","blockEditorStore","BlockParentSelectorMenuItem","parentClientId","parentBlockType","isSmallViewport","selectBlock","menuItemRef","gesturesProps","ref","highlightParent","createElement","icon","onClick","title"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-parent-selector-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { MenuItem } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockParentSelectorMenuItem( {\n\tparentClientId,\n\tparentBlockType,\n} ) {\n\tconst isSmallViewport = useViewportMatch( 'medium', '<' );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst menuItemRef = useRef();\n\tconst gesturesProps = useShowHoveredOrFocusedGestures( {\n\t\tref: menuItemRef,\n\t\thighlightParent: true,\n\t} );\n\n\tif ( ! isSmallViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...gesturesProps }\n\t\t\tref={ menuItemRef }\n\t\t\ticon={ <BlockIcon icon={ parentBlockType.icon } /> }\n\t\t\tonClick={ () => selectBlock( parentClientId ) }\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t__( 'Select parent block (%s)' ),\n\t\t\t\tparentBlockType.title\n\t\t\t) }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,SAASC,+BAA+B,QAAQ,wBAAwB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,eAAe,SAASC,2BAA2BA,CAAE;EACpDC,cAAc;EACdC;AACD,CAAC,EAAG;EACH,MAAMC,eAAe,GAAGX,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EACzD,MAAM;IAAEY;EAAY,CAAC,GAAGX,WAAW,CAAEM,gBAAiB,CAAC;;EAEvD;EACA;EACA,MAAMM,WAAW,GAAGf,MAAM,CAAC,CAAC;EAC5B,MAAMgB,aAAa,GAAGT,+BAA+B,CAAE;IACtDU,GAAG,EAAEF,WAAW;IAChBG,eAAe,EAAE;EAClB,CAAE,CAAC;EAEH,IAAK,CAAEL,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,OACCM,aAAA,CAAClB,QAAQ;IAAA,GACHe,aAAa;IAClBC,GAAG,EAAGF,WAAa;IACnBK,IAAI,EAAGD,aAAA,CAACb,SAAS;MAACc,IAAI,EAAGR,eAAe,CAACQ;IAAM,CAAE,CAAG;IACpDC,OAAO,EAAGA,CAAA,KAAMP,WAAW,CAAEH,cAAe;EAAG,GAE7CN,OAAO,EACR;EACAD,EAAE,CAAE,0BAA2B,CAAC,EAChCQ,eAAe,CAACU,KACjB,CACS,CAAC;AAEb"}