@wordpress/block-editor 14.10.0 → 14.11.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 (247) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/build/components/background-image-control/index.js +0 -1
  3. package/build/components/background-image-control/index.js.map +1 -1
  4. package/build/components/block-actions/index.js +0 -3
  5. package/build/components/block-actions/index.js.map +1 -1
  6. package/build/components/block-inspector/index.js +6 -11
  7. package/build/components/block-inspector/index.js.map +1 -1
  8. package/build/components/block-list/use-block-props/use-focus-handler.js +1 -1
  9. package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  10. package/build/components/block-rename/modal.js +36 -11
  11. package/build/components/block-rename/modal.js.map +1 -1
  12. package/build/components/block-rename/rename-control.js +2 -43
  13. package/build/components/block-rename/rename-control.js.map +1 -1
  14. package/build/components/block-settings-menu/block-settings-dropdown.js +12 -3
  15. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  16. package/build/components/block-styles/preview.native.js +1 -1
  17. package/build/components/block-styles/preview.native.js.map +1 -1
  18. package/build/components/block-switcher/block-transformations-menu.js +7 -7
  19. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  20. package/build/components/block-switcher/block-variation-transformations.js +2 -2
  21. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  22. package/build/components/block-switcher/index.js +1 -1
  23. package/build/components/block-switcher/index.js.map +1 -1
  24. package/build/components/block-switcher/use-transformed-patterns.js +1 -1
  25. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  26. package/build/components/block-toolbar/index.native.js +2 -2
  27. package/build/components/block-toolbar/index.native.js.map +1 -1
  28. package/build/components/date-format-picker/index.js +1 -1
  29. package/build/components/date-format-picker/index.js.map +1 -1
  30. package/build/components/global-styles/filters-panel.js +2 -2
  31. package/build/components/global-styles/filters-panel.js.map +1 -1
  32. package/build/components/global-styles/image-settings-panel.js +2 -2
  33. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  34. package/build/components/global-styles/use-global-styles-output.js +3 -3
  35. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  36. package/build/components/iframe/get-compatibility-styles.js +1 -1
  37. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  38. package/build/components/iframe/index.js +1 -1
  39. package/build/components/iframe/index.js.map +1 -1
  40. package/build/components/image-size-control/index.js +2 -1
  41. package/build/components/image-size-control/index.js.map +1 -1
  42. package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  43. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  44. package/build/components/inserter/reusable-blocks-tab.native.js +1 -1
  45. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  46. package/build/components/line-height-control/index.native.js +1 -1
  47. package/build/components/line-height-control/index.native.js.map +1 -1
  48. package/build/components/link-control/index.js +1 -1
  49. package/build/components/link-control/index.js.map +1 -1
  50. package/build/components/link-control/use-search-handler.js +1 -1
  51. package/build/components/link-control/use-search-handler.js.map +1 -1
  52. package/build/components/list-view/block-select-button.js +5 -2
  53. package/build/components/list-view/block-select-button.js.map +1 -1
  54. package/build/components/media-placeholder/index.js +1 -0
  55. package/build/components/media-placeholder/index.js.map +1 -1
  56. package/build/components/observe-typing/index.js +1 -1
  57. package/build/components/observe-typing/index.js.map +1 -1
  58. package/build/components/provider/index.js +0 -2
  59. package/build/components/provider/index.js.map +1 -1
  60. package/build/components/provider/use-block-sync.js +2 -2
  61. package/build/components/provider/use-block-sync.js.map +1 -1
  62. package/build/components/rich-text/event-listeners/input-rules.js +3 -3
  63. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  64. package/build/components/rich-text/native/use-format-types.js +1 -1
  65. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  66. package/build/components/rich-text/use-format-types.js +1 -1
  67. package/build/components/rich-text/use-format-types.js.map +1 -1
  68. package/build/components/tabbed-sidebar/index.js +39 -0
  69. package/build/components/tabbed-sidebar/index.js.map +1 -1
  70. package/build/components/typewriter/index.js +1 -1
  71. package/build/components/typewriter/index.js.map +1 -1
  72. package/build/components/url-popover/image-url-input-ui.js +3 -3
  73. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  74. package/build/components/use-block-commands/index.js +1 -1
  75. package/build/components/use-block-commands/index.js.map +1 -1
  76. package/build/components/use-moving-animation/index.js +1 -1
  77. package/build/components/use-moving-animation/index.js.map +1 -1
  78. package/build/store/actions.js +1 -1
  79. package/build/store/actions.js.map +1 -1
  80. package/build/store/selectors.js +5 -5
  81. package/build/store/selectors.js.map +1 -1
  82. package/build/utils/transform-styles/index.js +1 -1
  83. package/build/utils/transform-styles/index.js.map +1 -1
  84. package/build/utils/use-notify-copy.js +19 -11
  85. package/build/utils/use-notify-copy.js.map +1 -1
  86. package/build-module/components/background-image-control/index.js +0 -1
  87. package/build-module/components/background-image-control/index.js.map +1 -1
  88. package/build-module/components/block-actions/index.js +0 -3
  89. package/build-module/components/block-actions/index.js.map +1 -1
  90. package/build-module/components/block-inspector/index.js +6 -11
  91. package/build-module/components/block-inspector/index.js.map +1 -1
  92. package/build-module/components/block-list/use-block-props/use-focus-handler.js +1 -1
  93. package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  94. package/build-module/components/block-rename/modal.js +36 -11
  95. package/build-module/components/block-rename/modal.js.map +1 -1
  96. package/build-module/components/block-rename/rename-control.js +2 -43
  97. package/build-module/components/block-rename/rename-control.js.map +1 -1
  98. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -3
  99. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  100. package/build-module/components/block-styles/preview.native.js +1 -1
  101. package/build-module/components/block-styles/preview.native.js.map +1 -1
  102. package/build-module/components/block-switcher/block-transformations-menu.js +7 -7
  103. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  104. package/build-module/components/block-switcher/block-variation-transformations.js +2 -2
  105. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  106. package/build-module/components/block-switcher/index.js +1 -1
  107. package/build-module/components/block-switcher/index.js.map +1 -1
  108. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -1
  109. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  110. package/build-module/components/block-toolbar/index.native.js +2 -2
  111. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  112. package/build-module/components/date-format-picker/index.js +1 -1
  113. package/build-module/components/date-format-picker/index.js.map +1 -1
  114. package/build-module/components/global-styles/filters-panel.js +2 -2
  115. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  116. package/build-module/components/global-styles/image-settings-panel.js +2 -2
  117. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  118. package/build-module/components/global-styles/use-global-styles-output.js +3 -3
  119. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  120. package/build-module/components/iframe/get-compatibility-styles.js +1 -1
  121. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  122. package/build-module/components/iframe/index.js +1 -1
  123. package/build-module/components/iframe/index.js.map +1 -1
  124. package/build-module/components/image-size-control/index.js +3 -2
  125. package/build-module/components/image-size-control/index.js.map +1 -1
  126. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  127. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  128. package/build-module/components/inserter/reusable-blocks-tab.native.js +1 -1
  129. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  130. package/build-module/components/line-height-control/index.native.js +1 -1
  131. package/build-module/components/line-height-control/index.native.js.map +1 -1
  132. package/build-module/components/link-control/index.js +1 -1
  133. package/build-module/components/link-control/index.js.map +1 -1
  134. package/build-module/components/link-control/use-search-handler.js +1 -1
  135. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  136. package/build-module/components/list-view/block-select-button.js +6 -3
  137. package/build-module/components/list-view/block-select-button.js.map +1 -1
  138. package/build-module/components/media-placeholder/index.js +1 -0
  139. package/build-module/components/media-placeholder/index.js.map +1 -1
  140. package/build-module/components/observe-typing/index.js +1 -1
  141. package/build-module/components/observe-typing/index.js.map +1 -1
  142. package/build-module/components/provider/index.js +0 -1
  143. package/build-module/components/provider/index.js.map +1 -1
  144. package/build-module/components/provider/use-block-sync.js +2 -2
  145. package/build-module/components/provider/use-block-sync.js.map +1 -1
  146. package/build-module/components/rich-text/event-listeners/input-rules.js +3 -3
  147. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  148. package/build-module/components/rich-text/native/use-format-types.js +1 -1
  149. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  150. package/build-module/components/rich-text/use-format-types.js +1 -1
  151. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  152. package/build-module/components/tabbed-sidebar/index.js +39 -0
  153. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  154. package/build-module/components/typewriter/index.js +1 -1
  155. package/build-module/components/typewriter/index.js.map +1 -1
  156. package/build-module/components/url-popover/image-url-input-ui.js +3 -3
  157. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  158. package/build-module/components/use-block-commands/index.js +1 -1
  159. package/build-module/components/use-block-commands/index.js.map +1 -1
  160. package/build-module/components/use-moving-animation/index.js +1 -1
  161. package/build-module/components/use-moving-animation/index.js.map +1 -1
  162. package/build-module/store/actions.js +1 -1
  163. package/build-module/store/actions.js.map +1 -1
  164. package/build-module/store/selectors.js +5 -5
  165. package/build-module/store/selectors.js.map +1 -1
  166. package/build-module/utils/transform-styles/index.js +1 -1
  167. package/build-module/utils/transform-styles/index.js.map +1 -1
  168. package/build-module/utils/use-notify-copy.js +19 -11
  169. package/build-module/utils/use-notify-copy.js.map +1 -1
  170. package/build-style/content-rtl.css +0 -9
  171. package/build-style/content.css +0 -9
  172. package/build-style/style-rtl.css +18 -21
  173. package/build-style/style.css +18 -21
  174. package/package.json +34 -33
  175. package/src/components/background-image-control/index.js +0 -1
  176. package/src/components/block-actions/index.js +0 -3
  177. package/src/components/block-icon/content.scss +1 -1
  178. package/src/components/{block-card → block-icon}/stories/index.story.js +16 -26
  179. package/src/components/block-icon/style.scss +1 -1
  180. package/src/components/block-inspector/index.js +7 -10
  181. package/src/components/block-list/use-block-props/use-focus-handler.js +1 -1
  182. package/src/components/block-preview/style.scss +1 -1
  183. package/src/components/block-rename/modal.js +40 -12
  184. package/src/components/block-rename/rename-control.js +1 -53
  185. package/src/components/block-settings-menu/block-settings-dropdown.js +16 -2
  186. package/src/components/block-styles/preview.native.js +1 -1
  187. package/src/components/block-switcher/block-transformations-menu.js +9 -9
  188. package/src/components/block-switcher/block-variation-transformations.js +2 -2
  189. package/src/components/block-switcher/index.js +1 -1
  190. package/src/components/block-switcher/use-transformed-patterns.js +1 -1
  191. package/src/components/block-toolbar/index.native.js +2 -2
  192. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  193. package/src/components/colors-gradients/style.scss +1 -0
  194. package/src/components/colors-gradients/test/control.js +2 -2
  195. package/src/components/date-format-picker/index.js +1 -1
  196. package/src/components/duotone-control/style.scss +2 -2
  197. package/src/components/global-styles/filters-panel.js +4 -2
  198. package/src/components/global-styles/image-settings-panel.js +2 -2
  199. package/src/components/global-styles/test/typography-utils.js +1 -1
  200. package/src/components/global-styles/use-global-styles-output.js +3 -3
  201. package/src/components/iframe/get-compatibility-styles.js +1 -1
  202. package/src/components/iframe/index.js +1 -1
  203. package/src/components/image-size-control/index.js +6 -2
  204. package/src/components/inner-blocks/README.md +1 -1
  205. package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  206. package/src/components/inserter/reusable-blocks-tab.native.js +1 -1
  207. package/src/components/line-height-control/index.native.js +1 -1
  208. package/src/components/link-control/README.md +2 -2
  209. package/src/components/link-control/index.js +1 -1
  210. package/src/components/link-control/test/index.js +3 -3
  211. package/src/components/link-control/use-search-handler.js +1 -1
  212. package/src/components/list-view/README.md +1 -1
  213. package/src/components/list-view/block-select-button.js +5 -5
  214. package/src/components/list-view/style.scss +3 -7
  215. package/src/components/media-placeholder/content.scss +0 -8
  216. package/src/components/media-placeholder/index.js +1 -0
  217. package/src/components/media-placeholder/style.scss +7 -0
  218. package/src/components/observe-typing/index.js +1 -1
  219. package/src/components/provider/index.js +0 -1
  220. package/src/components/provider/use-block-sync.js +2 -2
  221. package/src/components/resolution-tool/stories/index.story.js +52 -2
  222. package/src/components/rich-text/README.md +1 -1
  223. package/src/components/rich-text/event-listeners/input-rules.js +3 -3
  224. package/src/components/rich-text/native/use-format-types.js +1 -1
  225. package/src/components/rich-text/use-format-types.js +1 -1
  226. package/src/components/tabbed-sidebar/README.md +24 -13
  227. package/src/components/tabbed-sidebar/index.js +38 -0
  228. package/src/components/tabbed-sidebar/stories/index.story.js +104 -0
  229. package/src/components/typewriter/index.js +1 -1
  230. package/src/components/unit-control/README.md +1 -1
  231. package/src/components/unit-control/stories/index.story.js +124 -0
  232. package/src/components/url-popover/image-url-input-ui.js +3 -3
  233. package/src/components/use-block-commands/index.js +1 -1
  234. package/src/components/use-moving-animation/index.js +1 -1
  235. package/src/components/use-settings/README.md +1 -1
  236. package/src/components/warning/content.scss +1 -1
  237. package/src/components/writing-flow/test/index.js +1 -1
  238. package/src/hooks/color.scss +0 -7
  239. package/src/store/actions.js +1 -1
  240. package/src/store/selectors.js +5 -5
  241. package/src/store/test/private-selectors.js +1 -1
  242. package/src/store/test/selectors.js +3 -3
  243. package/src/style.scss +1 -0
  244. package/src/utils/test/sorting.js +1 -1
  245. package/src/utils/transform-styles/index.js +1 -1
  246. package/src/utils/use-notify-copy.js +51 -43
  247. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_a11y","_isEmptyString","_interopRequireDefault","_jsxRuntime","BlockRenameModal","blockName","originalBlockName","onClose","onSave","hasOverridesWarning","editedBlockName","setEditedBlockName","useState","nameHasChanged","nameIsOriginal","nameIsEmpty","isEmptyString","isNameValid","autoSelectInputText","event","target","select","handleSubmit","message","sprintf","__","speak","jsx","Modal","title","onRequestClose","overlayClassName","focusOnMount","size","children","onSubmit","e","preventDefault","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","label","help","undefined","placeholder","onChange","onFocus","__experimentalHStack","justify","Button","variant","onClick","type"],"sources":["@wordpress/block-editor/src/components/block-rename/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport isEmptyString from './is-empty-string';\n\nexport default function BlockRenameModal( {\n\tblockName,\n\toriginalBlockName,\n\tonClose,\n\tonSave,\n\t// Pattern Overrides is a WordPress-only feature but it also uses the Block Binding API.\n\t// Ideally this should not be inside the block editor package, but we keep it here for simplicity.\n\thasOverridesWarning,\n} ) {\n\tconst [ editedBlockName, setEditedBlockName ] = useState( blockName );\n\n\tconst nameHasChanged = editedBlockName !== blockName;\n\tconst nameIsOriginal = editedBlockName === originalBlockName;\n\tconst nameIsEmpty = isEmptyString( editedBlockName );\n\n\tconst isNameValid = nameHasChanged || nameIsOriginal;\n\n\tconst autoSelectInputText = ( event ) => event.target.select();\n\n\tconst handleSubmit = () => {\n\t\tconst message =\n\t\t\tnameIsOriginal || nameIsEmpty\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t\t\t__( 'Block name reset to: \"%s\".' ),\n\t\t\t\t\t\teditedBlockName\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t\t\t__( 'Block name changed to: \"%s\".' ),\n\t\t\t\t\t\teditedBlockName\n\t\t\t\t );\n\n\t\t// Must be assertive to immediately announce change.\n\t\tspeak( message, 'assertive' );\n\t\tonSave( editedBlockName );\n\n\t\t// Immediate close avoids ability to hit save multiple times.\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\toverlayClassName=\"block-editor-block-rename-modal\"\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\tif ( ! isNameValid ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ editedBlockName }\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\thasOverridesWarning\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'This block allows overrides. Changing the name can cause problems with content entered into instances of this pattern.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ originalBlockName }\n\t\t\t\t\t\tonChange={ setEditedBlockName }\n\t\t\t\t\t\tonFocus={ autoSelectInputText }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\taria-disabled={ ! isNameValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_a11y","_data","_store","_","_isEmptyString","_interopRequireDefault","_jsxRuntime","BlockRenameModal","clientId","onClose","editedBlockName","setEditedBlockName","useState","blockInformation","useBlockDisplayInformation","metadata","useSelect","select","getBlockAttributes","blockEditorStore","updateBlockAttributes","useDispatch","blockName","name","originalBlockName","title","hasOverridesWarning","bindings","Object","values","some","binding","source","nameHasChanged","undefined","nameIsOriginal","nameIsEmpty","isEmptyString","isNameValid","autoSelectInputText","event","target","handleSubmit","newName","message","sprintf","__","speak","jsx","Modal","onRequestClose","overlayClassName","focusOnMount","size","children","onSubmit","e","preventDefault","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","label","help","placeholder","onChange","onFocus","__experimentalHStack","justify","Button","variant","onClick","accessibleWhenDisabled","disabled","type"],"sources":["@wordpress/block-editor/src/components/block-rename/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockDisplayInformation } from '..';\nimport isEmptyString from './is-empty-string';\n\nexport default function BlockRenameModal( { clientId, onClose } ) {\n\tconst [ editedBlockName, setEditedBlockName ] = useState();\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst { metadata } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tmetadata: getBlockAttributes( clientId )?.metadata,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst blockName = metadata?.name || '';\n\tconst originalBlockName = blockInformation?.title;\n\t// Pattern Overrides is a WordPress-only feature but it also uses the Block Binding API.\n\t// Ideally this should not be inside the block editor package, but we keep it here for simplicity.\n\tconst hasOverridesWarning =\n\t\t!! blockName &&\n\t\t!! metadata?.bindings &&\n\t\tObject.values( metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tconst nameHasChanged =\n\t\teditedBlockName !== undefined && editedBlockName !== blockName;\n\tconst nameIsOriginal = editedBlockName === originalBlockName;\n\tconst nameIsEmpty = isEmptyString( editedBlockName );\n\n\tconst isNameValid = nameHasChanged || nameIsOriginal;\n\n\tconst autoSelectInputText = ( event ) => event.target.select();\n\n\tconst handleSubmit = () => {\n\t\tconst newName =\n\t\t\tnameIsOriginal || nameIsEmpty ? undefined : editedBlockName;\n\t\tconst message =\n\t\t\tnameIsOriginal || nameIsEmpty\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t\t\t__( 'Block name reset to: \"%s\".' ),\n\t\t\t\t\t\teditedBlockName\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t\t\t__( 'Block name changed to: \"%s\".' ),\n\t\t\t\t\t\teditedBlockName\n\t\t\t\t );\n\n\t\t// Must be assertive to immediately announce change.\n\t\tspeak( message, 'assertive' );\n\t\tupdateBlockAttributes( [ clientId ], {\n\t\t\tmetadata: {\n\t\t\t\t...metadata,\n\t\t\t\tname: newName,\n\t\t\t},\n\t\t} );\n\n\t\t// Immediate close avoids ability to hit save multiple times.\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\toverlayClassName=\"block-editor-block-rename-modal\"\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\tif ( ! isNameValid ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ editedBlockName ?? blockName }\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\thasOverridesWarning\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'This block allows overrides. Changing the name can cause problems with content entered into instances of this pattern.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ originalBlockName }\n\t\t\t\t\t\tonChange={ setEditedBlockName }\n\t\t\t\t\t\tonFocus={ autoSelectInputText }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! isNameValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -7,12 +6,8 @@ Object.defineProperty(exports, "__esModule", {
7
6
  });
8
7
  exports.default = BlockRenameControl;
9
8
  var _components = require("@wordpress/components");
10
- var _data = require("@wordpress/data");
11
9
  var _i18n = require("@wordpress/i18n");
12
10
  var _element = require("@wordpress/element");
13
- var _store = require("../../store");
14
- var _ = require("..");
15
- var _isEmptyString = _interopRequireDefault(require("./is-empty-string"));
16
11
  var _modal = _interopRequireDefault(require("./modal"));
17
12
  var _jsxRuntime = require("react/jsx-runtime");
18
13
  /**
@@ -27,31 +22,6 @@ function BlockRenameControl({
27
22
  clientId
28
23
  }) {
29
24
  const [renamingBlock, setRenamingBlock] = (0, _element.useState)(false);
30
- const {
31
- metadata
32
- } = (0, _data.useSelect)(select => {
33
- const {
34
- getBlockAttributes
35
- } = select(_store.store);
36
- const _metadata = getBlockAttributes(clientId)?.metadata;
37
- return {
38
- metadata: _metadata
39
- };
40
- }, [clientId]);
41
- const {
42
- updateBlockAttributes
43
- } = (0, _data.useDispatch)(_store.store);
44
- const customName = metadata?.name;
45
- const hasPatternOverrides = !!customName && !!metadata?.bindings && Object.values(metadata.bindings).some(binding => binding.source === 'core/pattern-overrides');
46
- function onChange(newName) {
47
- updateBlockAttributes([clientId], {
48
- metadata: {
49
- ...metadata,
50
- name: newName
51
- }
52
- });
53
- }
54
- const blockInformation = (0, _.useBlockDisplayInformation)(clientId);
55
25
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
56
26
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
57
27
  onClick: () => {
@@ -61,19 +31,8 @@ function BlockRenameControl({
61
31
  "aria-haspopup": "dialog",
62
32
  children: (0, _i18n.__)('Rename')
63
33
  }), renamingBlock && /*#__PURE__*/(0, _jsxRuntime.jsx)(_modal.default, {
64
- blockName: customName || '',
65
- originalBlockName: blockInformation?.title,
66
- hasOverridesWarning: hasPatternOverrides,
67
- onClose: () => setRenamingBlock(false),
68
- onSave: newName => {
69
- // If the new value is the block's original name (e.g. `Group`)
70
- // or it is an empty string then assume the intent is to reset
71
- // the value. Therefore reset the metadata.
72
- if (newName === blockInformation?.title || (0, _isEmptyString.default)(newName)) {
73
- newName = undefined;
74
- }
75
- onChange(newName);
76
- }
34
+ clientId: clientId,
35
+ onClose: () => setRenamingBlock(false)
77
36
  })]
78
37
  });
79
38
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_i18n","_element","_store","_","_isEmptyString","_interopRequireDefault","_modal","_jsxRuntime","BlockRenameControl","clientId","renamingBlock","setRenamingBlock","useState","metadata","useSelect","select","getBlockAttributes","blockEditorStore","_metadata","updateBlockAttributes","useDispatch","customName","name","hasPatternOverrides","bindings","Object","values","some","binding","source","onChange","newName","blockInformation","useBlockDisplayInformation","jsxs","Fragment","children","jsx","MenuItem","onClick","__","default","blockName","originalBlockName","title","hasOverridesWarning","onClose","onSave","isEmptyString","undefined"],"sources":["@wordpress/block-editor/src/components/block-rename/rename-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockDisplayInformation } from '..';\nimport isEmptyString from './is-empty-string';\nimport BlockRenameModal from './modal';\n\nexport default function BlockRenameControl( { clientId } ) {\n\tconst [ renamingBlock, setRenamingBlock ] = useState( false );\n\n\tconst { metadata } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\n\t\t\tconst _metadata = getBlockAttributes( clientId )?.metadata;\n\t\t\treturn {\n\t\t\t\tmetadata: _metadata,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst customName = metadata?.name;\n\tconst hasPatternOverrides =\n\t\t!! customName &&\n\t\t!! metadata?.bindings &&\n\t\tObject.values( metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tfunction onChange( newName ) {\n\t\tupdateBlockAttributes( [ clientId ], {\n\t\t\tmetadata: {\n\t\t\t\t...metadata,\n\t\t\t\tname: newName,\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetRenamingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-expanded={ renamingBlock }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ renamingBlock && (\n\t\t\t\t<BlockRenameModal\n\t\t\t\t\tblockName={ customName || '' }\n\t\t\t\t\toriginalBlockName={ blockInformation?.title }\n\t\t\t\t\thasOverridesWarning={ hasPatternOverrides }\n\t\t\t\t\tonClose={ () => setRenamingBlock( false ) }\n\t\t\t\t\tonSave={ ( newName ) => {\n\t\t\t\t\t\t// If the new value is the block's original name (e.g. `Group`)\n\t\t\t\t\t\t// or it is an empty string then assume the intent is to reset\n\t\t\t\t\t\t// the value. Therefore reset the metadata.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnewName === blockInformation?.title ||\n\t\t\t\t\t\t\tisEmptyString( newName )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewName = undefined;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( newName );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,CAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAD,sBAAA,CAAAP,OAAA;AAAuC,IAAAS,WAAA,GAAAT,OAAA;AAdvC;AACA;AACA;;AAMA;AACA;AACA;;AAMe,SAASU,kBAAkBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC1D,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAE7D,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAC3BC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAmB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAEzD,MAAMC,SAAS,GAAGF,kBAAkB,CAAEP,QAAS,CAAC,EAAEI,QAAQ;IAC1D,OAAO;MACNA,QAAQ,EAAEK;IACX,CAAC;EACF,CAAC,EACD,CAAET,QAAQ,CACX,CAAC;EAED,MAAM;IAAEU;EAAsB,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAEjE,MAAMI,UAAU,GAAGR,QAAQ,EAAES,IAAI;EACjC,MAAMC,mBAAmB,GACxB,CAAC,CAAEF,UAAU,IACb,CAAC,CAAER,QAAQ,EAAEW,QAAQ,IACrBC,MAAM,CAACC,MAAM,CAAEb,QAAQ,CAACW,QAAS,CAAC,CAACG,IAAI,CACpCC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;EAEF,SAASC,QAAQA,CAAEC,OAAO,EAAG;IAC5BZ,qBAAqB,CAAE,CAAEV,QAAQ,CAAE,EAAE;MACpCI,QAAQ,EAAE;QACT,GAAGA,QAAQ;QACXS,IAAI,EAAES;MACP;IACD,CAAE,CAAC;EACJ;EAEA,MAAMC,gBAAgB,GAAG,IAAAC,4BAA0B,EAAExB,QAAS,CAAC;EAE/D,oBACC,IAAAF,WAAA,CAAA2B,IAAA,EAAA3B,WAAA,CAAA4B,QAAA;IAAAC,QAAA,gBACC,IAAA7B,WAAA,CAAA8B,GAAA,EAACxC,WAAA,CAAAyC,QAAQ;MACRC,OAAO,EAAGA,CAAA,KAAM;QACf5B,gBAAgB,CAAE,IAAK,CAAC;MACzB,CAAG;MACH,iBAAgBD,aAAe;MAC/B,iBAAc,QAAQ;MAAA0B,QAAA,EAEpB,IAAAI,QAAE,EAAE,QAAS;IAAC,CACP,CAAC,EACT9B,aAAa,iBACd,IAAAH,WAAA,CAAA8B,GAAA,EAAC/B,MAAA,CAAAmC,OAAgB;MAChBC,SAAS,EAAGrB,UAAU,IAAI,EAAI;MAC9BsB,iBAAiB,EAAGX,gBAAgB,EAAEY,KAAO;MAC7CC,mBAAmB,EAAGtB,mBAAqB;MAC3CuB,OAAO,EAAGA,CAAA,KAAMnC,gBAAgB,CAAE,KAAM,CAAG;MAC3CoC,MAAM,EAAKhB,OAAO,IAAM;QACvB;QACA;QACA;QACA,IACCA,OAAO,KAAKC,gBAAgB,EAAEY,KAAK,IACnC,IAAAI,sBAAa,EAAEjB,OAAQ,CAAC,EACvB;UACDA,OAAO,GAAGkB,SAAS;QACpB;QAEAnB,QAAQ,CAAEC,OAAQ,CAAC;MACpB;IAAG,CACH,CACD;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_modal","_interopRequireDefault","_jsxRuntime","BlockRenameControl","clientId","renamingBlock","setRenamingBlock","useState","jsxs","Fragment","children","jsx","MenuItem","onClick","__","default","onClose"],"sources":["@wordpress/block-editor/src/components/block-rename/rename-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockRenameModal from './modal';\n\nexport default function BlockRenameControl( { clientId } ) {\n\tconst [ renamingBlock, setRenamingBlock ] = useState( false );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetRenamingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-expanded={ renamingBlock }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ renamingBlock && (\n\t\t\t\t<BlockRenameModal\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonClose={ () => setRenamingBlock( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAuC,IAAAK,WAAA,GAAAL,OAAA;AAVvC;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASM,kBAAkBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC1D,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAE7D,oBACC,IAAAL,WAAA,CAAAM,IAAA,EAAAN,WAAA,CAAAO,QAAA;IAAAC,QAAA,gBACC,IAAAR,WAAA,CAAAS,GAAA,EAACf,WAAA,CAAAgB,QAAQ;MACRC,OAAO,EAAGA,CAAA,KAAM;QACfP,gBAAgB,CAAE,IAAK,CAAC;MACzB,CAAG;MACH,iBAAgBD,aAAe;MAC/B,iBAAc,QAAQ;MAAAK,QAAA,EAEpB,IAAAI,QAAE,EAAE,QAAS;IAAC,CACP,CAAC,EACTT,aAAa,iBACd,IAAAH,WAAA,CAAAS,GAAA,EAACX,MAAA,CAAAe,OAAgB;MAChBX,QAAQ,EAAGA,QAAU;MACrBY,OAAO,EAAGA,CAAA,KAAMV,gBAAgB,CAAE,KAAM;IAAG,CAC3C,CACD;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
@@ -24,6 +24,7 @@ var _blockSettingsMenuControls = _interopRequireDefault(require("../block-settin
24
24
  var _blockParentSelectorMenuItem = _interopRequireDefault(require("./block-parent-selector-menu-item"));
25
25
  var _store = require("../../store");
26
26
  var _lockUnlock = require("../../lock-unlock");
27
+ var _useNotifyCopy = require("../../utils/use-notify-copy");
27
28
  var _jsxRuntime = require("react/jsx-runtime");
28
29
  /**
29
30
  * WordPress dependencies
@@ -41,12 +42,19 @@ function CopyMenuItem({
41
42
  clientIds,
42
43
  onCopy,
43
44
  label,
44
- shortcut
45
+ shortcut,
46
+ eventType = 'copy'
45
47
  }) {
46
48
  const {
47
49
  getBlocksByClientId
48
50
  } = (0, _data.useSelect)(_store.store);
49
- const ref = (0, _compose.useCopyToClipboard)(() => (0, _blocks.serialize)(getBlocksByClientId(clientIds)), onCopy);
51
+ const notifyCopy = (0, _useNotifyCopy.useNotifyCopy)();
52
+ const ref = (0, _compose.useCopyToClipboard)(() => (0, _blocks.serialize)(getBlocksByClientId(clientIds)), () => {
53
+ if (onCopy && eventType === 'copy') {
54
+ onCopy();
55
+ }
56
+ notifyCopy(eventType, clientIds);
57
+ });
50
58
  const copyMenuItemLabel = label ? label : (0, _i18n.__)('Copy');
51
59
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
52
60
  ref: ref,
@@ -232,7 +240,8 @@ function BlockSettingsDropdown({
232
240
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CopyMenuItem, {
233
241
  clientIds: clientIds,
234
242
  onCopy: onCopy,
235
- label: (0, _i18n.__)('Copy styles')
243
+ label: (0, _i18n.__)('Copy styles'),
244
+ eventType: "copyStyles"
236
245
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
237
246
  onClick: onPasteStyles,
238
247
  children: (0, _i18n.__)('Paste styles')
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keycodes","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockCommentIconSlot","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_blockParentSelectorMenuItem","_store","_lockUnlock","_jsxRuntime","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","getBlocksByClientId","useSelect","blockEditorStore","ref","useCopyToClipboard","serialize","copyMenuItemLabel","__","jsx","MenuItem","children","BlockSettingsDropdown","block","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","select","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","unlock","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","setOpenedBlockSettingsMenu","useDispatch","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","default","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","DropdownMenu","icon","moreVertical","popoverProps","noIcons","onClose","jsxs","Fragment","MenuGroup","Slot","fillProps","parentClientId","displayShortcut","primary","onClick","pipe","Children","map","child","cloneElement","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport CommentIconSlotFill from '../../components/collab/block-comment-icon-slot';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { clientIds, onCopy, label, shortcut } ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\tonCopy\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\n\tconst {\n\t\tfirstParentClientId,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t}\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\tconst shouldShowBlockParentMenuItem =\n\t\t! parentBlockIsSelected && !! firstParentClientId;\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t} ) => {\n\t\t\t\t// It is possible that some plugins register fills for this menu\n\t\t\t\t// even if Core doesn't render anything in the block settings menu.\n\t\t\t\t// in which case, we may want to render the menu anyway.\n\t\t\t\t// That said for now, we can start more conservative.\n\t\t\t\tconst isEmpty =\n\t\t\t\t\t! canRemove &&\n\t\t\t\t\t! canDuplicate &&\n\t\t\t\t\t! canInsertBlock &&\n\t\t\t\t\tisContentOnly;\n\n\t\t\t\tif ( isEmpty ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t\topen={ open }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ shouldShowBlockParentMenuItem && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary(\n\t\t\t\t\t\t\t\t\t\t\t'c'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ canInsertBlock && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<CommentIconSlotFill.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keycodes","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockCommentIconSlot","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_blockParentSelectorMenuItem","_store","_lockUnlock","_useNotifyCopy","_jsxRuntime","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","eventType","getBlocksByClientId","useSelect","blockEditorStore","notifyCopy","useNotifyCopy","ref","useCopyToClipboard","serialize","copyMenuItemLabel","__","jsx","MenuItem","children","BlockSettingsDropdown","block","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","select","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","unlock","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","setOpenedBlockSettingsMenu","useDispatch","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","default","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","DropdownMenu","icon","moreVertical","popoverProps","noIcons","onClose","jsxs","Fragment","MenuGroup","Slot","fillProps","parentClientId","displayShortcut","primary","onClick","pipe","Children","map","child","cloneElement","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport CommentIconSlotFill from '../../components/collab/block-comment-icon-slot';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( {\n\tclientIds,\n\tonCopy,\n\tlabel,\n\tshortcut,\n\teventType = 'copy',\n} ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst notifyCopy = useNotifyCopy();\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\t() => {\n\t\t\tif ( onCopy && eventType === 'copy' ) {\n\t\t\t\tonCopy();\n\t\t\t}\n\t\t\tnotifyCopy( eventType, clientIds );\n\t\t}\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\n\tconst {\n\t\tfirstParentClientId,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t}\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\tconst shouldShowBlockParentMenuItem =\n\t\t! parentBlockIsSelected && !! firstParentClientId;\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t} ) => {\n\t\t\t\t// It is possible that some plugins register fills for this menu\n\t\t\t\t// even if Core doesn't render anything in the block settings menu.\n\t\t\t\t// in which case, we may want to render the menu anyway.\n\t\t\t\t// That said for now, we can start more conservative.\n\t\t\t\tconst isEmpty =\n\t\t\t\t\t! canRemove &&\n\t\t\t\t\t! canDuplicate &&\n\t\t\t\t\t! canInsertBlock &&\n\t\t\t\t\tisContentOnly;\n\n\t\t\t\tif ( isEmpty ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t\topen={ open }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ shouldShowBlockParentMenuItem && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary(\n\t\t\t\t\t\t\t\t\t\t\t'c'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ canInsertBlock && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<CommentIconSlotFill.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t\t\teventType=\"copyStyles\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -40,7 +40,7 @@ function StylePreview({
40
40
  const opacity = (0, _element.useRef)(new _reactNative.Animated.Value(1)).current;
41
41
  function onLayout() {
42
42
  const columnsNum =
43
- // To indicate scroll availabilty, there is a need to display additional half the column.
43
+ // To indicate scroll availability, there is a need to display additional half the column.
44
44
  Math.floor(_components.BottomSheet.getWidth() / MAX_ITEM_WIDTH) + HALF_COLUMN;
45
45
  setItemWidth(_components.BottomSheet.getWidth() / columnsNum);
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_components","_element","_compose","_style","_interopRequireDefault","_jsxRuntime","MAX_ITEM_WIDTH","HALF_COLUMN","StylePreview","onPress","isActive","style","url","itemWidth","setItemWidth","useState","label","name","opacity","useRef","Animated","Value","current","onLayout","columnsNum","Math","floor","BottomSheet","getWidth","useEffect","dimensionsChangeSubscription","Dimensions","addEventListener","remove","labelStyle","usePreferredColorSchemeStyle","styles","labelDark","animateOutline","setValue","timing","toValue","duration","useNativeDriver","easing","Easing","linear","start","innerOutlineStyle","innerOutline","innerOutlineDark","getOutline","outlineStyles","map","outlineStyle","index","jsx","View","TouchableWithoutFeedback","children","jsxs","container","width","imageWrapper","outline","Image","image","source","uri","Text","labelSelected","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-styles/preview.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tDimensions,\n\tAnimated,\n\tEasing,\n\tImage,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { BottomSheet } from '@wordpress/components';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst MAX_ITEM_WIDTH = 120;\nconst HALF_COLUMN = 0.5;\n\nfunction StylePreview( { onPress, isActive, style, url } ) {\n\tconst [ itemWidth, setItemWidth ] = useState( MAX_ITEM_WIDTH );\n\tconst { label, name } = style;\n\tconst opacity = useRef( new Animated.Value( 1 ) ).current;\n\n\tfunction onLayout() {\n\t\tconst columnsNum =\n\t\t\t// To indicate scroll availabilty, there is a need to display additional half the column.\n\t\t\tMath.floor( BottomSheet.getWidth() / MAX_ITEM_WIDTH ) + HALF_COLUMN;\n\t\tsetItemWidth( BottomSheet.getWidth() / columnsNum );\n\t}\n\n\tuseEffect( () => {\n\t\tonLayout();\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonLayout\n\t\t);\n\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.label,\n\t\tstyles.labelDark\n\t);\n\n\tconst animateOutline = () => {\n\t\topacity.setValue( 0 );\n\t\tAnimated.timing( opacity, {\n\t\t\ttoValue: 1,\n\t\t\tduration: 100,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.linear,\n\t\t} ).start();\n\t};\n\n\tconst innerOutlineStyle = usePreferredColorSchemeStyle(\n\t\tstyles.innerOutline,\n\t\tstyles.innerOutlineDark\n\t);\n\n\tconst getOutline = ( outlineStyles ) =>\n\t\toutlineStyles.map( ( outlineStyle, index ) => {\n\t\t\treturn (\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ outlineStyle, { opacity }, styles[ name ] ] }\n\t\t\t\t\tkey={ index }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ () => {\n\t\t\t\tonPress();\n\t\t\t\tanimateOutline();\n\t\t\t} }\n\t\t>\n\t\t\t<View style={ [ styles.container, { width: itemWidth } ] }>\n\t\t\t\t<View style={ styles.imageWrapper }>\n\t\t\t\t\t{ isActive &&\n\t\t\t\t\t\tgetOutline( [ styles.outline, innerOutlineStyle ] ) }\n\t\t\t\t\t<Image\n\t\t\t\t\t\tstyle={ [ styles.image, styles[ name ] ] }\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ [ labelStyle, isActive && styles.labelSelected ] }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n\nexport default StylePreview;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_components","_element","_compose","_style","_interopRequireDefault","_jsxRuntime","MAX_ITEM_WIDTH","HALF_COLUMN","StylePreview","onPress","isActive","style","url","itemWidth","setItemWidth","useState","label","name","opacity","useRef","Animated","Value","current","onLayout","columnsNum","Math","floor","BottomSheet","getWidth","useEffect","dimensionsChangeSubscription","Dimensions","addEventListener","remove","labelStyle","usePreferredColorSchemeStyle","styles","labelDark","animateOutline","setValue","timing","toValue","duration","useNativeDriver","easing","Easing","linear","start","innerOutlineStyle","innerOutline","innerOutlineDark","getOutline","outlineStyles","map","outlineStyle","index","jsx","View","TouchableWithoutFeedback","children","jsxs","container","width","imageWrapper","outline","Image","image","source","uri","Text","labelSelected","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-styles/preview.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tDimensions,\n\tAnimated,\n\tEasing,\n\tImage,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { BottomSheet } from '@wordpress/components';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst MAX_ITEM_WIDTH = 120;\nconst HALF_COLUMN = 0.5;\n\nfunction StylePreview( { onPress, isActive, style, url } ) {\n\tconst [ itemWidth, setItemWidth ] = useState( MAX_ITEM_WIDTH );\n\tconst { label, name } = style;\n\tconst opacity = useRef( new Animated.Value( 1 ) ).current;\n\n\tfunction onLayout() {\n\t\tconst columnsNum =\n\t\t\t// To indicate scroll availability, there is a need to display additional half the column.\n\t\t\tMath.floor( BottomSheet.getWidth() / MAX_ITEM_WIDTH ) + HALF_COLUMN;\n\t\tsetItemWidth( BottomSheet.getWidth() / columnsNum );\n\t}\n\n\tuseEffect( () => {\n\t\tonLayout();\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonLayout\n\t\t);\n\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.label,\n\t\tstyles.labelDark\n\t);\n\n\tconst animateOutline = () => {\n\t\topacity.setValue( 0 );\n\t\tAnimated.timing( opacity, {\n\t\t\ttoValue: 1,\n\t\t\tduration: 100,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.linear,\n\t\t} ).start();\n\t};\n\n\tconst innerOutlineStyle = usePreferredColorSchemeStyle(\n\t\tstyles.innerOutline,\n\t\tstyles.innerOutlineDark\n\t);\n\n\tconst getOutline = ( outlineStyles ) =>\n\t\toutlineStyles.map( ( outlineStyle, index ) => {\n\t\t\treturn (\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ outlineStyle, { opacity }, styles[ name ] ] }\n\t\t\t\t\tkey={ index }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ () => {\n\t\t\t\tonPress();\n\t\t\t\tanimateOutline();\n\t\t\t} }\n\t\t>\n\t\t\t<View style={ [ styles.container, { width: itemWidth } ] }>\n\t\t\t\t<View style={ styles.imageWrapper }>\n\t\t\t\t\t{ isActive &&\n\t\t\t\t\t\tgetOutline( [ styles.outline, innerOutlineStyle ] ) }\n\t\t\t\t\t<Image\n\t\t\t\t\t\tstyle={ [ styles.image, styles[ name ] ] }\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ [ labelStyle, isActive && styles.labelSelected ] }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n\nexport default StylePreview;\n"],"mappings":"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","ignoreList":[]}
@@ -32,19 +32,19 @@ var _jsxRuntime = require("react/jsx-runtime");
32
32
  * @param {Object[]} possibleBlockTransformations The available block transformations.
33
33
  * @return {Record<string, Object[]>} The grouped block transformations.
34
34
  */function useGroupedTransforms(possibleBlockTransformations) {
35
- const priorityContentTranformationBlocks = {
35
+ const priorityContentTransformationBlocks = {
36
36
  'core/paragraph': 1,
37
37
  'core/heading': 2,
38
38
  'core/list': 3,
39
39
  'core/quote': 4
40
40
  };
41
41
  const transformations = (0, _element.useMemo)(() => {
42
- const priorityTextTranformsNames = Object.keys(priorityContentTranformationBlocks);
42
+ const priorityTextTransformsNames = Object.keys(priorityContentTransformationBlocks);
43
43
  const groupedPossibleTransforms = possibleBlockTransformations.reduce((accumulator, item) => {
44
44
  const {
45
45
  name
46
46
  } = item;
47
- if (priorityTextTranformsNames.includes(name)) {
47
+ if (priorityTextTransformsNames.includes(name)) {
48
48
  accumulator.priorityTextTransformations.push(item);
49
49
  } else {
50
50
  accumulator.restTransformations.push(item);
@@ -73,7 +73,7 @@ var _jsxRuntime = require("react/jsx-runtime");
73
73
  }, {
74
74
  name: nextName
75
75
  }) => {
76
- return priorityContentTranformationBlocks[currentName] < priorityContentTranformationBlocks[nextName] ? -1 : 1;
76
+ return priorityContentTransformationBlocks[currentName] < priorityContentTransformationBlocks[nextName] ? -1 : 1;
77
77
  });
78
78
  return transformations;
79
79
  }
@@ -108,7 +108,7 @@ const BlockTransformationsMenu = ({
108
108
  transformations: possibleBlockVariationTransformations,
109
109
  blocks: blocks,
110
110
  onSelect: onSelectVariation
111
- }), priorityTextTransformations.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockTranformationItem, {
111
+ }), priorityTextTransformations.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockTransformationItem, {
112
112
  item: item,
113
113
  onSelect: onSelect,
114
114
  setHoveredTransformItemName: setHoveredTransformItemName
@@ -124,13 +124,13 @@ function RestTransformationItems({
124
124
  onSelect,
125
125
  setHoveredTransformItemName
126
126
  }) {
127
- return restTransformations.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockTranformationItem, {
127
+ return restTransformations.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockTransformationItem, {
128
128
  item: item,
129
129
  onSelect: onSelect,
130
130
  setHoveredTransformItemName: setHoveredTransformItemName
131
131
  }, item.name));
132
132
  }
133
- function BlockTranformationItem({
133
+ function BlockTransformationItem({
134
134
  item,
135
135
  onSelect,
136
136
  setHoveredTransformItemName
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blocks","_element","_blockIcon","_interopRequireDefault","_previewBlockPopover","_blockVariationTransformations","_jsxRuntime","useGroupedTransforms","possibleBlockTransformations","priorityContentTranformationBlocks","transformations","useMemo","priorityTextTranformsNames","Object","keys","groupedPossibleTransforms","reduce","accumulator","item","name","includes","priorityTextTransformations","push","restTransformations","length","singleQuote","pop","sort","currentName","nextName","BlockTransformationsMenu","className","possibleBlockVariationTransformations","onSelect","onSelectVariation","blocks","hoveredTransformItemName","setHoveredTransformItemName","useState","hasBothContentTransformations","restTransformItems","jsx","RestTransformationItems","jsxs","Fragment","children","MenuGroup","label","__","default","switchToBlockType","map","BlockTranformationItem","icon","title","isDisabled","MenuItem","getBlockMenuDefaultClassName","onClick","event","preventDefault","disabled","onMouseLeave","onMouseEnter","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport {\n\tgetBlockMenuDefaultClassName,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport PreviewBlockPopover from './preview-block-popover';\nimport BlockVariationTransformations from './block-variation-transformations';\n\n/**\n * Helper hook to group transformations to display them in a specific order in the UI.\n * For now we group only priority content driven transformations(ex. paragraph -> heading).\n *\n * Later on we could also group 'layout' transformations(ex. paragraph -> group) and\n * display them in different sections.\n *\n * @param {Object[]} possibleBlockTransformations The available block transformations.\n * @return {Record<string, Object[]>} The grouped block transformations.\n */\nfunction useGroupedTransforms( possibleBlockTransformations ) {\n\tconst priorityContentTranformationBlocks = {\n\t\t'core/paragraph': 1,\n\t\t'core/heading': 2,\n\t\t'core/list': 3,\n\t\t'core/quote': 4,\n\t};\n\tconst transformations = useMemo( () => {\n\t\tconst priorityTextTranformsNames = Object.keys(\n\t\t\tpriorityContentTranformationBlocks\n\t\t);\n\t\tconst groupedPossibleTransforms = possibleBlockTransformations.reduce(\n\t\t\t( accumulator, item ) => {\n\t\t\t\tconst { name } = item;\n\t\t\t\tif ( priorityTextTranformsNames.includes( name ) ) {\n\t\t\t\t\taccumulator.priorityTextTransformations.push( item );\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.restTransformations.push( item );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{ priorityTextTransformations: [], restTransformations: [] }\n\t\t);\n\t\t/**\n\t\t * If there is only one priority text transformation and it's a Quote,\n\t\t * is should move to the rest transformations. This is because Quote can\n\t\t * be a container for any block type, so in multi-block selection it will\n\t\t * always be suggested, even for non-text blocks.\n\t\t */\n\t\tif (\n\t\t\tgroupedPossibleTransforms.priorityTextTransformations.length ===\n\t\t\t\t1 &&\n\t\t\tgroupedPossibleTransforms.priorityTextTransformations[ 0 ].name ===\n\t\t\t\t'core/quote'\n\t\t) {\n\t\t\tconst singleQuote =\n\t\t\t\tgroupedPossibleTransforms.priorityTextTransformations.pop();\n\t\t\tgroupedPossibleTransforms.restTransformations.push( singleQuote );\n\t\t}\n\t\treturn groupedPossibleTransforms;\n\t}, [ possibleBlockTransformations ] );\n\n\t// Order the priority text transformations.\n\ttransformations.priorityTextTransformations.sort(\n\t\t( { name: currentName }, { name: nextName } ) => {\n\t\t\treturn priorityContentTranformationBlocks[ currentName ] <\n\t\t\t\tpriorityContentTranformationBlocks[ nextName ]\n\t\t\t\t? -1\n\t\t\t\t: 1;\n\t\t}\n\t);\n\treturn transformations;\n}\n\nconst BlockTransformationsMenu = ( {\n\tclassName,\n\tpossibleBlockTransformations,\n\tpossibleBlockVariationTransformations,\n\tonSelect,\n\tonSelectVariation,\n\tblocks,\n} ) => {\n\tconst [ hoveredTransformItemName, setHoveredTransformItemName ] =\n\t\tuseState();\n\n\tconst { priorityTextTransformations, restTransformations } =\n\t\tuseGroupedTransforms( possibleBlockTransformations );\n\t// We have to check if both content transformations(priority and rest) are set\n\t// in order to create a separate MenuGroup for them.\n\tconst hasBothContentTransformations =\n\t\tpriorityTextTransformations.length && restTransformations.length;\n\tconst restTransformItems = !! restTransformations.length && (\n\t\t<RestTransformationItems\n\t\t\trestTransformations={ restTransformations }\n\t\t\tonSelect={ onSelect }\n\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t/>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<MenuGroup label={ __( 'Transform to' ) } className={ className }>\n\t\t\t\t{ hoveredTransformItemName && (\n\t\t\t\t\t<PreviewBlockPopover\n\t\t\t\t\t\tblocks={ switchToBlockType(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\thoveredTransformItemName\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! possibleBlockVariationTransformations?.length && (\n\t\t\t\t\t<BlockVariationTransformations\n\t\t\t\t\t\ttransformations={\n\t\t\t\t\t\t\tpossibleBlockVariationTransformations\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ priorityTextTransformations.map( ( item ) => (\n\t\t\t\t\t<BlockTranformationItem\n\t\t\t\t\t\tkey={ item.name }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsetHoveredTransformItemName={\n\t\t\t\t\t\t\tsetHoveredTransformItemName\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t\t{ ! hasBothContentTransformations && restTransformItems }\n\t\t\t</MenuGroup>\n\t\t\t{ !! hasBothContentTransformations && (\n\t\t\t\t<MenuGroup className={ className }>\n\t\t\t\t\t{ restTransformItems }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nfunction RestTransformationItems( {\n\trestTransformations,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\treturn restTransformations.map( ( item ) => (\n\t\t<BlockTranformationItem\n\t\t\tkey={ item.name }\n\t\t\titem={ item }\n\t\t\tonSelect={ onSelect }\n\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t/>\n\t) );\n}\n\nfunction BlockTranformationItem( {\n\titem,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\tconst { name, icon, title, isDisabled } = item;\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName={ getBlockMenuDefaultClassName( name ) }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonSelect( name );\n\t\t\t} }\n\t\t\tdisabled={ isDisabled }\n\t\t\tonMouseLeave={ () => setHoveredTransformItemName( null ) }\n\t\t\tonMouseEnter={ () => setHoveredTransformItemName( name ) }\n\t\t>\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t{ title }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blocks","_element","_blockIcon","_interopRequireDefault","_previewBlockPopover","_blockVariationTransformations","_jsxRuntime","useGroupedTransforms","possibleBlockTransformations","priorityContentTransformationBlocks","transformations","useMemo","priorityTextTransformsNames","Object","keys","groupedPossibleTransforms","reduce","accumulator","item","name","includes","priorityTextTransformations","push","restTransformations","length","singleQuote","pop","sort","currentName","nextName","BlockTransformationsMenu","className","possibleBlockVariationTransformations","onSelect","onSelectVariation","blocks","hoveredTransformItemName","setHoveredTransformItemName","useState","hasBothContentTransformations","restTransformItems","jsx","RestTransformationItems","jsxs","Fragment","children","MenuGroup","label","__","default","switchToBlockType","map","BlockTransformationItem","icon","title","isDisabled","MenuItem","getBlockMenuDefaultClassName","onClick","event","preventDefault","disabled","onMouseLeave","onMouseEnter","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport {\n\tgetBlockMenuDefaultClassName,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport PreviewBlockPopover from './preview-block-popover';\nimport BlockVariationTransformations from './block-variation-transformations';\n\n/**\n * Helper hook to group transformations to display them in a specific order in the UI.\n * For now we group only priority content driven transformations(ex. paragraph -> heading).\n *\n * Later on we could also group 'layout' transformations(ex. paragraph -> group) and\n * display them in different sections.\n *\n * @param {Object[]} possibleBlockTransformations The available block transformations.\n * @return {Record<string, Object[]>} The grouped block transformations.\n */\nfunction useGroupedTransforms( possibleBlockTransformations ) {\n\tconst priorityContentTransformationBlocks = {\n\t\t'core/paragraph': 1,\n\t\t'core/heading': 2,\n\t\t'core/list': 3,\n\t\t'core/quote': 4,\n\t};\n\tconst transformations = useMemo( () => {\n\t\tconst priorityTextTransformsNames = Object.keys(\n\t\t\tpriorityContentTransformationBlocks\n\t\t);\n\t\tconst groupedPossibleTransforms = possibleBlockTransformations.reduce(\n\t\t\t( accumulator, item ) => {\n\t\t\t\tconst { name } = item;\n\t\t\t\tif ( priorityTextTransformsNames.includes( name ) ) {\n\t\t\t\t\taccumulator.priorityTextTransformations.push( item );\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.restTransformations.push( item );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{ priorityTextTransformations: [], restTransformations: [] }\n\t\t);\n\t\t/**\n\t\t * If there is only one priority text transformation and it's a Quote,\n\t\t * is should move to the rest transformations. This is because Quote can\n\t\t * be a container for any block type, so in multi-block selection it will\n\t\t * always be suggested, even for non-text blocks.\n\t\t */\n\t\tif (\n\t\t\tgroupedPossibleTransforms.priorityTextTransformations.length ===\n\t\t\t\t1 &&\n\t\t\tgroupedPossibleTransforms.priorityTextTransformations[ 0 ].name ===\n\t\t\t\t'core/quote'\n\t\t) {\n\t\t\tconst singleQuote =\n\t\t\t\tgroupedPossibleTransforms.priorityTextTransformations.pop();\n\t\t\tgroupedPossibleTransforms.restTransformations.push( singleQuote );\n\t\t}\n\t\treturn groupedPossibleTransforms;\n\t}, [ possibleBlockTransformations ] );\n\n\t// Order the priority text transformations.\n\ttransformations.priorityTextTransformations.sort(\n\t\t( { name: currentName }, { name: nextName } ) => {\n\t\t\treturn priorityContentTransformationBlocks[ currentName ] <\n\t\t\t\tpriorityContentTransformationBlocks[ nextName ]\n\t\t\t\t? -1\n\t\t\t\t: 1;\n\t\t}\n\t);\n\treturn transformations;\n}\n\nconst BlockTransformationsMenu = ( {\n\tclassName,\n\tpossibleBlockTransformations,\n\tpossibleBlockVariationTransformations,\n\tonSelect,\n\tonSelectVariation,\n\tblocks,\n} ) => {\n\tconst [ hoveredTransformItemName, setHoveredTransformItemName ] =\n\t\tuseState();\n\n\tconst { priorityTextTransformations, restTransformations } =\n\t\tuseGroupedTransforms( possibleBlockTransformations );\n\t// We have to check if both content transformations(priority and rest) are set\n\t// in order to create a separate MenuGroup for them.\n\tconst hasBothContentTransformations =\n\t\tpriorityTextTransformations.length && restTransformations.length;\n\tconst restTransformItems = !! restTransformations.length && (\n\t\t<RestTransformationItems\n\t\t\trestTransformations={ restTransformations }\n\t\t\tonSelect={ onSelect }\n\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t/>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<MenuGroup label={ __( 'Transform to' ) } className={ className }>\n\t\t\t\t{ hoveredTransformItemName && (\n\t\t\t\t\t<PreviewBlockPopover\n\t\t\t\t\t\tblocks={ switchToBlockType(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\thoveredTransformItemName\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! possibleBlockVariationTransformations?.length && (\n\t\t\t\t\t<BlockVariationTransformations\n\t\t\t\t\t\ttransformations={\n\t\t\t\t\t\t\tpossibleBlockVariationTransformations\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ priorityTextTransformations.map( ( item ) => (\n\t\t\t\t\t<BlockTransformationItem\n\t\t\t\t\t\tkey={ item.name }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsetHoveredTransformItemName={\n\t\t\t\t\t\t\tsetHoveredTransformItemName\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t\t{ ! hasBothContentTransformations && restTransformItems }\n\t\t\t</MenuGroup>\n\t\t\t{ !! hasBothContentTransformations && (\n\t\t\t\t<MenuGroup className={ className }>\n\t\t\t\t\t{ restTransformItems }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nfunction RestTransformationItems( {\n\trestTransformations,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\treturn restTransformations.map( ( item ) => (\n\t\t<BlockTransformationItem\n\t\t\tkey={ item.name }\n\t\t\titem={ item }\n\t\t\tonSelect={ onSelect }\n\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t/>\n\t) );\n}\n\nfunction BlockTransformationItem( {\n\titem,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\tconst { name, icon, title, isDisabled } = item;\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName={ getBlockMenuDefaultClassName( name ) }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonSelect( name );\n\t\t\t} }\n\t\t\tdisabled={ isDisabled }\n\t\t\tonMouseLeave={ () => setHoveredTransformItemName( null ) }\n\t\t\tonMouseEnter={ () => setHoveredTransformItemName( name ) }\n\t\t>\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t{ title }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -69,14 +69,14 @@ const BlockVariationTransformations = ({
69
69
  blocks: (0, _blocks.cloneBlock)(blocks[0], transformations.find(({
70
70
  name
71
71
  }) => name === hoveredTransformItemName).attributes)
72
- }), transformations?.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockVariationTranformationItem, {
72
+ }), transformations?.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockVariationTransformationItem, {
73
73
  item: item,
74
74
  onSelect: onSelect,
75
75
  setHoveredTransformItemName: setHoveredTransformItemName
76
76
  }, item.name))]
77
77
  });
78
78
  };
79
- function BlockVariationTranformationItem({
79
+ function BlockVariationTransformationItem({
80
80
  item,
81
81
  onSelect,
82
82
  setHoveredTransformItemName
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_blocks","_data","_element","_store","_blockIcon","_interopRequireDefault","_previewBlockPopover","_jsxRuntime","EMPTY_OBJECT","useBlockVariationTransforms","clientIds","blocks","activeBlockVariation","blockVariationTransformations","useSelect","select","getBlockAttributes","canRemoveBlocks","blockEditorStore","getActiveBlockVariation","getBlockVariations","blocksStore","canRemove","length","firstBlock","name","clientId","transformations","useMemo","filter","BlockVariationTransformations","onSelect","hoveredTransformItemName","setHoveredTransformItemName","useState","jsxs","Fragment","children","jsx","default","cloneBlock","find","attributes","map","item","BlockVariationTranformationItem","icon","title","MenuItem","className","getBlockMenuDefaultClassName","onClick","event","preventDefault","onMouseLeave","onMouseEnter","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-variation-transformations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport {\n\tgetBlockMenuDefaultClassName,\n\tcloneBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport PreviewBlockPopover from './preview-block-popover';\n\nconst EMPTY_OBJECT = {};\n\nexport function useBlockVariationTransforms( { clientIds, blocks } ) {\n\tconst { activeBlockVariation, blockVariationTransformations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst canRemove = canRemoveBlocks( clientIds );\n\t\t\t// Only handle single selected blocks for now.\n\t\t\tif ( blocks.length !== 1 || ! canRemove ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst [ firstBlock ] = blocks;\n\t\t\treturn {\n\t\t\t\tblockVariationTransformations: getBlockVariations(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\t'transform'\n\t\t\t\t),\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\tgetBlockAttributes( firstBlock.clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks ]\n\t);\n\tconst transformations = useMemo( () => {\n\t\treturn blockVariationTransformations?.filter(\n\t\t\t( { name } ) => name !== activeBlockVariation?.name\n\t\t);\n\t}, [ blockVariationTransformations, activeBlockVariation ] );\n\treturn transformations;\n}\n\nconst BlockVariationTransformations = ( {\n\ttransformations,\n\tonSelect,\n\tblocks,\n} ) => {\n\tconst [ hoveredTransformItemName, setHoveredTransformItemName ] =\n\t\tuseState();\n\treturn (\n\t\t<>\n\t\t\t{ hoveredTransformItemName && (\n\t\t\t\t<PreviewBlockPopover\n\t\t\t\t\tblocks={ cloneBlock(\n\t\t\t\t\t\tblocks[ 0 ],\n\t\t\t\t\t\ttransformations.find(\n\t\t\t\t\t\t\t( { name } ) => name === hoveredTransformItemName\n\t\t\t\t\t\t).attributes\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ transformations?.map( ( item ) => (\n\t\t\t\t<BlockVariationTranformationItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</>\n\t);\n};\n\nfunction BlockVariationTranformationItem( {\n\titem,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\tconst { name, icon, title } = item;\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName={ getBlockMenuDefaultClassName( name ) }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonSelect( name );\n\t\t\t} }\n\t\t\tonMouseLeave={ () => setHoveredTransformItemName( null ) }\n\t\t\tonMouseEnter={ () => setHoveredTransformItemName( name ) }\n\t\t>\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t{ title }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockVariationTransformations;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_blocks","_data","_element","_store","_blockIcon","_interopRequireDefault","_previewBlockPopover","_jsxRuntime","EMPTY_OBJECT","useBlockVariationTransforms","clientIds","blocks","activeBlockVariation","blockVariationTransformations","useSelect","select","getBlockAttributes","canRemoveBlocks","blockEditorStore","getActiveBlockVariation","getBlockVariations","blocksStore","canRemove","length","firstBlock","name","clientId","transformations","useMemo","filter","BlockVariationTransformations","onSelect","hoveredTransformItemName","setHoveredTransformItemName","useState","jsxs","Fragment","children","jsx","default","cloneBlock","find","attributes","map","item","BlockVariationTransformationItem","icon","title","MenuItem","className","getBlockMenuDefaultClassName","onClick","event","preventDefault","onMouseLeave","onMouseEnter","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-variation-transformations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport {\n\tgetBlockMenuDefaultClassName,\n\tcloneBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport PreviewBlockPopover from './preview-block-popover';\n\nconst EMPTY_OBJECT = {};\n\nexport function useBlockVariationTransforms( { clientIds, blocks } ) {\n\tconst { activeBlockVariation, blockVariationTransformations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst canRemove = canRemoveBlocks( clientIds );\n\t\t\t// Only handle single selected blocks for now.\n\t\t\tif ( blocks.length !== 1 || ! canRemove ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst [ firstBlock ] = blocks;\n\t\t\treturn {\n\t\t\t\tblockVariationTransformations: getBlockVariations(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\t'transform'\n\t\t\t\t),\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tfirstBlock.name,\n\t\t\t\t\tgetBlockAttributes( firstBlock.clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks ]\n\t);\n\tconst transformations = useMemo( () => {\n\t\treturn blockVariationTransformations?.filter(\n\t\t\t( { name } ) => name !== activeBlockVariation?.name\n\t\t);\n\t}, [ blockVariationTransformations, activeBlockVariation ] );\n\treturn transformations;\n}\n\nconst BlockVariationTransformations = ( {\n\ttransformations,\n\tonSelect,\n\tblocks,\n} ) => {\n\tconst [ hoveredTransformItemName, setHoveredTransformItemName ] =\n\t\tuseState();\n\treturn (\n\t\t<>\n\t\t\t{ hoveredTransformItemName && (\n\t\t\t\t<PreviewBlockPopover\n\t\t\t\t\tblocks={ cloneBlock(\n\t\t\t\t\t\tblocks[ 0 ],\n\t\t\t\t\t\ttransformations.find(\n\t\t\t\t\t\t\t( { name } ) => name === hoveredTransformItemName\n\t\t\t\t\t\t).attributes\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ transformations?.map( ( item ) => (\n\t\t\t\t<BlockVariationTransformationItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tsetHoveredTransformItemName={ setHoveredTransformItemName }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</>\n\t);\n};\n\nfunction BlockVariationTransformationItem( {\n\titem,\n\tonSelect,\n\tsetHoveredTransformItemName,\n} ) {\n\tconst { name, icon, title } = item;\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName={ getBlockMenuDefaultClassName( name ) }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonSelect( name );\n\t\t\t} }\n\t\t\tonMouseLeave={ () => setHoveredTransformItemName( null ) }\n\t\t\tonMouseEnter={ () => setHoveredTransformItemName( name ) }\n\t\t>\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t{ title }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockVariationTransformations;\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,oBAAA,GAAAD,sBAAA,CAAAN,OAAA;AAA0D,IAAAQ,WAAA,GAAAR,OAAA;AAjB1D;AACA;AACA;;AAUA;AACA;AACA;;AAKA,MAAMS,YAAY,GAAG,CAAC,CAAC;AAEhB,SAASC,2BAA2BA,CAAE;EAAEC,SAAS;EAAEC;AAAO,CAAC,EAAG;EACpE,MAAM;IAAEC,oBAAoB;IAAEC;EAA8B,CAAC,GAAG,IAAAC,eAAS,EACtEC,MAAM,IAAM;IACb,MAAM;MAAEC,kBAAkB;MAAEC;IAAgB,CAAC,GAC5CF,MAAM,CAAEG,YAAiB,CAAC;IAC3B,MAAM;MAAEC,uBAAuB;MAAEC;IAAmB,CAAC,GACpDL,MAAM,CAAEM,aAAY,CAAC;IAEtB,MAAMC,SAAS,GAAGL,eAAe,CAAEP,SAAU,CAAC;IAC9C;IACA,IAAKC,MAAM,CAACY,MAAM,KAAK,CAAC,IAAI,CAAED,SAAS,EAAG;MACzC,OAAOd,YAAY;IACpB;IACA,MAAM,CAAEgB,UAAU,CAAE,GAAGb,MAAM;IAC7B,OAAO;MACNE,6BAA6B,EAAEO,kBAAkB,CAChDI,UAAU,CAACC,IAAI,EACf,WACD,CAAC;MACDb,oBAAoB,EAAEO,uBAAuB,CAC5CK,UAAU,CAACC,IAAI,EACfT,kBAAkB,CAAEQ,UAAU,CAACE,QAAS,CACzC;IACD,CAAC;EACF,CAAC,EACD,CAAEhB,SAAS,EAAEC,MAAM,CACpB,CAAC;EACD,MAAMgB,eAAe,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACtC,OAAOf,6BAA6B,EAAEgB,MAAM,CAC3C,CAAE;MAAEJ;IAAK,CAAC,KAAMA,IAAI,KAAKb,oBAAoB,EAAEa,IAChD,CAAC;EACF,CAAC,EAAE,CAAEZ,6BAA6B,EAAED,oBAAoB,CAAG,CAAC;EAC5D,OAAOe,eAAe;AACvB;AAEA,MAAMG,6BAA6B,GAAGA,CAAE;EACvCH,eAAe;EACfI,QAAQ;EACRpB;AACD,CAAC,KAAM;EACN,MAAM,CAAEqB,wBAAwB,EAAEC,2BAA2B,CAAE,GAC9D,IAAAC,iBAAQ,EAAC,CAAC;EACX,oBACC,IAAA3B,WAAA,CAAA4B,IAAA,EAAA5B,WAAA,CAAA6B,QAAA;IAAAC,QAAA,GACGL,wBAAwB,iBACzB,IAAAzB,WAAA,CAAA+B,GAAA,EAAChC,oBAAA,CAAAiC,OAAmB;MACnB5B,MAAM,EAAG,IAAA6B,kBAAU,EAClB7B,MAAM,CAAE,CAAC,CAAE,EACXgB,eAAe,CAACc,IAAI,CACnB,CAAE;QAAEhB;MAAK,CAAC,KAAMA,IAAI,KAAKO,wBAC1B,CAAC,CAACU,UACH;IAAG,CACH,CACD,EACCf,eAAe,EAAEgB,GAAG,CAAIC,IAAI,iBAC7B,IAAArC,WAAA,CAAA+B,GAAA,EAACO,gCAAgC;MAEhCD,IAAI,EAAGA,IAAM;MACbb,QAAQ,EAAGA,QAAU;MACrBE,2BAA2B,EAAGA;IAA6B,GAHrDW,IAAI,CAACnB,IAIX,CACA,CAAC;EAAA,CACF,CAAC;AAEL,CAAC;AAED,SAASoB,gCAAgCA,CAAE;EAC1CD,IAAI;EACJb,QAAQ;EACRE;AACD,CAAC,EAAG;EACH,MAAM;IAAER,IAAI;IAAEqB,IAAI;IAAEC;EAAM,CAAC,GAAGH,IAAI;EAClC,oBACC,IAAArC,WAAA,CAAA4B,IAAA,EAACrC,WAAA,CAAAkD,QAAQ;IACRC,SAAS,EAAG,IAAAC,oCAA4B,EAAEzB,IAAK,CAAG;IAClD0B,OAAO,EAAKC,KAAK,IAAM;MACtBA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBtB,QAAQ,CAAEN,IAAK,CAAC;IACjB,CAAG;IACH6B,YAAY,EAAGA,CAAA,KAAMrB,2BAA2B,CAAE,IAAK,CAAG;IAC1DsB,YAAY,EAAGA,CAAA,KAAMtB,2BAA2B,CAAER,IAAK,CAAG;IAAAY,QAAA,gBAE1D,IAAA9B,WAAA,CAAA+B,GAAA,EAAClC,UAAA,CAAAmC,OAAS;MAACO,IAAI,EAAGA,IAAM;MAACU,UAAU;IAAA,CAAE,CAAC,EACpCT,KAAK;EAAA,CACE,CAAC;AAEb;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEcT,6BAA6B","ignoreList":[]}
@@ -70,7 +70,7 @@ function BlockSwitcherDropdownMenuContents({
70
70
  multiSelect(insertedBlocks[0].clientId, insertedBlocks[insertedBlocks.length - 1].clientId);
71
71
  }
72
72
  }
73
- // Simple block tranformation based on the `Block Transforms` API.
73
+ // Simple block transformation based on the `Block Transforms` API.
74
74
  function onBlockTransform(name) {
75
75
  const newBlocks = (0, _blocks2.switchToBlockType)(blocks, name);
76
76
  replaceBlocks(clientIds, newBlocks);