@wordpress/block-library 9.28.0 → 9.29.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 (196) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion/edit.js +123 -0
  3. package/build/accordion/edit.js.map +1 -0
  4. package/build/accordion/icon.js +33 -0
  5. package/build/accordion/icon.js.map +1 -0
  6. package/build/accordion/index.js +100 -0
  7. package/build/accordion/index.js.map +1 -0
  8. package/build/accordion/init.js +12 -0
  9. package/build/accordion/init.js.map +1 -0
  10. package/build/accordion/save.js +36 -0
  11. package/build/accordion/save.js.map +1 -0
  12. package/build/accordion/view.js +49 -0
  13. package/build/accordion/view.js.map +1 -0
  14. package/build/accordion-content/edit.js +129 -0
  15. package/build/accordion-content/edit.js.map +1 -0
  16. package/build/accordion-content/icon.js +35 -0
  17. package/build/accordion-content/icon.js.map +1 -0
  18. package/build/accordion-content/icons.js +30 -0
  19. package/build/accordion-content/icons.js.map +1 -0
  20. package/build/accordion-content/index.js +76 -0
  21. package/build/accordion-content/index.js.map +1 -0
  22. package/build/accordion-content/init.js +12 -0
  23. package/build/accordion-content/init.js.map +1 -0
  24. package/build/accordion-content/save.js +37 -0
  25. package/build/accordion-content/save.js.map +1 -0
  26. package/build/accordion-header/edit.js +118 -0
  27. package/build/accordion-header/edit.js.map +1 -0
  28. package/build/accordion-header/icon.js +25 -0
  29. package/build/accordion-header/icon.js.map +1 -0
  30. package/build/accordion-header/index.js +121 -0
  31. package/build/accordion-header/index.js.map +1 -0
  32. package/build/accordion-header/init.js +12 -0
  33. package/build/accordion-header/init.js.map +1 -0
  34. package/build/accordion-header/save.js +81 -0
  35. package/build/accordion-header/save.js.map +1 -0
  36. package/build/accordion-panel/edit.js +59 -0
  37. package/build/accordion-panel/edit.js.map +1 -0
  38. package/build/accordion-panel/icon.js +22 -0
  39. package/build/accordion-panel/icon.js.map +1 -0
  40. package/build/accordion-panel/index.js +105 -0
  41. package/build/accordion-panel/index.js.map +1 -0
  42. package/build/accordion-panel/init.js +12 -0
  43. package/build/accordion-panel/init.js.map +1 -0
  44. package/build/accordion-panel/save.js +46 -0
  45. package/build/accordion-panel/save.js.map +1 -0
  46. package/build/cover/index.js +2 -1
  47. package/build/cover/index.js.map +1 -1
  48. package/build/freeform/edit.js +6 -0
  49. package/build/freeform/edit.js.map +1 -1
  50. package/build/index.js +10 -0
  51. package/build/index.js.map +1 -1
  52. package/build/media-text/media-container.js +2 -1
  53. package/build/media-text/media-container.js.map +1 -1
  54. package/build/media-text/transforms.js +7 -3
  55. package/build/media-text/transforms.js.map +1 -1
  56. package/build/post-comments-link/edit.js +6 -1
  57. package/build/post-comments-link/edit.js.map +1 -1
  58. package/build/query-title/edit.js +52 -2
  59. package/build/query-title/edit.js.map +1 -1
  60. package/build/query-title/index.js +1 -0
  61. package/build/query-title/index.js.map +1 -1
  62. package/build/query-title/use-post-type-label.js +42 -0
  63. package/build/query-title/use-post-type-label.js.map +1 -0
  64. package/build/query-title/variations.js +10 -0
  65. package/build/query-title/variations.js.map +1 -1
  66. package/build/site-logo/edit.js +56 -41
  67. package/build/site-logo/edit.js.map +1 -1
  68. package/build/site-title/edit.js +9 -3
  69. package/build/site-title/edit.js.map +1 -1
  70. package/build/video/edit-common-settings.js +6 -3
  71. package/build/video/edit-common-settings.js.map +1 -1
  72. package/build-module/accordion/edit.js +116 -0
  73. package/build-module/accordion/edit.js.map +1 -0
  74. package/build-module/accordion/icon.js +27 -0
  75. package/build-module/accordion/icon.js.map +1 -0
  76. package/build-module/accordion/index.js +92 -0
  77. package/build-module/accordion/index.js.map +1 -0
  78. package/build-module/accordion/init.js +6 -0
  79. package/build-module/accordion/init.js.map +1 -0
  80. package/build-module/accordion/save.js +27 -0
  81. package/build-module/accordion/save.js.map +1 -0
  82. package/build-module/accordion/view.js +46 -0
  83. package/build-module/accordion/view.js.map +1 -0
  84. package/build-module/accordion-content/edit.js +120 -0
  85. package/build-module/accordion-content/edit.js.map +1 -0
  86. package/build-module/accordion-content/icon.js +29 -0
  87. package/build-module/accordion-content/icon.js.map +1 -0
  88. package/build-module/accordion-content/icons.js +22 -0
  89. package/build-module/accordion-content/icons.js.map +1 -0
  90. package/build-module/accordion-content/index.js +68 -0
  91. package/build-module/accordion-content/index.js.map +1 -0
  92. package/build-module/accordion-content/init.js +6 -0
  93. package/build-module/accordion-content/init.js.map +1 -0
  94. package/build-module/accordion-content/save.js +28 -0
  95. package/build-module/accordion-content/save.js.map +1 -0
  96. package/build-module/accordion-header/edit.js +108 -0
  97. package/build-module/accordion-header/edit.js.map +1 -0
  98. package/build-module/accordion-header/icon.js +19 -0
  99. package/build-module/accordion-header/icon.js.map +1 -0
  100. package/build-module/accordion-header/index.js +113 -0
  101. package/build-module/accordion-header/index.js.map +1 -0
  102. package/build-module/accordion-header/init.js +6 -0
  103. package/build-module/accordion-header/init.js.map +1 -0
  104. package/build-module/accordion-header/save.js +71 -0
  105. package/build-module/accordion-header/save.js.map +1 -0
  106. package/build-module/accordion-panel/edit.js +50 -0
  107. package/build-module/accordion-panel/edit.js.map +1 -0
  108. package/build-module/accordion-panel/icon.js +16 -0
  109. package/build-module/accordion-panel/icon.js.map +1 -0
  110. package/build-module/accordion-panel/index.js +97 -0
  111. package/build-module/accordion-panel/index.js.map +1 -0
  112. package/build-module/accordion-panel/init.js +6 -0
  113. package/build-module/accordion-panel/init.js.map +1 -0
  114. package/build-module/accordion-panel/save.js +37 -0
  115. package/build-module/accordion-panel/save.js.map +1 -0
  116. package/build-module/cover/index.js +2 -1
  117. package/build-module/cover/index.js.map +1 -1
  118. package/build-module/freeform/edit.js +6 -0
  119. package/build-module/freeform/edit.js.map +1 -1
  120. package/build-module/index.js +10 -0
  121. package/build-module/index.js.map +1 -1
  122. package/build-module/media-text/media-container.js +2 -1
  123. package/build-module/media-text/media-container.js.map +1 -1
  124. package/build-module/media-text/transforms.js +7 -3
  125. package/build-module/media-text/transforms.js.map +1 -1
  126. package/build-module/post-comments-link/edit.js +6 -1
  127. package/build-module/post-comments-link/edit.js.map +1 -1
  128. package/build-module/query-title/edit.js +52 -2
  129. package/build-module/query-title/edit.js.map +1 -1
  130. package/build-module/query-title/index.js +1 -0
  131. package/build-module/query-title/index.js.map +1 -1
  132. package/build-module/query-title/use-post-type-label.js +36 -0
  133. package/build-module/query-title/use-post-type-label.js.map +1 -0
  134. package/build-module/query-title/variations.js +10 -0
  135. package/build-module/query-title/variations.js.map +1 -1
  136. package/build-module/site-logo/edit.js +57 -42
  137. package/build-module/site-logo/edit.js.map +1 -1
  138. package/build-module/site-title/edit.js +10 -4
  139. package/build-module/site-title/edit.js.map +1 -1
  140. package/build-module/video/edit-common-settings.js +6 -3
  141. package/build-module/video/edit-common-settings.js.map +1 -1
  142. package/build-style/accordion/style-rtl.css +223 -0
  143. package/build-style/accordion/style.css +223 -0
  144. package/build-style/style-rtl.css +88 -0
  145. package/build-style/style.css +88 -0
  146. package/package.json +36 -35
  147. package/src/accordion/block.json +69 -0
  148. package/src/accordion/edit.js +133 -0
  149. package/src/accordion/icon.js +23 -0
  150. package/src/accordion/index.js +21 -0
  151. package/src/accordion/index.php +61 -0
  152. package/src/accordion/init.js +6 -0
  153. package/src/accordion/save.js +23 -0
  154. package/src/accordion/style.scss +91 -0
  155. package/src/accordion/view.js +38 -0
  156. package/src/accordion-content/block.json +45 -0
  157. package/src/accordion-content/edit.js +149 -0
  158. package/src/accordion-content/icon.js +28 -0
  159. package/src/accordion-content/icons.js +23 -0
  160. package/src/accordion-content/index.js +21 -0
  161. package/src/accordion-content/index.php +73 -0
  162. package/src/accordion-content/init.js +6 -0
  163. package/src/accordion-content/save.js +25 -0
  164. package/src/accordion-header/block.json +93 -0
  165. package/src/accordion-header/edit.js +131 -0
  166. package/src/accordion-header/icon.js +16 -0
  167. package/src/accordion-header/index.js +21 -0
  168. package/src/accordion-header/init.js +6 -0
  169. package/src/accordion-header/save.js +79 -0
  170. package/src/accordion-panel/block.json +74 -0
  171. package/src/accordion-panel/edit.js +61 -0
  172. package/src/accordion-panel/icon.js +15 -0
  173. package/src/accordion-panel/index.js +21 -0
  174. package/src/accordion-panel/init.js +6 -0
  175. package/src/accordion-panel/save.js +51 -0
  176. package/src/block/index.php +16 -14
  177. package/src/cover/block.json +2 -1
  178. package/src/file/index.php +28 -22
  179. package/src/freeform/edit.js +7 -0
  180. package/src/index.js +12 -0
  181. package/src/media-text/media-container.js +1 -0
  182. package/src/media-text/transforms.js +5 -1
  183. package/src/navigation/edit/test/navigation-menu-selector.js +2 -2
  184. package/src/post-comments-link/edit.js +7 -1
  185. package/src/post-excerpt/index.php +16 -12
  186. package/src/query-title/block.json +1 -0
  187. package/src/query-title/edit.js +58 -1
  188. package/src/query-title/index.php +30 -5
  189. package/src/query-title/use-post-type-label.js +34 -0
  190. package/src/query-title/variations.js +13 -0
  191. package/src/site-logo/edit.js +33 -12
  192. package/src/site-title/edit.js +24 -16
  193. package/src/social-link/README.md +4 -1
  194. package/src/social-link/index.php +1 -1
  195. package/src/style.scss +1 -0
  196. package/src/video/edit-common-settings.js +14 -5
@@ -11,7 +11,7 @@ import { createInterpolateElement, useEffect, useState } from '@wordpress/elemen
11
11
  import { __, isRTL } from '@wordpress/i18n';
12
12
  import { RangeControl, ResizableBox, Spinner, ToggleControl, ToolbarButton, Placeholder, Button, DropZone, FlexItem, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalItemGroup as ItemGroup, __experimentalHStack as HStack, __experimentalTruncate as Truncate } from '@wordpress/components';
13
13
  import { useViewportMatch } from '@wordpress/compose';
14
- import { BlockControls, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore, __experimentalImageEditor as ImageEditor } from '@wordpress/block-editor';
14
+ import { BlockControls, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore, __experimentalImageEditor as ImageEditor, useBlockEditingMode } from '@wordpress/block-editor';
15
15
  import { useSelect, useDispatch } from '@wordpress/data';
16
16
  import { store as coreStore } from '@wordpress/core-data';
17
17
  import { crop, upload } from '@wordpress/icons';
@@ -57,6 +57,12 @@ const SiteLogo = ({
57
57
  toggleSelection
58
58
  } = useDispatch(blockEditorStore);
59
59
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
60
+
61
+ // Check if we're in contentOnly mode
62
+ const blockEditingMode = useBlockEditingMode();
63
+ const isNavigationMode = useSelect(select => select(blockEditorStore).isNavigationMode(), []);
64
+ const isContentOnlyMode = blockEditingMode === 'contentOnly';
65
+ const isContentOnlyWriteMode = isNavigationMode && isContentOnlyMode;
60
66
  const {
61
67
  imageEditing,
62
68
  maxWidth,
@@ -181,46 +187,55 @@ const SiteLogo = ({
181
187
  /* eslint-enable no-lonely-if */
182
188
 
183
189
  const canEditImage = logoId && naturalWidth && naturalHeight && imageEditing;
184
- const imgEdit = canEditImage && isEditingImage ? /*#__PURE__*/_jsx(ImageEditor, {
185
- id: logoId,
186
- url: logoUrl,
187
- width: currentWidth,
188
- height: currentHeight,
189
- naturalHeight: naturalHeight,
190
- naturalWidth: naturalWidth,
191
- onSaveImage: imageAttributes => {
192
- setLogo(imageAttributes.id);
193
- },
194
- onFinishEditing: () => {
195
- setIsEditingImage(false);
196
- }
197
- }) : /*#__PURE__*/_jsx(ResizableBox, {
198
- size: {
190
+
191
+ // Hide crop and dimensions editing in write mode
192
+ const shouldShowCropAndDimensions = !isContentOnlyWriteMode;
193
+ let imgEdit;
194
+ if (canEditImage && isEditingImage) {
195
+ imgEdit = /*#__PURE__*/_jsx(ImageEditor, {
196
+ id: logoId,
197
+ url: logoUrl,
199
198
  width: currentWidth,
200
- height: currentHeight
201
- },
202
- showHandle: isSelected,
203
- minWidth: minWidth,
204
- maxWidth: maxWidthBuffer,
205
- minHeight: minHeight,
206
- maxHeight: maxWidthBuffer / ratio,
207
- lockAspectRatio: true,
208
- enable: {
209
- top: false,
210
- right: showRightHandle,
211
- bottom: true,
212
- left: showLeftHandle
213
- },
214
- onResizeStart: onResizeStart,
215
- onResizeStop: (event, direction, elt, delta) => {
216
- onResizeStop();
217
- setAttributes({
218
- width: parseInt(currentWidth + delta.width, 10),
219
- height: parseInt(currentHeight + delta.height, 10)
220
- });
221
- },
222
- children: imgWrapper
223
- });
199
+ height: currentHeight,
200
+ naturalHeight: naturalHeight,
201
+ naturalWidth: naturalWidth,
202
+ onSaveImage: imageAttributes => {
203
+ setLogo(imageAttributes.id);
204
+ },
205
+ onFinishEditing: () => {
206
+ setIsEditingImage(false);
207
+ }
208
+ });
209
+ } else {
210
+ // Always render ResizableBox but disable resize functionality in contentOnly mode
211
+ imgEdit = /*#__PURE__*/_jsx(ResizableBox, {
212
+ size: {
213
+ width: currentWidth,
214
+ height: currentHeight
215
+ },
216
+ showHandle: isSelected && shouldShowCropAndDimensions,
217
+ minWidth: minWidth,
218
+ maxWidth: maxWidthBuffer,
219
+ minHeight: minHeight,
220
+ maxHeight: maxWidthBuffer / ratio,
221
+ lockAspectRatio: true,
222
+ enable: {
223
+ top: false,
224
+ right: showRightHandle,
225
+ bottom: true,
226
+ left: showLeftHandle
227
+ },
228
+ onResizeStart: onResizeStart,
229
+ onResizeStop: (event, direction, elt, delta) => {
230
+ onResizeStop();
231
+ setAttributes({
232
+ width: parseInt(currentWidth + delta.width, 10),
233
+ height: parseInt(currentHeight + delta.height, 10)
234
+ });
235
+ },
236
+ children: imgWrapper
237
+ });
238
+ }
224
239
 
225
240
  // Support the previous location for the Site Icon settings. To be removed
226
241
  // when the required WP core version for Gutenberg is >= 6.5.0.
@@ -315,9 +330,9 @@ const SiteLogo = ({
315
330
  })
316
331
  })]
317
332
  })
318
- }), /*#__PURE__*/_jsx(BlockControls, {
333
+ }), canEditImage && !isEditingImage && shouldShowCropAndDimensions && /*#__PURE__*/_jsx(BlockControls, {
319
334
  group: "block",
320
- children: canEditImage && !isEditingImage && /*#__PURE__*/_jsx(ToolbarButton, {
335
+ children: /*#__PURE__*/_jsx(ToolbarButton, {
321
336
  onClick: () => setIsEditingImage(true),
322
337
  icon: crop,
323
338
  label: __('Crop')
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","createInterpolateElement","useEffect","useState","__","isRTL","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","DropZone","FlexItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","MIN_SIZE","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","dropdownMenuProps","imageEditing","maxWidth","title","select","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","children","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","id","url","onSaveImage","imageAttributes","onFinishEditing","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","a","label","isShownByDefault","hasValue","onDeselect","undefined","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","newWidth","min","max","initialPosition","value","disabled","checked","help","group","icon","SiteLogoReplaceFlow","mediaURL","mediaReplaceProps","allowedTypes","accept","InspectorLogoPreview","media","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","as","justify","numberOfLines","LogoEdit","siteLogoId","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","kind","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","context","_isRequestingMediaItem","hasFinishedResolution","home","temporaryURL","setTemporaryURL","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","multiple","mediaReplaceFlowProps","onSelect","onReset","controls","logoImage","isLoading","placeholder","content","placeholderClassName","preview","withIllustration","classes","blockProps","mediaInspectorPanel","gridColumn","isBordered","renderToggle","props","mediaLibraryButton","open","variant","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { mediaURL, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tmediaURL={ mediaURL }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t/>\n\t);\n}\n\nconst InspectorLogoPreview = ( { media, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = media ?? {};\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t}\n\t\t\t);\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-container\"\n\t\t\t\t\t\tstyle={ { gridColumn: '1 / -1' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! logoUrl }\n\t\t\t\t\t\tlabel={ __( 'Logo' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t!! logoUrl ? (\n\t\t\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\t\t\tmedia={ mediaItemData }\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\t__( 'Choose logo' )\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\trenderToggle={ ( props ) => (\n\t\t\t\t\t\t\t\t\t<Button { ...props } __next40pxDefaultSize>\n\t\t\t\t\t\t\t\t\t\t{ temporaryURL ? (\n\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tprops.children\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","createInterpolateElement","useEffect","useState","__","isRTL","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","DropZone","FlexItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useBlockEditingMode","useSelect","useDispatch","coreStore","crop","upload","noticesStore","MIN_SIZE","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","dropdownMenuProps","blockEditingMode","isNavigationMode","select","isContentOnlyMode","isContentOnlyWriteMode","imageEditing","maxWidth","title","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","children","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","shouldShowCropAndDimensions","imgEdit","id","url","onSaveImage","imageAttributes","onFinishEditing","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","a","label","isShownByDefault","hasValue","onDeselect","undefined","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","newWidth","min","max","initialPosition","value","disabled","checked","help","group","icon","SiteLogoReplaceFlow","mediaURL","mediaReplaceProps","allowedTypes","accept","InspectorLogoPreview","media","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","as","justify","numberOfLines","LogoEdit","siteLogoId","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","kind","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","context","_isRequestingMediaItem","hasFinishedResolution","home","temporaryURL","setTemporaryURL","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","multiple","mediaReplaceFlowProps","onSelect","onReset","controls","logoImage","isLoading","placeholder","content","placeholderClassName","preview","withIllustration","classes","blockProps","mediaInspectorPanel","gridColumn","isBordered","renderToggle","props","mediaLibraryButton","open","variant","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if we're in contentOnly mode\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isContentOnlyWriteMode = isNavigationMode && isContentOnlyMode;\n\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\t// Hide crop and dimensions editing in write mode\n\tconst shouldShowCropAndDimensions = ! isContentOnlyWriteMode;\n\n\tlet imgEdit;\n\tif ( canEditImage && isEditingImage ) {\n\t\timgEdit = (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// Always render ResizableBox but disable resize functionality in contentOnly mode\n\t\timgEdit = (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected && shouldShowCropAndDimensions }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ canEditImage &&\n\t\t\t\t! isEditingImage &&\n\t\t\t\tshouldShowCropAndDimensions && (\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { mediaURL, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tmediaURL={ mediaURL }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t/>\n\t);\n}\n\nconst InspectorLogoPreview = ( { media, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = media ?? {};\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t}\n\t\t\t);\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-container\"\n\t\t\t\t\t\tstyle={ { gridColumn: '1 / -1' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! logoUrl }\n\t\t\t\t\t\tlabel={ __( 'Logo' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t!! logoUrl ? (\n\t\t\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\t\t\tmedia={ mediaItemData }\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\t__( 'Choose logo' )\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\trenderToggle={ ( props ) => (\n\t\t\t\t\t\t\t\t\t<Button { ...props } __next40pxDefaultSize>\n\t\t\t\t\t\t\t\t\t\t{ temporaryURL ? (\n\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tprops.children\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { useDispatch, useSelect } from '@wordpress/data';
10
10
  import { store as coreStore } from '@wordpress/core-data';
11
11
  import { __ } from '@wordpress/i18n';
12
- import { RichText, AlignmentControl, InspectorControls, BlockControls, useBlockProps, HeadingLevelDropdown } from '@wordpress/block-editor';
12
+ import { RichText, AlignmentControl, InspectorControls, BlockControls, useBlockProps, HeadingLevelDropdown, useBlockEditingMode, store as blockEditorStore } from '@wordpress/block-editor';
13
13
  import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
14
14
  import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
15
15
  import { decodeEntities } from '@wordpress/html-entities';
@@ -33,13 +33,17 @@ export default function SiteTitleEdit({
33
33
  } = attributes;
34
34
  const {
35
35
  canUserEdit,
36
- title
36
+ title,
37
+ isNavigationMode
37
38
  } = useSelect(select => {
38
39
  const {
39
40
  canUser,
40
41
  getEntityRecord,
41
42
  getEditedEntityRecord
42
43
  } = select(coreStore);
44
+ const {
45
+ isNavigationMode: _isNavigationMode
46
+ } = select(blockEditorStore);
43
47
  const canEdit = canUser('update', {
44
48
  kind: 'root',
45
49
  name: 'site'
@@ -48,13 +52,15 @@ export default function SiteTitleEdit({
48
52
  const readOnlySettings = getEntityRecord('root', '__unstableBase');
49
53
  return {
50
54
  canUserEdit: canEdit,
51
- title: canEdit ? settings?.title : readOnlySettings?.name
55
+ title: canEdit ? settings?.title : readOnlySettings?.name,
56
+ isNavigationMode: _isNavigationMode()
52
57
  };
53
58
  }, []);
54
59
  const {
55
60
  editEntityRecord
56
61
  } = useDispatch(coreStore);
57
62
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
63
+ const blockEditingMode = useBlockEditingMode();
58
64
  function setTitle(newTitle) {
59
65
  editEntityRecord('root', 'site', undefined, {
60
66
  title: newTitle.trim()
@@ -91,7 +97,7 @@ export default function SiteTitleEdit({
91
97
  })
92
98
  });
93
99
  return /*#__PURE__*/_jsxs(_Fragment, {
94
- children: [/*#__PURE__*/_jsxs(BlockControls, {
100
+ children: [!isNavigationMode && blockEditingMode === 'default' && /*#__PURE__*/_jsxs(BlockControls, {
95
101
  group: "block",
96
102
  children: [/*#__PURE__*/_jsx(HeadingLevelDropdown, {
97
103
  value: level,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useDispatch","useSelect","store","coreStore","__","RichText","AlignmentControl","InspectorControls","BlockControls","useBlockProps","HeadingLevelDropdown","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","createBlock","getDefaultBlockName","decodeEntities","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","levelOptions","textAlign","isLink","linkTarget","canUserEdit","title","select","canUser","getEntityRecord","getEditedEntityRecord","canEdit","kind","name","settings","readOnlySettings","editEntityRecord","dropdownMenuProps","setTitle","newTitle","undefined","trim","TagName","blockProps","className","siteTitleContent","children","tagName","href","placeholder","value","onChange","allowedFormats","disableLineBreaks","__unstableOnSplitAtEnd","onClick","event","preventDefault","group","options","newLevel","nextAlign","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked"],"sources":["@wordpress/block-library/src/site-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, levelOptions, textAlign, isLink, linkTarget } = attributes;\n\tconst { canUserEdit, title } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canEdit,\n\t\t\ttitle: canEdit ? settings?.title : readOnlySettings?.name,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tfunction setTitle( newTitle ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\ttitle: newTitle.trim(),\n\t\t} );\n\t}\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder': ! canUserEdit && ! title,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,QAAQ,EACRC,gBAAgB,EAChBC,iBAAiB,EACjBC,aAAa,EACbC,aAAa,EACbC,oBAAoB,QACd,yBAAyB;AAChC,SACCC,aAAa,EACbC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,mBAAmB;AACpE,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,SAASC,8BAA8B,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEhE,eAAe,SAASC,aAAaA,CAAE;EACtCC,UAAU;EACVC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,KAAK;IAAEC,YAAY;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAW,CAAC,GAAGP,UAAU;EACzE,MAAM;IAAEQ,WAAW;IAAEC;EAAM,CAAC,GAAGnC,SAAS,CAAIoC,MAAM,IAAM;IACvD,MAAM;MAAEC,OAAO;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GACxDH,MAAM,CAAElC,SAAU,CAAC;IACpB,MAAMsC,OAAO,GAAGH,OAAO,CAAE,QAAQ,EAAE;MAClCI,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;IACP,CAAE,CAAC;IACH,MAAMC,QAAQ,GAAGH,OAAO,GAAGD,qBAAqB,CAAE,MAAM,EAAE,MAAO,CAAC,GAAG,CAAC,CAAC;IACvE,MAAMK,gBAAgB,GAAGN,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC;IAEpE,OAAO;MACNJ,WAAW,EAAEM,OAAO;MACpBL,KAAK,EAAEK,OAAO,GAAGG,QAAQ,EAAER,KAAK,GAAGS,gBAAgB,EAAEF;IACtD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEG;EAAiB,CAAC,GAAG9C,WAAW,CAAEG,SAAU,CAAC;EACrD,MAAM4C,iBAAiB,GAAG5B,8BAA8B,CAAC,CAAC;EAE1D,SAAS6B,QAAQA,CAAEC,QAAQ,EAAG;IAC7BH,gBAAgB,CAAE,MAAM,EAAE,MAAM,EAAEI,SAAS,EAAE;MAC5Cd,KAAK,EAAEa,QAAQ,CAACE,IAAI,CAAC;IACtB,CAAE,CAAC;EACJ;EAEA,MAAMC,OAAO,GAAGtB,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,IAAKA,KAAK,EAAG;EACjD,MAAMuB,UAAU,GAAG5C,aAAa,CAAE;IACjC6C,SAAS,EAAEvD,IAAI,CAAE;MAChB,CAAE,kBAAmBiC,SAAS,EAAG,GAAIA,SAAS;MAC9C,kCAAkC,EAAE,CAAEG,WAAW,IAAI,CAAEC;IACxD,CAAE;EACH,CAAE,CAAC;EACH,MAAMmB,gBAAgB,GAAGpB,WAAW,gBACnCd,IAAA,CAAC+B,OAAO;IAAA,GAAMC,UAAU;IAAAG,QAAA,eACvBnC,IAAA,CAAChB,QAAQ;MACRoD,OAAO,EAAGxB,MAAM,GAAG,GAAG,GAAG,MAAQ;MACjCyB,IAAI,EAAGzB,MAAM,GAAG,yBAAyB,GAAGiB,SAAW;MACvD,cAAa9C,EAAE,CAAE,iBAAkB,CAAG;MACtCuD,WAAW,EAAGvD,EAAE,CAAE,mBAAoB,CAAG;MACzCwD,KAAK,EAAGxB,KAAO;MACfyB,QAAQ,EAAGb,QAAU;MACrBc,cAAc,EAAG,EAAI;MACrBC,iBAAiB;MACjBC,sBAAsB,EAAGA,CAAA,KACxBnC,iBAAiB,CAAEb,WAAW,CAAEC,mBAAmB,CAAC,CAAE,CAAE;IACxD,CACD;EAAC,CACM,CAAC,gBAEVI,IAAA,CAAC+B,OAAO;IAAA,GAAMC,UAAU;IAAAG,QAAA,EACrBvB,MAAM,gBACPZ,IAAA;MACCqC,IAAI,EAAC,yBAAyB;MAC9BO,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;MAAAX,QAAA,EAE7CtC,cAAc,CAAEkB,KAAM,CAAC,IACxBhC,EAAE,CAAE,wBAAyB;IAAC,CAC7B,CAAC,gBAEJiB,IAAA;MAAAmC,QAAA,EACGtC,cAAc,CAAEkB,KAAM,CAAC,IACxBhC,EAAE,CAAE,wBAAyB;IAAC,CAC1B;EACN,CACO,CACT;EACD,oBACCmB,KAAA,CAAAE,SAAA;IAAA+B,QAAA,gBACCjC,KAAA,CAACf,aAAa;MAAC4D,KAAK,EAAC,OAAO;MAAAZ,QAAA,gBAC3BnC,IAAA,CAACX,oBAAoB;QACpBkD,KAAK,EAAG9B,KAAO;QACfuC,OAAO,EAAGtC,YAAc;QACxB8B,QAAQ,EAAKS,QAAQ,IACpB1C,aAAa,CAAE;UAAEE,KAAK,EAAEwC;QAAS,CAAE;MACnC,CACD,CAAC,eACFjD,IAAA,CAACf,gBAAgB;QAChBsD,KAAK,EAAG5B,SAAW;QACnB6B,QAAQ,EAAKU,SAAS,IAAM;UAC3B3C,aAAa,CAAE;YAAEI,SAAS,EAAEuC;UAAU,CAAE,CAAC;QAC1C;MAAG,CACH,CAAC;IAAA,CACY,CAAC,eAChBlD,IAAA,CAACd,iBAAiB;MAAAiD,QAAA,eACjBjC,KAAA,CAACV,UAAU;QACV2D,KAAK,EAAGpE,EAAE,CAAE,UAAW,CAAG;QAC1BqE,QAAQ,EAAGA,CAAA,KAAM;UAChB7C,aAAa,CAAE;YACdK,MAAM,EAAE,IAAI;YACZC,UAAU,EAAE;UACb,CAAE,CAAC;QACJ,CAAG;QACHa,iBAAiB,EAAGA,iBAAmB;QAAAS,QAAA,gBAEvCnC,IAAA,CAACN,cAAc;UACd2D,QAAQ,EAAGA,CAAA,KAAM,CAAEzC,MAAQ;UAC3BuC,KAAK,EAAGpE,EAAE,CAAE,yBAA0B,CAAG;UACzCuE,UAAU,EAAGA,CAAA,KAAM/C,aAAa,CAAE;YAAEK,MAAM,EAAE;UAAK,CAAE,CAAG;UACtD2C,gBAAgB;UAAApB,QAAA,eAEhBnC,IAAA,CAACV,aAAa;YACbkE,uBAAuB;YACvBL,KAAK,EAAGpE,EAAE,CAAE,yBAA0B,CAAG;YACzCyD,QAAQ,EAAGA,CAAA,KACVjC,aAAa,CAAE;cAAEK,MAAM,EAAE,CAAEA;YAAO,CAAE,CACpC;YACD6C,OAAO,EAAG7C;UAAQ,CAClB;QAAC,CACa,CAAC,EACfA,MAAM,iBACPZ,IAAA,CAACN,cAAc;UACd2D,QAAQ,EAAGA,CAAA,KAAMxC,UAAU,KAAK,OAAS;UACzCsC,KAAK,EAAGpE,EAAE,CAAE,iBAAkB,CAAG;UACjCuE,UAAU,EAAGA,CAAA,KACZ/C,aAAa,CAAE;YAAEM,UAAU,EAAE;UAAQ,CAAE,CACvC;UACD0C,gBAAgB;UAAApB,QAAA,eAEhBnC,IAAA,CAACV,aAAa;YACbkE,uBAAuB;YACvBL,KAAK,EAAGpE,EAAE,CAAE,iBAAkB,CAAG;YACjCyD,QAAQ,EAAKD,KAAK,IACjBhC,aAAa,CAAE;cACdM,UAAU,EAAE0B,KAAK,GAAG,QAAQ,GAAG;YAChC,CAAE,CACF;YACDkB,OAAO,EAAG5C,UAAU,KAAK;UAAU,CACnC;QAAC,CACa,CAChB;MAAA,CACU;IAAC,CACK,CAAC,EAClBqB,gBAAgB;EAAA,CACjB,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useDispatch","useSelect","store","coreStore","__","RichText","AlignmentControl","InspectorControls","BlockControls","useBlockProps","HeadingLevelDropdown","useBlockEditingMode","blockEditorStore","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","createBlock","getDefaultBlockName","decodeEntities","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","levelOptions","textAlign","isLink","linkTarget","canUserEdit","title","isNavigationMode","select","canUser","getEntityRecord","getEditedEntityRecord","_isNavigationMode","canEdit","kind","name","settings","readOnlySettings","editEntityRecord","dropdownMenuProps","blockEditingMode","setTitle","newTitle","undefined","trim","TagName","blockProps","className","siteTitleContent","children","tagName","href","placeholder","value","onChange","allowedFormats","disableLineBreaks","__unstableOnSplitAtEnd","onClick","event","preventDefault","group","options","newLevel","nextAlign","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked"],"sources":["@wordpress/block-library/src/site-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, levelOptions, textAlign, isLink, linkTarget } = attributes;\n\tconst { canUserEdit, title, isNavigationMode } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst { isNavigationMode: _isNavigationMode } =\n\t\t\tselect( blockEditorStore );\n\t\tconst canEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canEdit,\n\t\t\ttitle: canEdit ? settings?.title : readOnlySettings?.name,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tfunction setTitle( newTitle ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\ttitle: newTitle.trim(),\n\t\t} );\n\t}\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder': ! canUserEdit && ! title,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ ! isNavigationMode && blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -39,9 +39,11 @@ const VideoSettings = ({
39
39
  return newValue => {
40
40
  setAttributes({
41
41
  [attribute]: newValue,
42
- // Set muted when autoplay changes
42
+ // Set muted and playsInLine when autoplay changes
43
+ // playsInline is set to true when autoplay is true to support iOS devices
43
44
  ...(attribute === 'autoplay' && {
44
- muted: newValue
45
+ muted: newValue,
46
+ playsInline: newValue
45
47
  })
46
48
  });
47
49
  };
@@ -139,7 +141,8 @@ const VideoSettings = ({
139
141
  label: __('Play inline'),
140
142
  onChange: toggleFactory.playsInline,
141
143
  checked: !!playsInline,
142
- help: __('When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player.')
144
+ disabled: autoplay,
145
+ help: autoplay ? __('Play inline enabled because of Autoplay.') : __('When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player.')
143
146
  })
144
147
  }), /*#__PURE__*/_jsx(ToolsPanelItem, {
145
148
  label: __('Preload'),
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","ToggleControl","SelectControl","__experimentalToolsPanelItem","ToolsPanelItem","useMemo","useCallback","Platform","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload","children","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","help","disabled","__next40pxDefaultSize","hideCancelButton"],"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t[ attribute ]: newValue,\n\t\t\t\t\t// Set muted when autoplay changes\n\t\t\t\t\t...( attribute === 'autoplay' && { muted: newValue } ),\n\t\t\t\t} );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! autoplay }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { autoplay: false, muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\t\tchecked={ !! autoplay }\n\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! loop }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { loop: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\t\tchecked={ !! loop }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! muted }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\t\tchecked={ !! muted }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay ? __( 'Muted because of Autoplay.' ) : null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! controls }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { controls: true } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\t\tchecked={ !! controls }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! playsInline }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { playsInline: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/* translators: Setting to play videos within the webpage on mobile browsers rather than opening in a fullscreen player. */\n\t\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\t\tchecked={ !! playsInline }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => preload !== 'metadata' }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { preload: 'metadata' } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\t\tvalue={ preload }\n\t\t\t\t\tonChange={ onChangePreload }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","ToggleControl","SelectControl","__experimentalToolsPanelItem","ToolsPanelItem","useMemo","useCallback","Platform","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload","children","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","help","disabled","__next40pxDefaultSize","hideCancelButton"],"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t[ attribute ]: newValue,\n\t\t\t\t\t// Set muted and playsInLine when autoplay changes\n\t\t\t\t\t// playsInline is set to true when autoplay is true to support iOS devices\n\t\t\t\t\t...( attribute === 'autoplay' && {\n\t\t\t\t\t\tmuted: newValue,\n\t\t\t\t\t\tplaysInline: newValue,\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! autoplay }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { autoplay: false, muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\t\tchecked={ !! autoplay }\n\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! loop }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { loop: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\t\tchecked={ !! loop }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! muted }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\t\tchecked={ !! muted }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay ? __( 'Muted because of Autoplay.' ) : null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! controls }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { controls: true } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\t\tchecked={ !! controls }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! playsInline }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { playsInline: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/* translators: Setting to play videos within the webpage on mobile browsers rather than opening in a fullscreen player. */\n\t\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\t\tchecked={ !! playsInline }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay\n\t\t\t\t\t\t\t? __( 'Play inline enabled because of Autoplay.' )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => preload !== 'metadata' }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { preload: 'metadata' } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\t\tvalue={ preload }\n\t\t\t\t\tonChange={ onChangePreload }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"],"mappings":"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","ignoreList":[]}