@wordpress/block-library 9.10.0 → 9.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +10 -5
  3. package/build/archives/index.js +6 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/avatar/hooks.js +2 -3
  6. package/build/avatar/hooks.js.map +1 -1
  7. package/build/button/get-updated-link-attributes.js +1 -1
  8. package/build/button/get-updated-link-attributes.js.map +1 -1
  9. package/build/comments/index.js +12 -0
  10. package/build/comments/index.js.map +1 -1
  11. package/build/cover/constants.js +8 -0
  12. package/build/cover/constants.js.map +1 -0
  13. package/build/cover/edit/index.js +24 -3
  14. package/build/cover/edit/index.js.map +1 -1
  15. package/build/cover/edit/inspector-controls.js +40 -2
  16. package/build/cover/edit/inspector-controls.js.map +1 -1
  17. package/build/cover/index.js +3 -0
  18. package/build/cover/index.js.map +1 -1
  19. package/build/cover/save.js +3 -1
  20. package/build/cover/save.js.map +1 -1
  21. package/build/file/edit.js +1 -2
  22. package/build/file/edit.js.map +1 -1
  23. package/build/gallery/constants.js +2 -1
  24. package/build/gallery/constants.js.map +1 -1
  25. package/build/gallery/edit.js +11 -2
  26. package/build/gallery/edit.js.map +1 -1
  27. package/build/gallery/utils.js +26 -5
  28. package/build/gallery/utils.js.map +1 -1
  29. package/build/html/edit.js +5 -1
  30. package/build/html/edit.js.map +1 -1
  31. package/build/html/preview.js +2 -2
  32. package/build/html/preview.js.map +1 -1
  33. package/build/latest-posts/edit.js +3 -8
  34. package/build/latest-posts/edit.js.map +1 -1
  35. package/build/navigation/edit/index.js +23 -2
  36. package/build/navigation/edit/index.js.map +1 -1
  37. package/build/navigation/edit/menu-inspector-controls.js +1 -1
  38. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  39. package/build/navigation/edit/navigation-menu-selector.js +2 -2
  40. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  41. package/build/paragraph/edit.js +1 -1
  42. package/build/paragraph/edit.js.map +1 -1
  43. package/build/post-featured-image/edit.js +1 -1
  44. package/build/post-featured-image/edit.js.map +1 -1
  45. package/build/post-time-to-read/edit.js +2 -2
  46. package/build/post-time-to-read/edit.js.map +1 -1
  47. package/build/query/edit/inspector-controls/order-control.js +2 -2
  48. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  49. package/build/query-title/edit.js +1 -1
  50. package/build/query-title/edit.js.map +1 -1
  51. package/build/search/edit.js +19 -14
  52. package/build/search/edit.js.map +1 -1
  53. package/build/separator/transforms.js +12 -0
  54. package/build/separator/transforms.js.map +1 -1
  55. package/build/social-links/edit.js +0 -1
  56. package/build/social-links/edit.js.map +1 -1
  57. package/build/spacer/index.js +2 -0
  58. package/build/spacer/index.js.map +1 -1
  59. package/build/spacer/transforms.js +27 -0
  60. package/build/spacer/transforms.js.map +1 -0
  61. package/build/table/edit.js +0 -1
  62. package/build/table/edit.js.map +1 -1
  63. package/build/table-of-contents/edit.js +2 -7
  64. package/build/table-of-contents/edit.js.map +1 -1
  65. package/build/template-part/edit/index.js +1 -1
  66. package/build/template-part/edit/index.js.map +1 -1
  67. package/build/video/tracks-editor.js +1 -1
  68. package/build/video/tracks-editor.js.map +1 -1
  69. package/build-module/archives/index.js +6 -0
  70. package/build-module/archives/index.js.map +1 -1
  71. package/build-module/avatar/hooks.js +2 -3
  72. package/build-module/avatar/hooks.js.map +1 -1
  73. package/build-module/button/get-updated-link-attributes.js +1 -1
  74. package/build-module/button/get-updated-link-attributes.js.map +1 -1
  75. package/build-module/comments/index.js +12 -0
  76. package/build-module/comments/index.js.map +1 -1
  77. package/build-module/cover/constants.js +2 -0
  78. package/build-module/cover/constants.js.map +1 -0
  79. package/build-module/cover/edit/index.js +24 -3
  80. package/build-module/cover/edit/index.js.map +1 -1
  81. package/build-module/cover/edit/inspector-controls.js +41 -3
  82. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  83. package/build-module/cover/index.js +3 -0
  84. package/build-module/cover/index.js.map +1 -1
  85. package/build-module/cover/save.js +3 -1
  86. package/build-module/cover/save.js.map +1 -1
  87. package/build-module/file/edit.js +1 -2
  88. package/build-module/file/edit.js.map +1 -1
  89. package/build-module/gallery/constants.js +1 -0
  90. package/build-module/gallery/constants.js.map +1 -1
  91. package/build-module/gallery/edit.js +14 -5
  92. package/build-module/gallery/edit.js.map +1 -1
  93. package/build-module/gallery/utils.js +27 -6
  94. package/build-module/gallery/utils.js.map +1 -1
  95. package/build-module/html/edit.js +6 -2
  96. package/build-module/html/edit.js.map +1 -1
  97. package/build-module/html/preview.js +2 -2
  98. package/build-module/html/preview.js.map +1 -1
  99. package/build-module/latest-posts/edit.js +3 -8
  100. package/build-module/latest-posts/edit.js.map +1 -1
  101. package/build-module/navigation/edit/index.js +23 -2
  102. package/build-module/navigation/edit/index.js.map +1 -1
  103. package/build-module/navigation/edit/menu-inspector-controls.js +1 -3
  104. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  105. package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
  106. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  107. package/build-module/paragraph/edit.js +1 -1
  108. package/build-module/paragraph/edit.js.map +1 -1
  109. package/build-module/post-featured-image/edit.js +1 -1
  110. package/build-module/post-featured-image/edit.js.map +1 -1
  111. package/build-module/post-time-to-read/edit.js +2 -2
  112. package/build-module/post-time-to-read/edit.js.map +1 -1
  113. package/build-module/query/edit/inspector-controls/order-control.js +2 -2
  114. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  115. package/build-module/query-title/edit.js +2 -2
  116. package/build-module/query-title/edit.js.map +1 -1
  117. package/build-module/search/edit.js +20 -15
  118. package/build-module/search/edit.js.map +1 -1
  119. package/build-module/separator/transforms.js +12 -0
  120. package/build-module/separator/transforms.js.map +1 -1
  121. package/build-module/social-links/edit.js +0 -1
  122. package/build-module/social-links/edit.js.map +1 -1
  123. package/build-module/spacer/index.js +2 -0
  124. package/build-module/spacer/index.js.map +1 -1
  125. package/build-module/spacer/transforms.js +20 -0
  126. package/build-module/spacer/transforms.js.map +1 -0
  127. package/build-module/table/edit.js +0 -1
  128. package/build-module/table/edit.js.map +1 -1
  129. package/build-module/table-of-contents/edit.js +2 -7
  130. package/build-module/table-of-contents/edit.js.map +1 -1
  131. package/build-module/template-part/edit/index.js +1 -1
  132. package/build-module/template-part/edit/index.js.map +1 -1
  133. package/build-module/video/tracks-editor.js +2 -2
  134. package/build-module/video/tracks-editor.js.map +1 -1
  135. package/build-style/archives/editor-rtl.css +5 -0
  136. package/build-style/archives/editor.css +5 -0
  137. package/build-style/button/style-rtl.css +3 -0
  138. package/build-style/button/style.css +3 -0
  139. package/build-style/comments/editor-rtl.css +4 -0
  140. package/build-style/comments/editor.css +4 -0
  141. package/build-style/comments/style-rtl.css +4 -0
  142. package/build-style/comments/style.css +4 -0
  143. package/build-style/cover/style-rtl.css +5 -0
  144. package/build-style/cover/style.css +5 -0
  145. package/build-style/editor-rtl.css +20 -0
  146. package/build-style/editor.css +20 -0
  147. package/build-style/group/editor-rtl.css +10 -0
  148. package/build-style/group/editor.css +10 -0
  149. package/build-style/image/style-rtl.css +2 -0
  150. package/build-style/image/style.css +2 -0
  151. package/build-style/navigation/editor-rtl.css +1 -0
  152. package/build-style/navigation/editor.css +1 -0
  153. package/build-style/style-rtl.css +14 -0
  154. package/build-style/style.css +14 -0
  155. package/package.json +36 -35
  156. package/src/archives/block.json +6 -0
  157. package/src/archives/editor.scss +8 -0
  158. package/src/avatar/hooks.js +2 -3
  159. package/src/avatar/index.php +4 -5
  160. package/src/button/get-updated-link-attributes.js +1 -1
  161. package/src/button/style.scss +3 -0
  162. package/src/button/test/get-updated-link-attributes.js +15 -0
  163. package/src/comment-author-avatar/index.php +1 -1
  164. package/src/comments/block.json +21 -3
  165. package/src/comments/style.scss +4 -1
  166. package/src/cover/block.json +3 -0
  167. package/src/cover/constants.js +1 -0
  168. package/src/cover/edit/index.js +20 -2
  169. package/src/cover/edit/inspector-controls.js +46 -1
  170. package/src/cover/save.js +2 -0
  171. package/src/cover/style.scss +6 -0
  172. package/src/cover/test/edit.js +1 -3
  173. package/src/file/edit.js +1 -2
  174. package/src/gallery/constants.js +1 -0
  175. package/src/gallery/edit.js +25 -2
  176. package/src/gallery/utils.js +23 -2
  177. package/src/group/editor.scss +12 -0
  178. package/src/html/edit.js +7 -1
  179. package/src/html/preview.js +3 -2
  180. package/src/image/style.scss +1 -0
  181. package/src/latest-posts/edit.js +3 -7
  182. package/src/latest-posts/index.php +1 -1
  183. package/src/navigation/edit/index.js +30 -3
  184. package/src/navigation/edit/menu-inspector-controls.js +2 -2
  185. package/src/navigation/edit/navigation-menu-selector.js +2 -2
  186. package/src/navigation/editor.scss +1 -0
  187. package/src/paragraph/edit.js +1 -1
  188. package/src/post-featured-image/edit.js +1 -1
  189. package/src/post-time-to-read/edit.js +2 -2
  190. package/src/post-time-to-read/index.php +1 -1
  191. package/src/query/edit/inspector-controls/order-control.js +2 -2
  192. package/src/query-title/edit.js +2 -2
  193. package/src/rss/index.php +1 -1
  194. package/src/search/edit.js +28 -25
  195. package/src/separator/test/__snapshots__/transforms.native.js.snap +6 -0
  196. package/src/separator/test/transforms.native.js +1 -1
  197. package/src/separator/transforms.js +11 -0
  198. package/src/social-links/edit.js +0 -1
  199. package/src/spacer/index.js +2 -0
  200. package/src/spacer/test/__snapshots__/transforms.native.js.snap +6 -0
  201. package/src/spacer/test/transforms.native.js +1 -1
  202. package/src/spacer/transforms.js +20 -0
  203. package/src/table/edit.js +0 -1
  204. package/src/table-of-contents/edit.js +2 -6
  205. package/src/template-part/edit/index.js +1 -1
  206. package/src/video/tracks-editor.js +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_blockEditor","_element","_i18n","_data","_primitives","_blocks","_blob","_notices","_icons","_sharedIcon","_shared","_utils","_utils2","_gallery","_constants","_useImageSizes","_useGetNewImages","_useGetMedia","_gapStyles","_jsxRuntime","MAX_COLUMNS","linkOptions","icon","customLink","label","__","value","LINK_DESTINATION_ATTACHMENT","noticeText","imageIcon","LINK_DESTINATION_MEDIA","linkOff","_x","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","useSelect","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","useMemo","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","useGetMedia","newImages","useGetNewImages","useEffect","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","useImageSizes","imageAttributes","image","find","newClassName","newLinkTarget","rel","getUpdatedLinkTargetSettings","pickRelevantMediaFiles","getHrefAndDestination","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","createBlobURL","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","createBlock","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","sprintf","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","getImageSizeAttributes","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","jsx","MediaPlaceholder","handleUpload","sharedIcon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","useBlockProps","clsx","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","jsxs","View","children","hasLinkTo","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","defaultColumnsNumber","onChange","min","max","Math","required","__next40pxDefaultSize","SelectControl","help","options","hideCancelButton","ToggleControl","checked","isWeb","BaseControl","VisualLabel","Spinner","BlockControls","group","ToolbarDropdownMenu","linkIcon","onClose","MenuGroup","linkItem","isOptionSelected","MenuItem","iconPosition","onClick","role","MediaReplaceFlow","mediaIds","default","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tMenuGroup,\n\tMenuItem,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isNative ? (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\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={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl\n\t\t\t\t\t\t\tclassName=\"gallery-image-sizes\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className=\"gallery-image-sizes__loading\">\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb ? (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_blockEditor","_element","_i18n","_data","_primitives","_blocks","_blob","_notices","_icons","_sharedIcon","_shared","_utils","_utils2","_gallery","_constants","_useImageSizes","_useGetNewImages","_useGetMedia","_gapStyles","_jsxRuntime","MAX_COLUMNS","LINK_OPTIONS","icon","customLink","label","__","value","LINK_DESTINATION_ATTACHMENT","noticeText","imageIcon","LINK_DESTINATION_MEDIA","fullscreen","LINK_DESTINATION_LIGHTBOX","infoText","linkOff","_x","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","useSettings","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","useSelect","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","useMemo","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","useGetMedia","newImages","useGetNewImages","useEffect","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","useImageSizes","imageAttributes","image","find","newClassName","newLinkTarget","rel","getUpdatedLinkTargetSettings","pickRelevantMediaFiles","getHrefAndDestination","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","createBlobURL","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","createBlock","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","sprintf","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","getImageSizeAttributes","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","jsx","MediaPlaceholder","handleUpload","sharedIcon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","useBlockProps","clsx","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","jsxs","View","children","hasLinkTo","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","defaultColumnsNumber","onChange","min","max","Math","required","__next40pxDefaultSize","SelectControl","help","options","hideCancelButton","ToggleControl","checked","isWeb","BaseControl","VisualLabel","Spinner","BlockControls","group","ToolbarDropdownMenu","linkIcon","onClose","MenuGroup","linkItem","isOptionSelected","MenuItem","iconPosition","onClick","role","info","MediaReplaceFlow","mediaIds","default","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tMenuGroup,\n\tMenuItem,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Expand on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isNative ? (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\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={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl\n\t\t\t\t\t\t\tclassName=\"gallery-image-sizes\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className=\"gallery-image-sizes__loading\">\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb ? (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,10 +16,13 @@ var _constants2 = require("../image/constants");
16
16
  *
17
17
  * @param {Object} image Gallery image.
18
18
  * @param {string} galleryDestination Gallery's selected link destination.
19
- * @param {Object} imageDestination Image blocks attributes.
19
+ * @param {Object} imageDestination Image block link destination attribute.
20
+ * @param {Object} attributes Block attributes.
21
+ * @param {Object} lightboxSetting Lightbox setting.
22
+ *
20
23
  * @return {Object} New attributes to assign to image block.
21
24
  */
22
- function getHrefAndDestination(image, galleryDestination, imageDestination) {
25
+ function getHrefAndDestination(image, galleryDestination, imageDestination, attributes, lightboxSetting) {
23
26
  // Gutenberg and WordPress use different constants so if image_default_link_type
24
27
  // option is set we need to map from the WP Core values.
25
28
  switch (imageDestination ? imageDestination : galleryDestination) {
@@ -28,19 +31,37 @@ function getHrefAndDestination(image, galleryDestination, imageDestination) {
28
31
  return {
29
32
  href: image?.source_url || image?.url,
30
33
  // eslint-disable-line camelcase
31
- linkDestination: _constants2.LINK_DESTINATION_MEDIA
34
+ linkDestination: _constants2.LINK_DESTINATION_MEDIA,
35
+ lightbox: lightboxSetting?.enabled ? {
36
+ ...attributes?.lightbox,
37
+ enabled: false
38
+ } : undefined
32
39
  };
33
40
  case _constants.LINK_DESTINATION_ATTACHMENT_WP_CORE:
34
41
  case _constants.LINK_DESTINATION_ATTACHMENT:
35
42
  return {
36
43
  href: image?.link,
37
- linkDestination: _constants2.LINK_DESTINATION_ATTACHMENT
44
+ linkDestination: _constants2.LINK_DESTINATION_ATTACHMENT,
45
+ lightbox: lightboxSetting?.enabled ? {
46
+ ...attributes?.lightbox,
47
+ enabled: false
48
+ } : undefined
38
49
  };
39
- case _constants.LINK_DESTINATION_NONE:
50
+ case _constants.LINK_DESTINATION_LIGHTBOX:
40
51
  return {
41
52
  href: undefined,
53
+ lightbox: !lightboxSetting?.enabled ? {
54
+ ...attributes?.lightbox,
55
+ enabled: true
56
+ } : undefined,
42
57
  linkDestination: _constants2.LINK_DESTINATION_NONE
43
58
  };
59
+ case _constants.LINK_DESTINATION_NONE:
60
+ return {
61
+ href: undefined,
62
+ linkDestination: _constants2.LINK_DESTINATION_NONE,
63
+ lightbox: undefined
64
+ };
44
65
  }
45
66
  return {};
46
67
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_constants2","getHrefAndDestination","image","galleryDestination","imageDestination","LINK_DESTINATION_MEDIA_WP_CORE","LINK_DESTINATION_MEDIA","href","source_url","url","linkDestination","IMAGE_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT_WP_CORE","LINK_DESTINATION_ATTACHMENT","link","IMAGE_LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","undefined","IMAGE_LINK_DESTINATION_NONE"],"sources":["@wordpress/block-library/src/gallery/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA_WP_CORE,\n\tLINK_DESTINATION_ATTACHMENT_WP_CORE,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as IMAGE_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as IMAGE_LINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE as IMAGE_LINK_DESTINATION_NONE,\n} from '../image/constants';\n\n/**\n * Determines new href and linkDestination values for an Image block from the\n * supplied Gallery link destination, or falls back to the Image blocks link.\n *\n * @param {Object} image Gallery image.\n * @param {string} galleryDestination Gallery's selected link destination.\n * @param {Object} imageDestination Image blocks attributes.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination(\n\timage,\n\tgalleryDestination,\n\timageDestination\n) {\n\t// Gutenberg and WordPress use different constants so if image_default_link_type\n\t// option is set we need to map from the WP Core values.\n\tswitch ( imageDestination ? imageDestination : galleryDestination ) {\n\t\tcase LINK_DESTINATION_MEDIA_WP_CORE:\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT_WP_CORE:\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAOA,IAAAC,WAAA,GAAAD,OAAA;AAVA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CACpCC,KAAK,EACLC,kBAAkB,EAClBC,gBAAgB,EACf;EACD;EACA;EACA,QAASA,gBAAgB,GAAGA,gBAAgB,GAAGD,kBAAkB;IAChE,KAAKE,yCAA8B;IACnC,KAAKC,iCAAsB;MAC1B,OAAO;QACNC,IAAI,EAAEL,KAAK,EAAEM,UAAU,IAAIN,KAAK,EAAEO,GAAG;QAAE;QACvCC,eAAe,EAAEC;MAClB,CAAC;IACF,KAAKC,8CAAmC;IACxC,KAAKC,sCAA2B;MAC/B,OAAO;QACNN,IAAI,EAAEL,KAAK,EAAEY,IAAI;QACjBJ,eAAe,EAAEK;MAClB,CAAC;IACF,KAAKC,gCAAqB;MACzB,OAAO;QACNT,IAAI,EAAEU,SAAS;QACfP,eAAe,EAAEQ;MAClB,CAAC;EACH;EAEA,OAAO,CAAC,CAAC;AACV","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_constants2","getHrefAndDestination","image","galleryDestination","imageDestination","attributes","lightboxSetting","LINK_DESTINATION_MEDIA_WP_CORE","LINK_DESTINATION_MEDIA","href","source_url","url","linkDestination","IMAGE_LINK_DESTINATION_MEDIA","lightbox","enabled","undefined","LINK_DESTINATION_ATTACHMENT_WP_CORE","LINK_DESTINATION_ATTACHMENT","link","IMAGE_LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_LIGHTBOX","IMAGE_LINK_DESTINATION_NONE","LINK_DESTINATION_NONE"],"sources":["@wordpress/block-library/src/gallery/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA_WP_CORE,\n\tLINK_DESTINATION_ATTACHMENT_WP_CORE,\n\tLINK_DESTINATION_LIGHTBOX,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as IMAGE_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as IMAGE_LINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE as IMAGE_LINK_DESTINATION_NONE,\n} from '../image/constants';\n\n/**\n * Determines new href and linkDestination values for an Image block from the\n * supplied Gallery link destination, or falls back to the Image blocks link.\n *\n * @param {Object} image Gallery image.\n * @param {string} galleryDestination Gallery's selected link destination.\n * @param {Object} imageDestination Image block link destination attribute.\n * @param {Object} attributes Block attributes.\n * @param {Object} lightboxSetting Lightbox setting.\n *\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination(\n\timage,\n\tgalleryDestination,\n\timageDestination,\n\tattributes,\n\tlightboxSetting\n) {\n\t// Gutenberg and WordPress use different constants so if image_default_link_type\n\t// option is set we need to map from the WP Core values.\n\tswitch ( imageDestination ? imageDestination : galleryDestination ) {\n\t\tcase LINK_DESTINATION_MEDIA_WP_CORE:\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_MEDIA,\n\t\t\t\tlightbox: lightboxSetting?.enabled\n\t\t\t\t\t? { ...attributes?.lightbox, enabled: false }\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT_WP_CORE:\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_ATTACHMENT,\n\t\t\t\tlightbox: lightboxSetting?.enabled\n\t\t\t\t\t? { ...attributes?.lightbox, enabled: false }\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\tcase LINK_DESTINATION_LIGHTBOX:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlightbox: ! lightboxSetting?.enabled\n\t\t\t\t\t? { ...attributes?.lightbox, enabled: true }\n\t\t\t\t\t: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t\tlightbox: undefined,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAQA,IAAAC,WAAA,GAAAD,OAAA;AAXA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CACpCC,KAAK,EACLC,kBAAkB,EAClBC,gBAAgB,EAChBC,UAAU,EACVC,eAAe,EACd;EACD;EACA;EACA,QAASF,gBAAgB,GAAGA,gBAAgB,GAAGD,kBAAkB;IAChE,KAAKI,yCAA8B;IACnC,KAAKC,iCAAsB;MAC1B,OAAO;QACNC,IAAI,EAAEP,KAAK,EAAEQ,UAAU,IAAIR,KAAK,EAAES,GAAG;QAAE;QACvCC,eAAe,EAAEC,kCAA4B;QAC7CC,QAAQ,EAAER,eAAe,EAAES,OAAO,GAC/B;UAAE,GAAGV,UAAU,EAAES,QAAQ;UAAEC,OAAO,EAAE;QAAM,CAAC,GAC3CC;MACJ,CAAC;IACF,KAAKC,8CAAmC;IACxC,KAAKC,sCAA2B;MAC/B,OAAO;QACNT,IAAI,EAAEP,KAAK,EAAEiB,IAAI;QACjBP,eAAe,EAAEQ,uCAAiC;QAClDN,QAAQ,EAAER,eAAe,EAAES,OAAO,GAC/B;UAAE,GAAGV,UAAU,EAAES,QAAQ;UAAEC,OAAO,EAAE;QAAM,CAAC,GAC3CC;MACJ,CAAC;IACF,KAAKK,oCAAyB;MAC7B,OAAO;QACNZ,IAAI,EAAEO,SAAS;QACfF,QAAQ,EAAE,CAAER,eAAe,EAAES,OAAO,GACjC;UAAE,GAAGV,UAAU,EAAES,QAAQ;UAAEC,OAAO,EAAE;QAAK,CAAC,GAC1CC,SAAS;QACZJ,eAAe,EAAEU;MAClB,CAAC;IACF,KAAKC,gCAAqB;MACzB,OAAO;QACNd,IAAI,EAAEO,SAAS;QACfJ,eAAe,EAAEU,iCAA2B;QAC5CR,QAAQ,EAAEE;MACX,CAAC;EACH;EAEA,OAAO,CAAC,CAAC;AACV","ignoreList":[]}
@@ -9,6 +9,7 @@ var _i18n = require("@wordpress/i18n");
9
9
  var _element = require("@wordpress/element");
10
10
  var _blockEditor = require("@wordpress/block-editor");
11
11
  var _components = require("@wordpress/components");
12
+ var _data = require("@wordpress/data");
12
13
  var _compose = require("@wordpress/compose");
13
14
  var _preview = _interopRequireDefault(require("./preview"));
14
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -28,6 +29,9 @@ function HTMLEdit({
28
29
  const [isPreview, setIsPreview] = (0, _element.useState)();
29
30
  const isDisabled = (0, _element.useContext)(_components.Disabled.Context);
30
31
  const instanceId = (0, _compose.useInstanceId)(HTMLEdit, 'html-edit-desc');
32
+ const isPreviewMode = (0, _data.useSelect)(select => {
33
+ return select(_blockEditor.store).getSettings().isPreviewMode;
34
+ }, []);
31
35
  function switchToPreview() {
32
36
  setIsPreview(true);
33
37
  }
@@ -52,7 +56,7 @@ function HTMLEdit({
52
56
  children: (0, _i18n.__)('Preview')
53
57
  })]
54
58
  })
55
- }), isPreview || isDisabled ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
59
+ }), isPreview || isPreviewMode || isDisabled ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
56
60
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_preview.default, {
57
61
  content: attributes.content,
58
62
  isSelected: isSelected
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_blockEditor","_components","_compose","_preview","_interopRequireDefault","_jsxRuntime","HTMLEdit","attributes","setAttributes","isSelected","isPreview","setIsPreview","useState","isDisabled","useContext","Disabled","Context","instanceId","useInstanceId","switchToPreview","switchToHTML","blockProps","useBlockProps","className","undefined","jsxs","children","jsx","BlockControls","ToolbarGroup","ToolbarButton","isPressed","onClick","__","Fragment","default","content","VisuallyHidden","id","PlainText","value","onChange","placeholder"],"sources":["@wordpress/block-library/src/html/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useState } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tPlainText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tDisabled,\n\tToolbarGroup,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Preview from './preview';\n\nexport default function HTMLEdit( { attributes, setAttributes, isSelected } ) {\n\tconst [ isPreview, setIsPreview ] = useState();\n\tconst isDisabled = useContext( Disabled.Context );\n\n\tconst instanceId = useInstanceId( HTMLEdit, 'html-edit-desc' );\n\n\tfunction switchToPreview() {\n\t\tsetIsPreview( true );\n\t}\n\n\tfunction switchToHTML() {\n\t\tsetIsPreview( false );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'block-library-html__edit',\n\t\t'aria-describedby': isPreview ? instanceId : undefined,\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tisPressed={ ! isPreview }\n\t\t\t\t\t\tonClick={ switchToHTML }\n\t\t\t\t\t>\n\t\t\t\t\t\tHTML\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tisPressed={ isPreview }\n\t\t\t\t\t\tonClick={ switchToPreview }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Preview' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ isPreview || isDisabled ? (\n\t\t\t\t<>\n\t\t\t\t\t<Preview\n\t\t\t\t\t\tcontent={ attributes.content }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<VisuallyHidden id={ instanceId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'HTML preview is not yet fully accessible. Please switch screen reader to virtualized mode to navigate the below iFrame.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<PlainText\n\t\t\t\t\tvalue={ attributes.content }\n\t\t\t\t\tonChange={ ( content ) => setAttributes( { content } ) }\n\t\t\t\t\tplaceholder={ __( 'Write HTML…' ) }\n\t\t\t\t\taria-label={ __( 'HTML' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAMA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,QAAA,GAAAC,sBAAA,CAAAN,OAAA;AAAgC,IAAAO,WAAA,GAAAP,OAAA;AArBhC;AACA;AACA;;AAgBA;AACA;AACA;;AAGe,SAASQ,QAAQA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAW,CAAC,EAAG;EAC7E,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAC9C,MAAMC,UAAU,GAAG,IAAAC,mBAAU,EAAEC,oBAAQ,CAACC,OAAQ,CAAC;EAEjD,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEZ,QAAQ,EAAE,gBAAiB,CAAC;EAE9D,SAASa,eAAeA,CAAA,EAAG;IAC1BR,YAAY,CAAE,IAAK,CAAC;EACrB;EAEA,SAASS,YAAYA,CAAA,EAAG;IACvBT,YAAY,CAAE,KAAM,CAAC;EACtB;EAEA,MAAMU,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,0BAA0B;IACrC,kBAAkB,EAAEb,SAAS,GAAGO,UAAU,GAAGO;EAC9C,CAAE,CAAC;EAEH,oBACC,IAAAnB,WAAA,CAAAoB,IAAA;IAAA,GAAUJ,UAAU;IAAAK,QAAA,gBACnB,IAAArB,WAAA,CAAAsB,GAAA,EAAC3B,YAAA,CAAA4B,aAAa;MAAAF,QAAA,eACb,IAAArB,WAAA,CAAAoB,IAAA,EAACxB,WAAA,CAAA4B,YAAY;QAAAH,QAAA,gBACZ,IAAArB,WAAA,CAAAsB,GAAA,EAAC1B,WAAA,CAAA6B,aAAa;UACbC,SAAS,EAAG,CAAErB,SAAW;UACzBsB,OAAO,EAAGZ,YAAc;UAAAM,QAAA,EACxB;QAED,CAAe,CAAC,eAChB,IAAArB,WAAA,CAAAsB,GAAA,EAAC1B,WAAA,CAAA6B,aAAa;UACbC,SAAS,EAAGrB,SAAW;UACvBsB,OAAO,EAAGb,eAAiB;UAAAO,QAAA,EAEzB,IAAAO,QAAE,EAAE,SAAU;QAAC,CACH,CAAC;MAAA,CACH;IAAC,CACD,CAAC,EACdvB,SAAS,IAAIG,UAAU,gBACxB,IAAAR,WAAA,CAAAoB,IAAA,EAAApB,WAAA,CAAA6B,QAAA;MAAAR,QAAA,gBACC,IAAArB,WAAA,CAAAsB,GAAA,EAACxB,QAAA,CAAAgC,OAAO;QACPC,OAAO,EAAG7B,UAAU,CAAC6B,OAAS;QAC9B3B,UAAU,EAAGA;MAAY,CACzB,CAAC,eACF,IAAAJ,WAAA,CAAAsB,GAAA,EAAC1B,WAAA,CAAAoC,cAAc;QAACC,EAAE,EAAGrB,UAAY;QAAAS,QAAA,EAC9B,IAAAO,QAAE,EACH,yHACD;MAAC,CACc,CAAC;IAAA,CAChB,CAAC,gBAEH,IAAA5B,WAAA,CAAAsB,GAAA,EAAC3B,YAAA,CAAAuC,SAAS;MACTC,KAAK,EAAGjC,UAAU,CAAC6B,OAAS;MAC5BK,QAAQ,EAAKL,OAAO,IAAM5B,aAAa,CAAE;QAAE4B;MAAQ,CAAE,CAAG;MACxDM,WAAW,EAAG,IAAAT,QAAE,EAAE,aAAc,CAAG;MACnC,cAAa,IAAAA,QAAE,EAAE,MAAO;IAAG,CAC3B,CACD;EAAA,CACG,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_blockEditor","_components","_data","_compose","_preview","_interopRequireDefault","_jsxRuntime","HTMLEdit","attributes","setAttributes","isSelected","isPreview","setIsPreview","useState","isDisabled","useContext","Disabled","Context","instanceId","useInstanceId","isPreviewMode","useSelect","select","blockEditorStore","getSettings","switchToPreview","switchToHTML","blockProps","useBlockProps","className","undefined","jsxs","children","jsx","BlockControls","ToolbarGroup","ToolbarButton","isPressed","onClick","__","Fragment","default","content","VisuallyHidden","id","PlainText","value","onChange","placeholder"],"sources":["@wordpress/block-library/src/html/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useState } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tPlainText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tDisabled,\n\tToolbarGroup,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Preview from './preview';\n\nexport default function HTMLEdit( { attributes, setAttributes, isSelected } ) {\n\tconst [ isPreview, setIsPreview ] = useState();\n\tconst isDisabled = useContext( Disabled.Context );\n\n\tconst instanceId = useInstanceId( HTMLEdit, 'html-edit-desc' );\n\n\tconst isPreviewMode = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().isPreviewMode;\n\t}, [] );\n\n\tfunction switchToPreview() {\n\t\tsetIsPreview( true );\n\t}\n\n\tfunction switchToHTML() {\n\t\tsetIsPreview( false );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'block-library-html__edit',\n\t\t'aria-describedby': isPreview ? instanceId : undefined,\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tisPressed={ ! isPreview }\n\t\t\t\t\t\tonClick={ switchToHTML }\n\t\t\t\t\t>\n\t\t\t\t\t\tHTML\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tisPressed={ isPreview }\n\t\t\t\t\t\tonClick={ switchToPreview }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Preview' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ isPreview || isPreviewMode || isDisabled ? (\n\t\t\t\t<>\n\t\t\t\t\t<Preview\n\t\t\t\t\t\tcontent={ attributes.content }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<VisuallyHidden id={ instanceId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'HTML preview is not yet fully accessible. Please switch screen reader to virtualized mode to navigate the below iFrame.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<PlainText\n\t\t\t\t\tvalue={ attributes.content }\n\t\t\t\t\tonChange={ ( content ) => setAttributes( { content } ) }\n\t\t\t\t\tplaceholder={ __( 'Write HTML…' ) }\n\t\t\t\t\taria-label={ __( 'HTML' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -28,8 +28,8 @@ function HTMLEditPreview({
28
28
  content,
29
29
  isSelected
30
30
  }) {
31
- const settingStyles = (0, _data.useSelect)(select => select(_blockEditor.store).getSettings().styles);
32
- const styles = (0, _element.useMemo)(() => [DEFAULT_STYLES, ...(0, _blockEditor.transformStyles)(settingStyles.filter(style => style.css))], [settingStyles]);
31
+ const settingStyles = (0, _data.useSelect)(select => select(_blockEditor.store).getSettings().styles, []);
32
+ const styles = (0, _element.useMemo)(() => [DEFAULT_STYLES, ...(0, _blockEditor.transformStyles)((settingStyles !== null && settingStyles !== void 0 ? settingStyles : []).filter(style => style.css))], [settingStyles]);
33
33
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
34
34
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SandBox, {
35
35
  html: content,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blockEditor","_components","_data","_i18n","_jsxRuntime","DEFAULT_STYLES","HTMLEditPreview","content","isSelected","settingStyles","useSelect","select","blockEditorStore","getSettings","styles","useMemo","transformStyles","filter","style","css","jsxs","Fragment","children","jsx","SandBox","html","title","__","tabIndex","className"],"sources":["@wordpress/block-library/src/html/preview.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\ttransformStyles,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SandBox } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n// Default styles used to unset some of the styles\n// that might be inherited from the editor style.\nconst DEFAULT_STYLES = `\n\thtml,body,:root {\n\t\tmargin: 0 !important;\n\t\tpadding: 0 !important;\n\t\toverflow: visible !important;\n\t\tmin-height: auto !important;\n\t}\n`;\n\nexport default function HTMLEditPreview( { content, isSelected } ) {\n\tconst settingStyles = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().styles\n\t);\n\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\tDEFAULT_STYLES,\n\t\t\t...transformStyles(\n\t\t\t\tsettingStyles.filter( ( style ) => style.css )\n\t\t\t),\n\t\t],\n\t\t[ settingStyles ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<SandBox\n\t\t\t\thtml={ content }\n\t\t\t\tstyles={ styles }\n\t\t\t\ttitle={ __( 'Custom HTML Preview' ) }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t/>\n\t\t\t{ /*\n\t\t\t\tAn overlay is added when the block is not selected in order to register click events.\n\t\t\t\tSome browsers do not bubble up the clicks from the sandboxed iframe, which makes it\n\t\t\t\tdifficult to reselect the block.\n\t\t\t*/ }\n\t\t\t{ ! isSelected && (\n\t\t\t\t<div className=\"block-library-html__preview-overlay\"></div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAAqC,IAAAK,WAAA,GAAAL,OAAA;AAVrC;AACA;AACA;;AAUA;AACA;AACA,MAAMM,cAAc,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEc,SAASC,eAAeA,CAAE;EAAEC,OAAO;EAAEC;AAAW,CAAC,EAAG;EAClE,MAAMC,aAAa,GAAG,IAAAC,eAAS,EAC5BC,MAAM,IAAMA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,MACxD,CAAC;EAED,MAAMA,MAAM,GAAG,IAAAC,gBAAO,EACrB,MAAM,CACLV,cAAc,EACd,GAAG,IAAAW,4BAAe,EACjBP,aAAa,CAACQ,MAAM,CAAIC,KAAK,IAAMA,KAAK,CAACC,GAAI,CAC9C,CAAC,CACD,EACD,CAAEV,aAAa,CAChB,CAAC;EAED,oBACC,IAAAL,WAAA,CAAAgB,IAAA,EAAAhB,WAAA,CAAAiB,QAAA;IAAAC,QAAA,gBACC,IAAAlB,WAAA,CAAAmB,GAAA,EAACtB,WAAA,CAAAuB,OAAO;MACPC,IAAI,EAAGlB,OAAS;MAChBO,MAAM,EAAGA,MAAQ;MACjBY,KAAK,EAAG,IAAAC,QAAE,EAAE,qBAAsB,CAAG;MACrCC,QAAQ,EAAG,CAAC;IAAG,CACf,CAAC,EAMA,CAAEpB,UAAU,iBACb,IAAAJ,WAAA,CAAAmB,GAAA;MAAKM,SAAS,EAAC;IAAqC,CAAM,CAC1D;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_blockEditor","_components","_data","_i18n","_jsxRuntime","DEFAULT_STYLES","HTMLEditPreview","content","isSelected","settingStyles","useSelect","select","blockEditorStore","getSettings","styles","useMemo","transformStyles","filter","style","css","jsxs","Fragment","children","jsx","SandBox","html","title","__","tabIndex","className"],"sources":["@wordpress/block-library/src/html/preview.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\ttransformStyles,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SandBox } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n// Default styles used to unset some of the styles\n// that might be inherited from the editor style.\nconst DEFAULT_STYLES = `\n\thtml,body,:root {\n\t\tmargin: 0 !important;\n\t\tpadding: 0 !important;\n\t\toverflow: visible !important;\n\t\tmin-height: auto !important;\n\t}\n`;\n\nexport default function HTMLEditPreview( { content, isSelected } ) {\n\tconst settingStyles = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().styles,\n\t\t[]\n\t);\n\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\tDEFAULT_STYLES,\n\t\t\t...transformStyles(\n\t\t\t\t( settingStyles ?? [] ).filter( ( style ) => style.css )\n\t\t\t),\n\t\t],\n\t\t[ settingStyles ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<SandBox\n\t\t\t\thtml={ content }\n\t\t\t\tstyles={ styles }\n\t\t\t\ttitle={ __( 'Custom HTML Preview' ) }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t/>\n\t\t\t{ /*\n\t\t\t\tAn overlay is added when the block is not selected in order to register click events.\n\t\t\t\tSome browsers do not bubble up the clicks from the sandboxed iframe, which makes it\n\t\t\t\tdifficult to reselect the block.\n\t\t\t*/ }\n\t\t\t{ ! isSelected && (\n\t\t\t\t<div className=\"block-library-html__preview-overlay\"></div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAAqC,IAAAK,WAAA,GAAAL,OAAA;AAVrC;AACA;AACA;;AAUA;AACA;AACA,MAAMM,cAAc,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEc,SAASC,eAAeA,CAAE;EAAEC,OAAO;EAAEC;AAAW,CAAC,EAAG;EAClE,MAAMC,aAAa,GAAG,IAAAC,eAAS,EAC5BC,MAAM,IAAMA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,MAAM,EAC7D,EACD,CAAC;EAED,MAAMA,MAAM,GAAG,IAAAC,gBAAO,EACrB,MAAM,CACLV,cAAc,EACd,GAAG,IAAAW,4BAAe,EACjB,CAAEP,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,EAAGQ,MAAM,CAAIC,KAAK,IAAMA,KAAK,CAACC,GAAI,CACxD,CAAC,CACD,EACD,CAAEV,aAAa,CAChB,CAAC;EAED,oBACC,IAAAL,WAAA,CAAAgB,IAAA,EAAAhB,WAAA,CAAAiB,QAAA;IAAAC,QAAA,gBACC,IAAAlB,WAAA,CAAAmB,GAAA,EAACtB,WAAA,CAAAuB,OAAO;MACPC,IAAI,EAAGlB,OAAS;MAChBO,MAAM,EAAGA,MAAQ;MACjBY,KAAK,EAAG,IAAAC,QAAE,EAAE,qBAAsB,CAAG;MACrCC,QAAQ,EAAG,CAAC;IAAG,CACf,CAAC,EAMA,CAAEpB,UAAU,iBACb,IAAAJ,WAAA,CAAAmB,GAAA;MAAKM,SAAS,EAAC;IAAqC,CAAM,CAC1D;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
@@ -110,17 +110,12 @@ function LatestPostsEdit({
110
110
 
111
111
  // If a user clicks to a link prevent redirection and show a warning.
112
112
  const {
113
- createWarningNotice,
114
- removeNotice
113
+ createWarningNotice
115
114
  } = (0, _data.useDispatch)(_notices.store);
116
- let noticeId;
117
115
  const showRedirectionPreventedNotice = event => {
118
116
  event.preventDefault();
119
- // Remove previous warning if any, to show one at a time per block.
120
- removeNotice(noticeId);
121
- noticeId = `block-library/core/latest-posts/redirection-prevented/${instanceId}`;
122
117
  createWarningNotice((0, _i18n.__)('Links are disabled in the editor.'), {
123
- id: noticeId,
118
+ id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
124
119
  type: 'snackbar'
125
120
  });
126
121
  };
@@ -432,7 +427,7 @@ function LatestPostsEdit({
432
427
  children: !titleTrimmed ? (0, _i18n.__)('(no title)') : null
433
428
  }), displayAuthor && currentAuthor && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
434
429
  className: "wp-block-latest-posts__post-author",
435
- children: (0, _i18n.sprintf)(/* translators: byline. %s: current author. */
430
+ children: (0, _i18n.sprintf)(/* translators: byline. %s: author. */
436
431
  (0, _i18n.__)('by %s'), currentAuthor.name)
437
432
  }), displayPostDate && post.date_gmt && /*#__PURE__*/(0, _jsxRuntime.jsx)("time", {
438
433
  dateTime: (0, _date.format)('c', post.date_gmt),