@wordpress/block-library 8.25.0 → 8.26.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 (235) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/build/audio/edit.js +10 -12
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/block/edit.js +79 -32
  6. package/build/block/edit.js.map +1 -1
  7. package/build/comments-title/deprecated.js +1 -1
  8. package/build/comments-title/index.js +1 -1
  9. package/build/cover/edit/inspector-controls.js +1 -1
  10. package/build/cover/edit/inspector-controls.js.map +1 -1
  11. package/build/embed/util.js +4 -4
  12. package/build/embed/util.js.map +1 -1
  13. package/build/file/edit.js +19 -27
  14. package/build/file/edit.js.map +1 -1
  15. package/build/gallery/edit.js +36 -17
  16. package/build/gallery/edit.js.map +1 -1
  17. package/build/gallery/gallery.js +3 -2
  18. package/build/gallery/gallery.js.map +1 -1
  19. package/build/gallery/index.js +4 -0
  20. package/build/gallery/index.js.map +1 -1
  21. package/build/gallery/transforms.js +4 -68
  22. package/build/gallery/transforms.js.map +1 -1
  23. package/build/group/index.js +5 -1
  24. package/build/group/index.js.map +1 -1
  25. package/build/image/deprecated.js +11 -0
  26. package/build/image/deprecated.js.map +1 -1
  27. package/build/image/edit.native.js +3 -0
  28. package/build/image/edit.native.js.map +1 -1
  29. package/build/image/image.js +22 -21
  30. package/build/image/image.js.map +1 -1
  31. package/build/image/view.js +7 -1
  32. package/build/image/view.js.map +1 -1
  33. package/build/list/edit.js +10 -15
  34. package/build/list/edit.js.map +1 -1
  35. package/build/list-item/edit.js +17 -2
  36. package/build/list-item/edit.js.map +1 -1
  37. package/build/list-item/hooks/use-enter.js +5 -3
  38. package/build/list-item/hooks/use-enter.js.map +1 -1
  39. package/build/list-item/hooks/use-enter.native.js +4 -3
  40. package/build/list-item/hooks/use-enter.native.js.map +1 -1
  41. package/build/list-item/hooks/use-indent-list-item.js +2 -3
  42. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  43. package/build/list-item/hooks/use-merge.js +1 -1
  44. package/build/list-item/hooks/use-merge.js.map +1 -1
  45. package/build/list-item/hooks/use-outdent-list-item.js +3 -17
  46. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  47. package/build/list-item/hooks/use-space.js +8 -4
  48. package/build/list-item/hooks/use-space.js.map +1 -1
  49. package/build/media-text/media-container.native.js +3 -0
  50. package/build/media-text/media-container.native.js.map +1 -1
  51. package/build/navigation/constants.js +3 -1
  52. package/build/navigation/constants.js.map +1 -1
  53. package/build/navigation/edit/index.js +4 -0
  54. package/build/navigation/edit/index.js.map +1 -1
  55. package/build/navigation/view.js +25 -1
  56. package/build/navigation/view.js.map +1 -1
  57. package/build/pattern/edit.js +24 -2
  58. package/build/pattern/edit.js.map +1 -1
  59. package/build/pattern/recursion-detector.js +147 -0
  60. package/build/pattern/recursion-detector.js.map +1 -0
  61. package/build/post-featured-image/edit.js +19 -2
  62. package/build/post-featured-image/edit.js.map +1 -1
  63. package/build/post-featured-image/index.js +4 -0
  64. package/build/post-featured-image/index.js.map +1 -1
  65. package/build/query/edit/inspector-controls/index.js +3 -1
  66. package/build/query/edit/inspector-controls/index.js.map +1 -1
  67. package/build/query-pagination-numbers/index.js +1 -1
  68. package/build/search/edit.js +3 -5
  69. package/build/search/edit.js.map +1 -1
  70. package/build/search/index.js +0 -4
  71. package/build/search/index.js.map +1 -1
  72. package/build/site-logo/edit.js +7 -6
  73. package/build/site-logo/edit.js.map +1 -1
  74. package/build/spacer/edit.native.js +2 -2
  75. package/build/spacer/edit.native.js.map +1 -1
  76. package/build/tag-cloud/edit.js +5 -9
  77. package/build/tag-cloud/edit.js.map +1 -1
  78. package/build/utils/constants.js +16 -0
  79. package/build/utils/constants.js.map +1 -0
  80. package/build/video/edit.js +11 -8
  81. package/build/video/edit.js.map +1 -1
  82. package/build-module/audio/edit.js +10 -12
  83. package/build-module/audio/edit.js.map +1 -1
  84. package/build-module/block/edit.js +83 -36
  85. package/build-module/block/edit.js.map +1 -1
  86. package/build-module/comments-title/deprecated.js +1 -1
  87. package/build-module/comments-title/index.js +1 -1
  88. package/build-module/cover/edit/inspector-controls.js +1 -1
  89. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  90. package/build-module/embed/util.js +4 -4
  91. package/build-module/embed/util.js.map +1 -1
  92. package/build-module/file/edit.js +19 -27
  93. package/build-module/file/edit.js.map +1 -1
  94. package/build-module/gallery/edit.js +36 -17
  95. package/build-module/gallery/edit.js.map +1 -1
  96. package/build-module/gallery/gallery.js +3 -2
  97. package/build-module/gallery/gallery.js.map +1 -1
  98. package/build-module/gallery/index.js +4 -0
  99. package/build-module/gallery/index.js.map +1 -1
  100. package/build-module/gallery/transforms.js +4 -68
  101. package/build-module/gallery/transforms.js.map +1 -1
  102. package/build-module/group/index.js +5 -1
  103. package/build-module/group/index.js.map +1 -1
  104. package/build-module/image/deprecated.js +11 -0
  105. package/build-module/image/deprecated.js.map +1 -1
  106. package/build-module/image/edit.native.js +3 -0
  107. package/build-module/image/edit.native.js.map +1 -1
  108. package/build-module/image/image.js +17 -16
  109. package/build-module/image/image.js.map +1 -1
  110. package/build-module/image/view.js +7 -1
  111. package/build-module/image/view.js.map +1 -1
  112. package/build-module/list/edit.js +10 -15
  113. package/build-module/list/edit.js.map +1 -1
  114. package/build-module/list-item/edit.js +18 -3
  115. package/build-module/list-item/edit.js.map +1 -1
  116. package/build-module/list-item/hooks/use-enter.js +5 -3
  117. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  118. package/build-module/list-item/hooks/use-enter.native.js +4 -3
  119. package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
  120. package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
  121. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  122. package/build-module/list-item/hooks/use-merge.js +1 -1
  123. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  124. package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
  125. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  126. package/build-module/list-item/hooks/use-space.js +8 -4
  127. package/build-module/list-item/hooks/use-space.js.map +1 -1
  128. package/build-module/media-text/media-container.native.js +3 -0
  129. package/build-module/media-text/media-container.native.js.map +1 -1
  130. package/build-module/navigation/constants.js +1 -0
  131. package/build-module/navigation/constants.js.map +1 -1
  132. package/build-module/navigation/edit/index.js +5 -1
  133. package/build-module/navigation/edit/index.js.map +1 -1
  134. package/build-module/navigation/view.js +25 -1
  135. package/build-module/navigation/view.js.map +1 -1
  136. package/build-module/pattern/edit.js +26 -4
  137. package/build-module/pattern/edit.js.map +1 -1
  138. package/build-module/pattern/recursion-detector.js +139 -0
  139. package/build-module/pattern/recursion-detector.js.map +1 -0
  140. package/build-module/post-featured-image/edit.js +19 -2
  141. package/build-module/post-featured-image/edit.js.map +1 -1
  142. package/build-module/post-featured-image/index.js +4 -0
  143. package/build-module/post-featured-image/index.js.map +1 -1
  144. package/build-module/query/edit/inspector-controls/index.js +3 -1
  145. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  146. package/build-module/query-pagination-numbers/index.js +1 -1
  147. package/build-module/search/edit.js +3 -5
  148. package/build-module/search/edit.js.map +1 -1
  149. package/build-module/search/index.js +0 -4
  150. package/build-module/search/index.js.map +1 -1
  151. package/build-module/site-logo/edit.js +7 -6
  152. package/build-module/site-logo/edit.js.map +1 -1
  153. package/build-module/spacer/edit.native.js +2 -2
  154. package/build-module/spacer/edit.native.js.map +1 -1
  155. package/build-module/tag-cloud/edit.js +6 -10
  156. package/build-module/tag-cloud/edit.js.map +1 -1
  157. package/build-module/utils/constants.js +9 -0
  158. package/build-module/utils/constants.js.map +1 -0
  159. package/build-module/video/edit.js +11 -8
  160. package/build-module/video/edit.js.map +1 -1
  161. package/build-style/button/editor-rtl.css +0 -37
  162. package/build-style/button/editor.css +0 -37
  163. package/build-style/button/style-rtl.css +6 -6
  164. package/build-style/button/style.css +6 -6
  165. package/build-style/editor-rtl.css +2 -44
  166. package/build-style/editor.css +2 -44
  167. package/build-style/navigation/editor-rtl.css +2 -4
  168. package/build-style/navigation/editor.css +2 -4
  169. package/build-style/navigation/style-rtl.css +14 -18
  170. package/build-style/navigation/style.css +14 -18
  171. package/build-style/search/style-rtl.css +26 -27
  172. package/build-style/search/style.css +26 -27
  173. package/build-style/style-rtl.css +46 -51
  174. package/build-style/style.css +46 -51
  175. package/build-style/table/editor-rtl.css +0 -3
  176. package/build-style/table/editor.css +0 -3
  177. package/package.json +32 -32
  178. package/src/audio/edit.js +19 -19
  179. package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
  180. package/src/audio/test/edit.native.js +29 -0
  181. package/src/block/edit.js +114 -60
  182. package/src/button/editor.scss +0 -43
  183. package/src/button/style.scss +6 -6
  184. package/src/comments-title/block.json +1 -1
  185. package/src/cover/edit/inspector-controls.js +1 -1
  186. package/src/embed/util.js +2 -2
  187. package/src/file/edit.js +17 -24
  188. package/src/gallery/block.json +4 -0
  189. package/src/gallery/edit.js +69 -42
  190. package/src/gallery/gallery.js +4 -1
  191. package/src/gallery/index.php +18 -0
  192. package/src/gallery/transforms.js +2 -55
  193. package/src/group/block.json +5 -1
  194. package/src/image/deprecated.js +8 -0
  195. package/src/image/edit.native.js +3 -0
  196. package/src/image/image.js +54 -35
  197. package/src/image/index.php +1 -6
  198. package/src/image/view.js +5 -2
  199. package/src/list/edit.js +27 -35
  200. package/src/list-item/edit.js +18 -2
  201. package/src/list-item/hooks/use-enter.js +63 -62
  202. package/src/list-item/hooks/use-enter.native.js +9 -5
  203. package/src/list-item/hooks/use-indent-list-item.js +43 -53
  204. package/src/list-item/hooks/use-merge.js +1 -1
  205. package/src/list-item/hooks/use-outdent-list-item.js +50 -69
  206. package/src/list-item/hooks/use-space.js +7 -4
  207. package/src/media-text/media-container.native.js +3 -1
  208. package/src/navigation/constants.js +2 -0
  209. package/src/navigation/edit/index.js +11 -1
  210. package/src/navigation/editor.scss +1 -1
  211. package/src/navigation/style.scss +18 -16
  212. package/src/navigation/view.js +29 -3
  213. package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
  214. package/src/paragraph/test/edit.native.js +114 -0
  215. package/src/pattern/edit.js +35 -3
  216. package/src/pattern/index.php +16 -0
  217. package/src/pattern/recursion-detector.js +145 -0
  218. package/src/pattern/test/index.js +74 -0
  219. package/src/post-featured-image/block.json +4 -0
  220. package/src/post-featured-image/edit.js +32 -1
  221. package/src/post-featured-image/index.php +31 -0
  222. package/src/query/edit/inspector-controls/index.js +2 -0
  223. package/src/query-pagination-numbers/block.json +1 -1
  224. package/src/search/block.json +0 -4
  225. package/src/search/edit.js +2 -8
  226. package/src/search/index.php +3 -7
  227. package/src/search/style.scss +27 -29
  228. package/src/site-logo/edit.js +3 -4
  229. package/src/social-link/index.php +1 -1
  230. package/src/spacer/edit.native.js +4 -2
  231. package/src/table/editor.scss +0 -3
  232. package/src/tag-cloud/edit.js +7 -7
  233. package/src/template-part/index.php +6 -0
  234. package/src/utils/constants.js +8 -0
  235. package/src/video/edit.js +29 -27
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","Icon","search","__","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","DEFAULT_INNER_PADDING","BUTTON_BEHAVIOR_EXPAND","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","buttonBehavior","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","createElement","type","value","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","Fragment","withoutInteractiveFormatting","html","controls","id","min","max","step","newWidth","filteredWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","map","widthValue","key","isSmall","variant","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","size","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nconst BUTTON_BEHAVIOR_EXPAND = 'expand-searchfield';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tbuttonBehavior,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior\n\t\t\t\t? 'wp-block-search__button-behavior-expand'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 0 : MIN_WIDTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 100 : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\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__unstableInputWidth={ '80px' }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\twidthValue === width &&\n\t\t\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\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{ widthValue }%\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</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = classnames(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","Icon","search","__","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","createElement","type","value","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","Fragment","withoutInteractiveFormatting","html","controls","id","min","max","step","newWidth","filteredWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","map","widthValue","key","size","variant","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 0 : MIN_WIDTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 100 : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\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__unstableInputWidth={ '80px' }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\twidthValue === width &&\n\t\t\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\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{ widthValue }%\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</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = classnames(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -53,10 +53,6 @@ const metadata = {
53
53
  type: "object",
54
54
  "default": {}
55
55
  },
56
- buttonBehavior: {
57
- type: "string",
58
- "default": "expand-searchfield"
59
- },
60
56
  isSearchFieldHidden: {
61
57
  type: "boolean",
62
58
  "default": false
@@ -1 +1 @@
1
- {"version":3,"names":["__","search","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","label","type","__experimentalRole","showLabel","placeholder","width","widthUnit","buttonText","buttonPosition","buttonUseIcon","query","buttonBehavior","isSearchFieldHidden","supports","align","color","gradients","__experimentalSkipSerialization","__experimentalDefaultControls","background","text","interactivity","typography","__experimentalSelector","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","html","viewScript","editorStyle","style","edit","variations","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/search/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: { buttonText: __( 'Search' ), label: __( 'Search' ) },\n\t\tviewportWidth: 400,\n\t},\n\tvariations,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;MAAAC,kBAAA;IAAA;IAAAG,KAAA;MAAAJ,IAAA;IAAA;IAAAK,SAAA;MAAAL,IAAA;IAAA;IAAAM,UAAA;MAAAN,IAAA;MAAAC,kBAAA;IAAA;IAAAM,cAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,KAAA;MAAAT,IAAA;MAAA;IAAA;IAAAU,cAAA;MAAAV,IAAA;MAAA;IAAA;IAAAW,mBAAA;MAAAX,IAAA;MAAA;IAAA;EAAA;EAAAY,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,aAAA;IAAAC,UAAA;MAAAL,+BAAA;MAAAM,sBAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAjB,KAAA;MAAAkB,MAAA;MAAA5B,KAAA;MAAAY,+BAAA;MAAAC,6BAAA;QAAAH,KAAA;QAAAkB,MAAA;QAAA5B,KAAA;MAAA;IAAA;IAAA6B,IAAA;EAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE9C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM+C,QAAQ,GAAG;EACvBpD,IAAI;EACJqD,OAAO,EAAE;IACR1C,UAAU,EAAE;MAAEQ,UAAU,EAAErB,EAAE,CAAE,QAAS,CAAC;MAAEc,KAAK,EAAEd,EAAE,CAAE,QAAS;IAAE,CAAC;IACjEwD,aAAa,EAAE;EAChB,CAAC;EACDH,UAAU;EACVD;AACD,CAAC;AAED,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAMtD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEkD;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["__","search","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","label","type","__experimentalRole","showLabel","placeholder","width","widthUnit","buttonText","buttonPosition","buttonUseIcon","query","isSearchFieldHidden","supports","align","color","gradients","__experimentalSkipSerialization","__experimentalDefaultControls","background","text","interactivity","typography","__experimentalSelector","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","html","viewScript","editorStyle","style","edit","variations","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/search/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: { buttonText: __( 'Search' ), label: __( 'Search' ) },\n\t\tviewportWidth: 400,\n\t},\n\tvariations,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;MAAAC,kBAAA;IAAA;IAAAG,KAAA;MAAAJ,IAAA;IAAA;IAAAK,SAAA;MAAAL,IAAA;IAAA;IAAAM,UAAA;MAAAN,IAAA;MAAAC,kBAAA;IAAA;IAAAM,cAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,KAAA;MAAAT,IAAA;MAAA;IAAA;IAAAU,mBAAA;MAAAV,IAAA;MAAA;IAAA;EAAA;EAAAW,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,aAAA;IAAAC,UAAA;MAAAL,+BAAA;MAAAM,sBAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAjB,KAAA;MAAAkB,MAAA;MAAA3B,KAAA;MAAAW,+BAAA;MAAAC,6BAAA;QAAAH,KAAA;QAAAkB,MAAA;QAAA3B,KAAA;MAAA;IAAA;IAAA4B,IAAA;EAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE7C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM8C,QAAQ,GAAG;EACvBnD,IAAI;EACJoD,OAAO,EAAE;IACRzC,UAAU,EAAE;MAAEQ,UAAU,EAAErB,EAAE,CAAE,QAAS,CAAC;MAAEc,KAAK,EAAEd,EAAE,CAAE,QAAS;IAAE,CAAC;IACjEuD,aAAa,EAAE;EAChB,CAAC;EACDH,UAAU;EACVD;AACD,CAAC;AAED,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAMrD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEiD;AAAS,CAAE,CAAC"}
@@ -344,8 +344,7 @@ export default function LogoEdit({
344
344
  url,
345
345
  siteIconId,
346
346
  mediaItemData,
347
- isRequestingMediaItem,
348
- mediaUpload
347
+ isRequestingMediaItem
349
348
  } = useSelect(select => {
350
349
  const {
351
350
  canUser,
@@ -369,10 +368,12 @@ export default function LogoEdit({
369
368
  url: siteData?.home,
370
369
  mediaItemData: mediaItem,
371
370
  isRequestingMediaItem: _isRequestingMediaItem,
372
- siteIconId: _siteIconId,
373
- mediaUpload: select(blockEditorStore).getSettings().mediaUpload
371
+ siteIconId: _siteIconId
374
372
  };
375
373
  }, []);
374
+ const {
375
+ getSettings
376
+ } = useSelect(blockEditorStore);
376
377
  const {
377
378
  editEntityRecord
378
379
  } = useDispatch(coreStore);
@@ -437,8 +438,8 @@ export default function LogoEdit({
437
438
  });
438
439
  };
439
440
  const onFilesDrop = filesList => {
440
- mediaUpload({
441
- allowedTypes: ['image'],
441
+ getSettings().mediaUpload({
442
+ allowedTypes: ALLOWED_MEDIA_TYPES,
442
443
  filesList,
443
444
  onFileChange([image]) {
444
445
  if (isBlobURL(image?.url)) {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","DropZone","FlexItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","createElement","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","imageWidthWithinContainer","exceedMaxWidth","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","syncSiteIconHelpText","a","Fragment","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newWidth","min","max","initialPosition","value","disabled","checked","undefined","help","group","icon","SiteLogoReplaceFlow","onRemoveLogo","mediaReplaceProps","allowedTypes","accept","InspectorLogoPreview","mediaItemData","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","as","justify","numberOfLines","LogoEdit","ref","siteLogoId","siteIconId","isRequestingMediaItem","mediaUpload","canUser","getEditedEntityRecord","_canUserEdit","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","createErrorNotice","onUploadError","message","type","onFilesDrop","filesList","onFileChange","image","onError","mediaReplaceFlowProps","mediaURL","onSelect","controls","logoImage","isLoading","placeholder","content","placeholderClassName","preview","withIllustration","blockProps","mediaInspectorPanel","isBordered","popoverProps","render","open","variant","mediaLibraryButton","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\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\tMediaUpload,\n\tMediaUploadCheck,\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 useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\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\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\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 classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\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<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize( {\n\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t} );\n\t\t\t} }\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={ classes }\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\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\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\tclientWidth={ clientWidth }\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\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={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\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<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\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</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\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</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\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( { onRemoveLogo, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t>\n\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t</MediaReplaceFlow>\n\t);\n}\n\nconst InspectorLogoPreview = ( { mediaItemData = {}, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = mediaItemData;\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 ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t\tmediaUpload,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\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 ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\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\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t};\n\t}, [] );\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\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};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( 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} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonRemoveLogo,\n\t};\n\tconst controls = canUserEdit && logoUrl && (\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\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\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={ true }\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 = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmediaItemData={ 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) }\n\t\t\t\t\t{ canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\tmediaItemData={ mediaItemData }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpopoverProps={ {} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && ! logoUrl && (\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-upload-container\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ isLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Add media' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\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 && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\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{ ! 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\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\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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"}
1
+ {"version":3,"names":["classnames","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","DropZone","FlexItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","createElement","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","imageWidthWithinContainer","exceedMaxWidth","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","syncSiteIconHelpText","a","Fragment","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newWidth","min","max","initialPosition","value","disabled","checked","undefined","help","group","icon","SiteLogoReplaceFlow","onRemoveLogo","mediaReplaceProps","allowedTypes","accept","InspectorLogoPreview","mediaItemData","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","as","justify","numberOfLines","LogoEdit","ref","siteLogoId","siteIconId","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","createErrorNotice","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","mediaReplaceFlowProps","mediaURL","onSelect","controls","logoImage","isLoading","placeholder","content","placeholderClassName","preview","withIllustration","blockProps","mediaInspectorPanel","isBordered","popoverProps","render","open","variant","mediaLibraryButton","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\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\tMediaUpload,\n\tMediaUploadCheck,\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 useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\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\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\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 classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\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<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize( {\n\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t} );\n\t\t\t} }\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={ classes }\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\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\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\tclientWidth={ clientWidth }\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\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={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\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<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\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</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\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</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\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( { onRemoveLogo, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t>\n\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t</MediaReplaceFlow>\n\t);\n}\n\nconst InspectorLogoPreview = ( { mediaItemData = {}, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = mediaItemData;\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 ref = useRef();\n\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', 'settings' );\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 ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\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\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\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};\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\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonRemoveLogo,\n\t};\n\tconst controls = canUserEdit && logoUrl && (\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\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\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={ true }\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 = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmediaItemData={ 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) }\n\t\t\t\t\t{ canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\tmediaItemData={ mediaItemData }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpopoverProps={ {} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && ! logoUrl && (\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-upload-container\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ isLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Add media' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\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 && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\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{ ! 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\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\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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"}
@@ -7,9 +7,9 @@ import { View, useWindowDimensions } from 'react-native';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useConvertUnitToMobile } from '@wordpress/components';
10
+ import { useConvertUnitToMobile, getPxFromCssUnit } from '@wordpress/components';
11
11
  import { withPreferredColorScheme } from '@wordpress/compose';
12
- import { InspectorControls, isValueSpacingPreset, useSettings, getCustomValueFromPreset, getPxFromCssUnit } from '@wordpress/block-editor';
12
+ import { InspectorControls, isValueSpacingPreset, useSettings, getCustomValueFromPreset } from '@wordpress/block-editor';
13
13
  import { useEffect } from '@wordpress/element';
14
14
 
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["View","useWindowDimensions","useConvertUnitToMobile","withPreferredColorScheme","InspectorControls","isValueSpacingPreset","useSettings","getCustomValueFromPreset","getPxFromCssUnit","useEffect","Controls","DEFAULT_VALUES","styles","DEFAULT_FONT_SIZE","Spacer","attributes","context","setAttributes","isSelected","getStylesFromColorScheme","height","screenHeight","width","screenWidth","cssUnitOptions","fontSize","spacingSizes","name","slug","size","settingsSizes","push","orientation","defaultStyle","staticSpacer","staticDarkSpacer","convertedHeight","convertedWidth","presetValues","heightValue","parsedPresetHeightValue","parseFloat","px","presetHeight","widthValue","parsedPresetWidthValue","presetWidth","createElement","style","selectedSpacer"],"sources":["@wordpress/block-library/src/spacer/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useConvertUnitToMobile } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tisValueSpacingPreset,\n\tuseSettings,\n\tgetCustomValueFromPreset,\n\tgetPxFromCssUnit,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Controls, { DEFAULT_VALUES } from './controls';\nimport styles from './editor.native.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nconst Spacer = ( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n\tisSelected,\n\tgetStylesFromColorScheme,\n} ) => {\n\tconst { height: screenHeight, width: screenWidth } = useWindowDimensions();\n\tconst cssUnitOptions = {\n\t\theight: screenHeight,\n\t\twidth: screenWidth,\n\t\tfontSize: DEFAULT_FONT_SIZE,\n\t};\n\tconst { height, width } = attributes;\n\tconst spacingSizes = [ { name: 0, slug: '0', size: 0 } ];\n\tconst [ settingsSizes ] = useSettings( 'spacing.spacingSizes' );\n\tif ( settingsSizes ) {\n\t\tspacingSizes.push( ...settingsSizes );\n\t}\n\tconst { orientation } = context;\n\tconst defaultStyle = getStylesFromColorScheme(\n\t\tstyles.staticSpacer,\n\t\tstyles.staticDarkSpacer\n\t);\n\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && ! width ) {\n\t\t\tsetAttributes( {\n\t\t\t\theight: '0px',\n\t\t\t\twidth: '72px',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tlet convertedHeight = useConvertUnitToMobile( height );\n\tlet convertedWidth = useConvertUnitToMobile( width );\n\tconst presetValues = {};\n\n\tif ( isValueSpacingPreset( height ) ) {\n\t\tconst heightValue = getCustomValueFromPreset( height, spacingSizes );\n\t\tconst parsedPresetHeightValue = parseFloat(\n\t\t\tgetPxFromCssUnit( heightValue, cssUnitOptions )\n\t\t);\n\n\t\tconvertedHeight = parsedPresetHeightValue || DEFAULT_VALUES.px;\n\t\tpresetValues.presetHeight = convertedHeight;\n\t}\n\n\tif ( isValueSpacingPreset( width ) ) {\n\t\tconst widthValue = getCustomValueFromPreset( width, spacingSizes );\n\t\tconst parsedPresetWidthValue = parseFloat(\n\t\t\tgetPxFromCssUnit( widthValue, cssUnitOptions )\n\t\t);\n\n\t\tconvertedWidth = parsedPresetWidthValue || DEFAULT_VALUES.px;\n\t\tpresetValues.presetWidth = convertedWidth;\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tdefaultStyle,\n\t\t\t\tisSelected && styles.selectedSpacer,\n\t\t\t\t{ height: convertedHeight, width: convertedWidth },\n\t\t\t] }\n\t\t>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t{ ...presetValues }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default withPreferredColorScheme( Spacer );\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","useWindowDimensions","useConvertUnitToMobile","getPxFromCssUnit","withPreferredColorScheme","InspectorControls","isValueSpacingPreset","useSettings","getCustomValueFromPreset","useEffect","Controls","DEFAULT_VALUES","styles","DEFAULT_FONT_SIZE","Spacer","attributes","context","setAttributes","isSelected","getStylesFromColorScheme","height","screenHeight","width","screenWidth","cssUnitOptions","fontSize","spacingSizes","name","slug","size","settingsSizes","push","orientation","defaultStyle","staticSpacer","staticDarkSpacer","convertedHeight","convertedWidth","presetValues","heightValue","parsedPresetHeightValue","parseFloat","px","presetHeight","widthValue","parsedPresetWidthValue","presetWidth","createElement","style","selectedSpacer"],"sources":["@wordpress/block-library/src/spacer/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseConvertUnitToMobile,\n\tgetPxFromCssUnit,\n} from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tisValueSpacingPreset,\n\tuseSettings,\n\tgetCustomValueFromPreset,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Controls, { DEFAULT_VALUES } from './controls';\nimport styles from './editor.native.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nconst Spacer = ( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n\tisSelected,\n\tgetStylesFromColorScheme,\n} ) => {\n\tconst { height: screenHeight, width: screenWidth } = useWindowDimensions();\n\tconst cssUnitOptions = {\n\t\theight: screenHeight,\n\t\twidth: screenWidth,\n\t\tfontSize: DEFAULT_FONT_SIZE,\n\t};\n\tconst { height, width } = attributes;\n\tconst spacingSizes = [ { name: 0, slug: '0', size: 0 } ];\n\tconst [ settingsSizes ] = useSettings( 'spacing.spacingSizes' );\n\tif ( settingsSizes ) {\n\t\tspacingSizes.push( ...settingsSizes );\n\t}\n\tconst { orientation } = context;\n\tconst defaultStyle = getStylesFromColorScheme(\n\t\tstyles.staticSpacer,\n\t\tstyles.staticDarkSpacer\n\t);\n\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && ! width ) {\n\t\t\tsetAttributes( {\n\t\t\t\theight: '0px',\n\t\t\t\twidth: '72px',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tlet convertedHeight = useConvertUnitToMobile( height );\n\tlet convertedWidth = useConvertUnitToMobile( width );\n\tconst presetValues = {};\n\n\tif ( isValueSpacingPreset( height ) ) {\n\t\tconst heightValue = getCustomValueFromPreset( height, spacingSizes );\n\t\tconst parsedPresetHeightValue = parseFloat(\n\t\t\tgetPxFromCssUnit( heightValue, cssUnitOptions )\n\t\t);\n\n\t\tconvertedHeight = parsedPresetHeightValue || DEFAULT_VALUES.px;\n\t\tpresetValues.presetHeight = convertedHeight;\n\t}\n\n\tif ( isValueSpacingPreset( width ) ) {\n\t\tconst widthValue = getCustomValueFromPreset( width, spacingSizes );\n\t\tconst parsedPresetWidthValue = parseFloat(\n\t\t\tgetPxFromCssUnit( widthValue, cssUnitOptions )\n\t\t);\n\n\t\tconvertedWidth = parsedPresetWidthValue || DEFAULT_VALUES.px;\n\t\tpresetValues.presetWidth = convertedWidth;\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tdefaultStyle,\n\t\t\t\tisSelected && styles.selectedSpacer,\n\t\t\t\t{ height: convertedHeight, width: convertedWidth },\n\t\t\t] }\n\t\t>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t{ ...presetValues }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default withPreferredColorScheme( Spacer );\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { Flex, FlexItem, PanelBody, ToggleControl, SelectControl, RangeControl, __experimentalUnitControl as UnitControl, __experimentalUseCustomUnits as useCustomUnits, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue, Disabled } from '@wordpress/components';
6
- import { withSelect } from '@wordpress/data';
6
+ import { useSelect } from '@wordpress/data';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { InspectorControls, useBlockProps, useSettings } from '@wordpress/block-editor';
9
9
  import ServerSideRender from '@wordpress/server-side-render';
@@ -26,8 +26,7 @@ const MIN_FONT_SIZE = 0.1;
26
26
  const MAX_FONT_SIZE = 100;
27
27
  function TagCloudEdit({
28
28
  attributes,
29
- setAttributes,
30
- taxonomies
29
+ setAttributes
31
30
  }) {
32
31
  const {
33
32
  taxonomy,
@@ -40,6 +39,9 @@ function TagCloudEdit({
40
39
  const units = useCustomUnits({
41
40
  availableUnits: availableUnits || ['%', 'px', 'em', 'rem']
42
41
  });
42
+ const taxonomies = useSelect(select => select(coreStore).getTaxonomies({
43
+ per_page: -1
44
+ }), []);
43
45
  const getTaxonomyOptions = () => {
44
46
  const selectOption = {
45
47
  label: __('- Select -'),
@@ -136,11 +138,5 @@ function TagCloudEdit({
136
138
  attributes: attributes
137
139
  }))));
138
140
  }
139
- export default withSelect(select => {
140
- return {
141
- taxonomies: select(coreStore).getTaxonomies({
142
- per_page: -1
143
- })
144
- };
145
- })(TagCloudEdit);
141
+ export default TagCloudEdit;
146
142
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Flex","FlexItem","PanelBody","ToggleControl","SelectControl","RangeControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","Disabled","withSelect","__","InspectorControls","useBlockProps","useSettings","ServerSideRender","store","coreStore","MIN_TAGS","MAX_TAGS","MIN_FONT_SIZE","MAX_FONT_SIZE","TagCloudEdit","attributes","setAttributes","taxonomies","taxonomy","showTagCounts","numberOfTags","smallestFontSize","largestFontSize","availableUnits","units","getTaxonomyOptions","selectOption","label","value","disabled","taxonomyOptions","filter","tax","show_cloud","map","item","slug","name","onFontSizeChange","fontSizeLabel","newValue","quantity","newUnit","Number","isFinite","updateObj","Object","entries","forEach","attribute","currentValue","currentQuantity","currentUnit","inspectorControls","createElement","title","__nextHasNoMarginBottom","options","onChange","selectedTaxonomy","checked","__next40pxDefaultSize","min","max","required","isBlock","Fragment","skipBlockSupportAttributes","block","select","getTaxonomies","per_page"],"sources":["@wordpress/block-library/src/tag-cloud/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFlex,\n\tFlexItem,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\tDisabled,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Minimum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_TAGS = 1;\n\n/**\n * Maximum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_TAGS = 100;\n\nconst MIN_FONT_SIZE = 0.1;\nconst MAX_FONT_SIZE = 100;\n\nfunction TagCloudEdit( { attributes, setAttributes, taxonomies } ) {\n\tconst {\n\t\ttaxonomy,\n\t\tshowTagCounts,\n\t\tnumberOfTags,\n\t\tsmallestFontSize,\n\t\tlargestFontSize,\n\t} = attributes;\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem' ],\n\t} );\n\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( '- Select -' ),\n\t\t\tvalue: '',\n\t\t\tdisabled: true,\n\t\t};\n\t\tconst taxonomyOptions = ( taxonomies ?? [] )\n\t\t\t.filter( ( tax ) => !! tax.show_cloud )\n\t\t\t.map( ( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\tconst onFontSizeChange = ( fontSizeLabel, newValue ) => {\n\t\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\t\tconst [ quantity, newUnit ] =\n\t\t\tparseQuantityAndUnitFromRawValue( newValue );\n\t\tif ( ! Number.isFinite( quantity ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updateObj = { [ fontSizeLabel ]: newValue };\n\t\t// We need to keep in sync the `unit` changes to both `smallestFontSize`\n\t\t// and `largestFontSize` attributes.\n\t\tObject.entries( {\n\t\t\tsmallestFontSize,\n\t\t\tlargestFontSize,\n\t\t} ).forEach( ( [ attribute, currentValue ] ) => {\n\t\t\tconst [ currentQuantity, currentUnit ] =\n\t\t\t\tparseQuantityAndUnitFromRawValue( currentValue );\n\t\t\t// Only add an update if the other font size attribute has a different unit.\n\t\t\tif ( attribute !== fontSizeLabel && currentUnit !== newUnit ) {\n\t\t\t\tupdateObj[ attribute ] = `${ currentQuantity }${ newUnit }`;\n\t\t\t}\n\t\t} );\n\t\tsetAttributes( updateObj );\n\t};\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\tsetAttributes( { taxonomy: selectedTaxonomy } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\tchecked={ showTagCounts }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( { showTagCounts: ! showTagCounts } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Number of tags' ) }\n\t\t\t\t\tvalue={ numberOfTags }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { numberOfTags: value } )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ MIN_TAGS }\n\t\t\t\t\tmax={ MAX_TAGS }\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Smallest size' ) }\n\t\t\t\t\t\t\tvalue={ smallestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'smallestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Largest size' ) }\n\t\t\t\t\t\t\tvalue={ largestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'largestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tskipBlockSupportAttributes\n\t\t\t\t\t\tblock=\"core/tag-cloud\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t};\n} )( TagCloudEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["Flex","FlexItem","PanelBody","ToggleControl","SelectControl","RangeControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","Disabled","useSelect","__","InspectorControls","useBlockProps","useSettings","ServerSideRender","store","coreStore","MIN_TAGS","MAX_TAGS","MIN_FONT_SIZE","MAX_FONT_SIZE","TagCloudEdit","attributes","setAttributes","taxonomy","showTagCounts","numberOfTags","smallestFontSize","largestFontSize","availableUnits","units","taxonomies","select","getTaxonomies","per_page","getTaxonomyOptions","selectOption","label","value","disabled","taxonomyOptions","filter","tax","show_cloud","map","item","slug","name","onFontSizeChange","fontSizeLabel","newValue","quantity","newUnit","Number","isFinite","updateObj","Object","entries","forEach","attribute","currentValue","currentQuantity","currentUnit","inspectorControls","createElement","title","__nextHasNoMarginBottom","options","onChange","selectedTaxonomy","checked","__next40pxDefaultSize","min","max","required","isBlock","Fragment","skipBlockSupportAttributes","block"],"sources":["@wordpress/block-library/src/tag-cloud/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFlex,\n\tFlexItem,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\tDisabled,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Minimum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_TAGS = 1;\n\n/**\n * Maximum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_TAGS = 100;\n\nconst MIN_FONT_SIZE = 0.1;\nconst MAX_FONT_SIZE = 100;\n\nfunction TagCloudEdit( { attributes, setAttributes } ) {\n\tconst {\n\t\ttaxonomy,\n\t\tshowTagCounts,\n\t\tnumberOfTags,\n\t\tsmallestFontSize,\n\t\tlargestFontSize,\n\t} = attributes;\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem' ],\n\t} );\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( '- Select -' ),\n\t\t\tvalue: '',\n\t\t\tdisabled: true,\n\t\t};\n\t\tconst taxonomyOptions = ( taxonomies ?? [] )\n\t\t\t.filter( ( tax ) => !! tax.show_cloud )\n\t\t\t.map( ( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\tconst onFontSizeChange = ( fontSizeLabel, newValue ) => {\n\t\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\t\tconst [ quantity, newUnit ] =\n\t\t\tparseQuantityAndUnitFromRawValue( newValue );\n\t\tif ( ! Number.isFinite( quantity ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updateObj = { [ fontSizeLabel ]: newValue };\n\t\t// We need to keep in sync the `unit` changes to both `smallestFontSize`\n\t\t// and `largestFontSize` attributes.\n\t\tObject.entries( {\n\t\t\tsmallestFontSize,\n\t\t\tlargestFontSize,\n\t\t} ).forEach( ( [ attribute, currentValue ] ) => {\n\t\t\tconst [ currentQuantity, currentUnit ] =\n\t\t\t\tparseQuantityAndUnitFromRawValue( currentValue );\n\t\t\t// Only add an update if the other font size attribute has a different unit.\n\t\t\tif ( attribute !== fontSizeLabel && currentUnit !== newUnit ) {\n\t\t\t\tupdateObj[ attribute ] = `${ currentQuantity }${ newUnit }`;\n\t\t\t}\n\t\t} );\n\t\tsetAttributes( updateObj );\n\t};\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\tsetAttributes( { taxonomy: selectedTaxonomy } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\tchecked={ showTagCounts }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( { showTagCounts: ! showTagCounts } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Number of tags' ) }\n\t\t\t\t\tvalue={ numberOfTags }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { numberOfTags: value } )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ MIN_TAGS }\n\t\t\t\t\tmax={ MAX_TAGS }\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Smallest size' ) }\n\t\t\t\t\t\t\tvalue={ smallestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'smallestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Largest size' ) }\n\t\t\t\t\t\t\tvalue={ largestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'largestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tskipBlockSupportAttributes\n\t\t\t\t\t\tblock=\"core/tag-cloud\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default TagCloudEdit;\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ // The following dropdown menu props aim to provide a consistent offset and
2
+ // placement for ToolsPanel menus for block controls to match color popovers.
3
+ export const TOOLSPANEL_DROPDOWNMENU_PROPS = {
4
+ popoverProps: {
5
+ placement: 'left-start',
6
+ offset: 259 // Inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)
7
+ }
8
+ };
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TOOLSPANEL_DROPDOWNMENU_PROPS","popoverProps","placement","offset"],"sources":["@wordpress/block-library/src/utils/constants.js"],"sourcesContent":["// The following dropdown menu props aim to provide a consistent offset and\n// placement for ToolsPanel menus for block controls to match color popovers.\nexport const TOOLSPANEL_DROPDOWNMENU_PROPS = {\n\tpopoverProps: {\n\t\tplacement: 'left-start',\n\t\toffset: 259, // Inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t},\n};\n"],"mappings":"AAAA;AACA;AACA,OAAO,MAAMA,6BAA6B,GAAG;EAC5CC,YAAY,EAAE;IACbC,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,GAAG,CAAE;EACd;AACD,CAAC"}