@wordpress/block-library 7.3.11 → 7.3.14

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 (91) hide show
  1. package/build/avatar/hooks.js +2 -2
  2. package/build/avatar/hooks.js.map +1 -1
  3. package/build/comment-author-name/edit.js +3 -3
  4. package/build/comment-author-name/edit.js.map +1 -1
  5. package/build/comment-author-name/index.js +0 -4
  6. package/build/comment-author-name/index.js.map +1 -1
  7. package/build/comment-date/edit.js +4 -4
  8. package/build/comment-date/edit.js.map +1 -1
  9. package/build/comment-date/index.js +0 -4
  10. package/build/comment-date/index.js.map +1 -1
  11. package/build/comment-edit-link/index.js +0 -4
  12. package/build/comment-edit-link/index.js.map +1 -1
  13. package/build/comment-reply-link/index.js +0 -4
  14. package/build/comment-reply-link/index.js.map +1 -1
  15. package/build/comments-query-loop/edit.js +10 -2
  16. package/build/comments-query-loop/edit.js.map +1 -1
  17. package/build/latest-posts/edit.js +30 -4
  18. package/build/latest-posts/edit.js.map +1 -1
  19. package/build/media-text/edit.js +0 -1
  20. package/build/media-text/edit.js.map +1 -1
  21. package/build/post-comments/edit.js +12 -33
  22. package/build/post-comments/edit.js.map +1 -1
  23. package/build/post-comments-form/edit.js +46 -25
  24. package/build/post-comments-form/edit.js.map +1 -1
  25. package/build/post-comments-form/form.js +48 -0
  26. package/build/post-comments-form/form.js.map +1 -0
  27. package/build/query/edit/inspector-controls/index.js +4 -16
  28. package/build/query/edit/inspector-controls/index.js.map +1 -1
  29. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  30. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  31. package/build-module/avatar/hooks.js +2 -2
  32. package/build-module/avatar/hooks.js.map +1 -1
  33. package/build-module/comment-author-name/edit.js +3 -3
  34. package/build-module/comment-author-name/edit.js.map +1 -1
  35. package/build-module/comment-author-name/index.js +0 -4
  36. package/build-module/comment-author-name/index.js.map +1 -1
  37. package/build-module/comment-date/edit.js +4 -4
  38. package/build-module/comment-date/edit.js.map +1 -1
  39. package/build-module/comment-date/index.js +0 -4
  40. package/build-module/comment-date/index.js.map +1 -1
  41. package/build-module/comment-edit-link/index.js +0 -4
  42. package/build-module/comment-edit-link/index.js.map +1 -1
  43. package/build-module/comment-reply-link/index.js +0 -4
  44. package/build-module/comment-reply-link/index.js.map +1 -1
  45. package/build-module/comments-query-loop/edit.js +10 -2
  46. package/build-module/comments-query-loop/edit.js.map +1 -1
  47. package/build-module/latest-posts/edit.js +29 -5
  48. package/build-module/latest-posts/edit.js.map +1 -1
  49. package/build-module/media-text/edit.js +0 -1
  50. package/build-module/media-text/edit.js.map +1 -1
  51. package/build-module/post-comments/edit.js +12 -34
  52. package/build-module/post-comments/edit.js.map +1 -1
  53. package/build-module/post-comments-form/edit.js +47 -28
  54. package/build-module/post-comments-form/edit.js.map +1 -1
  55. package/build-module/post-comments-form/form.js +39 -0
  56. package/build-module/post-comments-form/form.js.map +1 -0
  57. package/build-module/query/edit/inspector-controls/index.js +3 -15
  58. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  59. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  60. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  61. package/build-style/editor-rtl.css +3 -0
  62. package/build-style/editor.css +3 -0
  63. package/build-style/navigation/style-rtl.css +3 -0
  64. package/build-style/navigation/style.css +3 -0
  65. package/build-style/post-comments-form/editor-rtl.css +3 -0
  66. package/build-style/post-comments-form/editor.css +3 -0
  67. package/build-style/style-rtl.css +3 -0
  68. package/build-style/style.css +3 -0
  69. package/package.json +7 -7
  70. package/src/avatar/hooks.js +9 -6
  71. package/src/comment-author-name/block.json +0 -4
  72. package/src/comment-author-name/edit.js +3 -12
  73. package/src/comment-date/block.json +0 -4
  74. package/src/comment-date/edit.js +10 -14
  75. package/src/comment-date/index.php +0 -3
  76. package/src/comment-edit-link/block.json +0 -4
  77. package/src/comment-reply-link/block.json +0 -4
  78. package/src/comments-query-loop/edit.js +24 -4
  79. package/src/cover/index.php +9 -6
  80. package/src/gallery/index.php +2 -1
  81. package/src/latest-posts/edit.js +27 -2
  82. package/src/media-text/edit.js +0 -1
  83. package/src/navigation/style.scss +3 -0
  84. package/src/post-comments/edit.js +13 -42
  85. package/src/post-comments-form/edit.js +65 -59
  86. package/src/post-comments-form/editor.scss +4 -0
  87. package/src/post-comments-form/form.js +43 -0
  88. package/src/post-template/index.php +25 -16
  89. package/src/query/edit/inspector-controls/index.js +3 -13
  90. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  91. package/src/query-no-results/index.php +10 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","select","coreStore","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","blockEditorStore","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\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\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","select","coreStore","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","blockEditorStore","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\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\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
@@ -21,6 +21,8 @@ var _coreData = require("@wordpress/core-data");
21
21
 
22
22
  var _compose = require("@wordpress/compose");
23
23
 
24
+ var _form = _interopRequireDefault(require("../post-comments-form/form"));
25
+
24
26
  /**
25
27
  * External dependencies
26
28
  */
@@ -28,6 +30,10 @@ var _compose = require("@wordpress/compose");
28
30
  /**
29
31
  * WordPress dependencies
30
32
  */
33
+
34
+ /**
35
+ * Internal dependencies
36
+ */
31
37
  function PostCommentsEdit(_ref) {
32
38
  let {
33
39
  attributes: {
@@ -53,22 +59,22 @@ function PostCommentsEdit(_ref) {
53
59
  return postType ? !!((_select$getPostType = select(_coreData.store).getPostType(postType)) !== null && _select$getPostType !== void 0 && _select$getPostType.supports.comments) : false;
54
60
  });
55
61
  let warning = (0, _i18n.__)('Post Comments block: This is just a placeholder, not a real comment. The final styling may differ because it also depends on the current theme. For better compatibility with the Block Editor, please consider replacing this block with the "Comments Query Loop" block.');
56
- let showPlacholder = true;
62
+ let showPlaceholder = true;
57
63
 
58
64
  if (!isSiteEditor && 'open' !== commentStatus) {
59
65
  if ('closed' === commentStatus) {
60
66
  warning = (0, _i18n.sprintf)(
61
67
  /* translators: 1: Post type (i.e. "post", "page") */
62
68
  (0, _i18n.__)('Post Comments block: Comments to this %s are not allowed.'), postType);
63
- showPlacholder = false;
69
+ showPlaceholder = false;
64
70
  } else if (!postTypeSupportsComments) {
65
71
  warning = (0, _i18n.sprintf)(
66
72
  /* translators: 1: Post type (i.e. "post", "page") */
67
73
  (0, _i18n.__)('Post Comments block: Comments for this post type (%s) are not enabled.'), postType);
68
- showPlacholder = false;
74
+ showPlaceholder = false;
69
75
  } else if ('open' !== defaultCommentStatus) {
70
76
  warning = (0, _i18n.__)('Post Comments block: Comments are not enabled.');
71
- showPlacholder = false;
77
+ showPlaceholder = false;
72
78
  }
73
79
  }
74
80
 
@@ -78,7 +84,6 @@ function PostCommentsEdit(_ref) {
78
84
  })
79
85
  });
80
86
  const disabledRef = (0, _compose.__experimentalUseDisabled)();
81
- const textareaId = (0, _compose.useInstanceId)(PostCommentsEdit);
82
87
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
83
88
  group: "block"
84
89
  }, (0, _element.createElement)(_blockEditor.AlignmentControl, {
@@ -88,7 +93,7 @@ function PostCommentsEdit(_ref) {
88
93
  textAlign: nextAlign
89
94
  });
90
95
  }
91
- })), (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, warning), showPlacholder && (0, _element.createElement)("div", {
96
+ })), (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, warning), showPlaceholder && (0, _element.createElement)("div", {
92
97
  className: "wp-block-post-comments__placeholder",
93
98
  ref: disabledRef
94
99
  }, (0, _element.createElement)("h3", null,
@@ -174,32 +179,6 @@ function PostCommentsEdit(_ref) {
174
179
  className: "alignright"
175
180
  }, (0, _element.createElement)("a", {
176
181
  href: "#top"
177
- }, (0, _i18n.__)('Newer Comments'), " \xBB"))), (0, _element.createElement)("div", {
178
- className: "comment-respond"
179
- }, (0, _element.createElement)("h3", {
180
- className: "comment-reply-title"
181
- }, (0, _i18n.__)('Leave a Reply')), (0, _element.createElement)("form", {
182
- className: "comment-form",
183
- noValidate: true
184
- }, (0, _element.createElement)("p", {
185
- className: "comment-form-comment"
186
- }, (0, _element.createElement)("label", {
187
- htmlFor: `comment-${textareaId}`
188
- }, (0, _i18n.__)('Comment'), ' ', (0, _element.createElement)("span", {
189
- className: "required"
190
- }, "*")), (0, _element.createElement)("textarea", {
191
- id: `comment-${textareaId}`,
192
- name: "comment",
193
- cols: "45",
194
- rows: "8",
195
- required: true
196
- })), (0, _element.createElement)("p", {
197
- className: "form-submit wp-block-button"
198
- }, (0, _element.createElement)("input", {
199
- name: "submit",
200
- type: "submit",
201
- className: "submit wp-block-button__link",
202
- value: (0, _i18n.__)('Post Comment')
203
- })))))));
182
+ }, (0, _i18n.__)('Newer Comments'), " \xBB"))), (0, _element.createElement)(_form.default, null))));
204
183
  }
205
184
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-comments/edit.js"],"names":["PostCommentsEdit","attributes","textAlign","setAttributes","context","postType","postId","postTitle","commentStatus","avatarURL","defaultCommentStatus","select","blockEditorStore","getSettings","__experimentalDiscussionSettings","isSiteEditor","undefined","postTypeSupportsComments","coreStore","getPostType","supports","comments","warning","showPlacholder","blockProps","className","disabledRef","textareaId","nextAlign","span","a","cite"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalUseDisabled as useDisabled,\n\tuseInstanceId,\n} from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\nexport default function PostCommentsEdit( {\n\tattributes: { textAlign },\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tlet [ postTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tpostTitle = postTitle || __( 'Post Title' );\n\n\tconst [ commentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst { avatarURL, defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tlet warning = __(\n\t\t'Post Comments block: This is just a placeholder, not a real comment. The final styling may differ because it also depends on the current theme. For better compatibility with the Block Editor, please consider replacing this block with the \"Comments Query Loop\" block.'\n\t);\n\tlet showPlacholder = true;\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments block: Comments to this %s are not allowed.'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tshowPlacholder = false;\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments block: Comments for this post type (%s) are not enabled.'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tshowPlacholder = false;\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\twarning = __( 'Post Comments block: Comments are not enabled.' );\n\t\t\tshowPlacholder = false;\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst disabledRef = useDisabled();\n\n\tconst textareaId = useInstanceId( PostCommentsEdit );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ warning }</Warning>\n\n\t\t\t\t{ showPlacholder && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-post-comments__placeholder\"\n\t\t\t\t\t\tref={ disabledRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\t\t\t\t\tsprintf( __( 'One response to %s' ), postTitle )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</h3>\n\n\t\t\t\t\t\t<div className=\"navigation\">\n\t\t\t\t\t\t\t<div className=\"alignleft\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">« { __( 'Older Comments' ) }</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"alignright\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">{ __( 'Newer Comments' ) } »</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<ol className=\"commentlist\">\n\t\t\t\t\t\t\t<li className=\"comment even thread-even depth-1\">\n\t\t\t\t\t\t\t\t<article className=\"comment-body\">\n\t\t\t\t\t\t\t\t\t<footer className=\"comment-meta\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"comment-author vcard\">\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"Commenter Avatar\"\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ avatarURL }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"avatar avatar-32 photo\"\n\t\t\t\t\t\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: Comment author link. */\n\t\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\t'%s <span>says:</span>'\n\t\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\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'<cite><a>%s</a></cite>',\n\t\t\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\t\t'A WordPress Commenter'\n\t\t\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)\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{\n\t\t\t\t\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"says\" />\n\t\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\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/anchor-has-content */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref=\"#top\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"url\"\n\t\t\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\t/* eslint-enable jsx-a11y/anchor-has-content */\n\t\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\tcite: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<cite className=\"fn\" />\n\t\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}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"comment-metadata\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#top\">\n\t\t\t\t\t\t\t\t\t\t\t\t<time dateTime=\"2000-01-01T12:00:00+00:00\">\n\t\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\t'January 1, 2000 at 12:00 am'\n\t\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</time>\n\t\t\t\t\t\t\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"edit-link\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"comment-edit-link\"\n\t\t\t\t\t\t\t\t\t\t\t\t\thref=\"#top\"\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{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</footer>\n\n\t\t\t\t\t\t\t\t\t<div className=\"comment-content\">\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Hi, this is a comment.' ) }\n\t\t\t\t\t\t\t\t\t\t\t<br />\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'To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ createInterpolateElement(\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'Commenter avatars come from <a>Gravatar</a>'\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{\n\t\t\t\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https://gravatar.com/\" />\n\t\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}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<div className=\"reply\">\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"comment-reply-link\"\n\t\t\t\t\t\t\t\t\t\t\thref=\"#top\"\n\t\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: Comment reply button text. %s: Comment author name. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Reply to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'A WordPress Commenter' )\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\t\t{ __( 'Reply' ) }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</article>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ol>\n\n\t\t\t\t\t\t<div className=\"navigation\">\n\t\t\t\t\t\t\t<div className=\"alignleft\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">« { __( 'Older Comments' ) }</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"alignright\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">{ __( 'Newer Comments' ) } »</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"comment-respond\">\n\t\t\t\t\t\t\t<h3 className=\"comment-reply-title\">\n\t\t\t\t\t\t\t\t{ __( 'Leave a Reply' ) }\n\t\t\t\t\t\t\t</h3>\n\n\t\t\t\t\t\t\t<form className=\"comment-form\" noValidate>\n\t\t\t\t\t\t\t\t<p className=\"comment-form-comment\">\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\thtmlFor={ `comment-${ textareaId }` }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Comment' ) }{ ' ' }\n\t\t\t\t\t\t\t\t\t\t<span className=\"required\">*</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\tid={ `comment-${ textareaId }` }\n\t\t\t\t\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"submit wp-block-button__link\"\n\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-comments/edit.js"],"names":["PostCommentsEdit","attributes","textAlign","setAttributes","context","postType","postId","postTitle","commentStatus","avatarURL","defaultCommentStatus","select","blockEditorStore","getSettings","__experimentalDiscussionSettings","isSiteEditor","undefined","postTypeSupportsComments","coreStore","getPostType","supports","comments","warning","showPlaceholder","blockProps","className","disabledRef","nextAlign","span","a","cite"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\nimport { createInterpolateElement } from '@wordpress/element';\nimport { __experimentalUseDisabled as useDisabled } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport CommentsForm from '../post-comments-form/form';\n\nexport default function PostCommentsEdit( {\n\tattributes: { textAlign },\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tlet [ postTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tpostTitle = postTitle || __( 'Post Title' );\n\n\tconst [ commentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst { avatarURL, defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tlet warning = __(\n\t\t'Post Comments block: This is just a placeholder, not a real comment. The final styling may differ because it also depends on the current theme. For better compatibility with the Block Editor, please consider replacing this block with the \"Comments Query Loop\" block.'\n\t);\n\tlet showPlaceholder = true;\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments block: Comments to this %s are not allowed.'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tshowPlaceholder = false;\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments block: Comments for this post type (%s) are not enabled.'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tshowPlaceholder = false;\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\twarning = __( 'Post Comments block: Comments are not enabled.' );\n\t\t\tshowPlaceholder = false;\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst disabledRef = useDisabled();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ warning }</Warning>\n\n\t\t\t\t{ showPlaceholder && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-post-comments__placeholder\"\n\t\t\t\t\t\tref={ disabledRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\t\t\t\t\tsprintf( __( 'One response to %s' ), postTitle )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</h3>\n\n\t\t\t\t\t\t<div className=\"navigation\">\n\t\t\t\t\t\t\t<div className=\"alignleft\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">« { __( 'Older Comments' ) }</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"alignright\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">{ __( 'Newer Comments' ) } »</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<ol className=\"commentlist\">\n\t\t\t\t\t\t\t<li className=\"comment even thread-even depth-1\">\n\t\t\t\t\t\t\t\t<article className=\"comment-body\">\n\t\t\t\t\t\t\t\t\t<footer className=\"comment-meta\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"comment-author vcard\">\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"Commenter Avatar\"\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ avatarURL }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"avatar avatar-32 photo\"\n\t\t\t\t\t\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: Comment author link. */\n\t\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\t'%s <span>says:</span>'\n\t\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\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'<cite><a>%s</a></cite>',\n\t\t\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\t\t'A WordPress Commenter'\n\t\t\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)\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{\n\t\t\t\t\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"says\" />\n\t\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\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/anchor-has-content */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref=\"#top\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"url\"\n\t\t\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\t/* eslint-enable jsx-a11y/anchor-has-content */\n\t\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\tcite: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<cite className=\"fn\" />\n\t\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}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"comment-metadata\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#top\">\n\t\t\t\t\t\t\t\t\t\t\t\t<time dateTime=\"2000-01-01T12:00:00+00:00\">\n\t\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\t'January 1, 2000 at 12:00 am'\n\t\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</time>\n\t\t\t\t\t\t\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"edit-link\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"comment-edit-link\"\n\t\t\t\t\t\t\t\t\t\t\t\t\thref=\"#top\"\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{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</footer>\n\n\t\t\t\t\t\t\t\t\t<div className=\"comment-content\">\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Hi, this is a comment.' ) }\n\t\t\t\t\t\t\t\t\t\t\t<br />\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'To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ createInterpolateElement(\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'Commenter avatars come from <a>Gravatar</a>'\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{\n\t\t\t\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https://gravatar.com/\" />\n\t\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}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<div className=\"reply\">\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"comment-reply-link\"\n\t\t\t\t\t\t\t\t\t\t\thref=\"#top\"\n\t\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: Comment reply button text. %s: Comment author name. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Reply to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'A WordPress Commenter' )\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\t\t{ __( 'Reply' ) }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</article>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ol>\n\n\t\t\t\t\t\t<div className=\"navigation\">\n\t\t\t\t\t\t\t<div className=\"alignleft\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">« { __( 'Older Comments' ) }</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"alignright\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">{ __( 'Newer Comments' ) } »</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<CommentsForm />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -13,11 +13,15 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _blockEditor = require("@wordpress/block-editor");
15
15
 
16
+ var _components = require("@wordpress/components");
17
+
16
18
  var _coreData = require("@wordpress/core-data");
17
19
 
18
20
  var _i18n = require("@wordpress/i18n");
19
21
 
20
- var _compose = require("@wordpress/compose");
22
+ var _data = require("@wordpress/data");
23
+
24
+ var _form = _interopRequireDefault(require("./form"));
21
25
 
22
26
  /**
23
27
  * External dependencies
@@ -26,6 +30,10 @@ var _compose = require("@wordpress/compose");
26
30
  /**
27
31
  * WordPress dependencies
28
32
  */
33
+
34
+ /**
35
+ * Internal dependencies
36
+ */
29
37
  function PostCommentsFormEdit(_ref) {
30
38
  let {
31
39
  attributes,
@@ -39,15 +47,45 @@ function PostCommentsFormEdit(_ref) {
39
47
  postId,
40
48
  postType
41
49
  } = context;
42
- const [commentStatus] = (0, _coreData.useEntityProp)('postType', postType, 'comment_status', postId);
50
+ const [commentStatus, setCommentStatus] = (0, _coreData.useEntityProp)('postType', postType, 'comment_status', postId);
43
51
  const blockProps = (0, _blockEditor.useBlockProps)({
44
52
  className: (0, _classnames.default)({
45
53
  [`has-text-align-${textAlign}`]: textAlign
46
54
  })
47
55
  });
48
- const isInSiteEditor = postType === undefined || postId === undefined;
49
- const disabledFormRef = (0, _compose.__experimentalUseDisabled)();
50
- const instanceId = (0, _compose.useInstanceId)(PostCommentsFormEdit);
56
+ const isSiteEditor = postType === undefined || postId === undefined;
57
+ const {
58
+ defaultCommentStatus
59
+ } = (0, _data.useSelect)(select => select(_blockEditor.store).getSettings().__experimentalDiscussionSettings);
60
+ const postTypeSupportsComments = (0, _data.useSelect)(select => {
61
+ var _select$getPostType;
62
+
63
+ return postType ? !!((_select$getPostType = select(_coreData.store).getPostType(postType)) !== null && _select$getPostType !== void 0 && _select$getPostType.supports.comments) : false;
64
+ });
65
+ let warning = false;
66
+ let actions;
67
+ let showPlaceholder = true;
68
+
69
+ if (!isSiteEditor && 'open' !== commentStatus) {
70
+ if ('closed' === commentStatus) {
71
+ warning = (0, _i18n.__)('Post Comments Form block: Comments are not enabled for this item.');
72
+ actions = [(0, _element.createElement)(_components.Button, {
73
+ key: "enableComments",
74
+ onClick: () => setCommentStatus('open'),
75
+ variant: "primary"
76
+ }, (0, _i18n._x)('Enable comments', 'action that affects the current post'))];
77
+ showPlaceholder = false;
78
+ } else if (!postTypeSupportsComments) {
79
+ warning = (0, _i18n.sprintf)(
80
+ /* translators: 1: Post type (i.e. "post", "page") */
81
+ (0, _i18n.__)('Post Comments Form block: Comments are not enabled for this post type (%s).'), postType);
82
+ showPlaceholder = false;
83
+ } else if ('open' !== defaultCommentStatus) {
84
+ warning = (0, _i18n.__)('Post Comments Form block: Comments are not enabled.');
85
+ showPlaceholder = false;
86
+ }
87
+ }
88
+
51
89
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
52
90
  group: "block"
53
91
  }, (0, _element.createElement)(_blockEditor.AlignmentControl, {
@@ -57,25 +95,8 @@ function PostCommentsFormEdit(_ref) {
57
95
  textAlign: nextAlign
58
96
  });
59
97
  }
60
- })), (0, _element.createElement)("div", blockProps, !commentStatus && !isInSiteEditor && (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Post Comments Form block: comments are not enabled for this post type.')), 'open' !== commentStatus && !isInSiteEditor && (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.sprintf)(
61
- /* translators: 1: Post type (i.e. "post", "page") */
62
- (0, _i18n.__)('Post Comments Form block: comments to this %s are not allowed.'), postType)), ('open' === commentStatus || isInSiteEditor) && (0, _element.createElement)("div", null, (0, _element.createElement)("h3", null, (0, _i18n.__)('Leave a Reply')), (0, _element.createElement)("form", {
63
- noValidate: true,
64
- className: "comment-form",
65
- ref: disabledFormRef
66
- }, (0, _element.createElement)("p", null, (0, _element.createElement)("label", {
67
- htmlFor: `comment-${instanceId}`
68
- }, (0, _i18n.__)('Comment')), (0, _element.createElement)("textarea", {
69
- id: `comment-${instanceId}`,
70
- name: "comment",
71
- cols: "45",
72
- rows: "8"
73
- })), (0, _element.createElement)("p", null, (0, _element.createElement)("input", {
74
- name: "submit",
75
- className: "submit wp-block-button__link",
76
- label: (0, _i18n.__)('Post Comment'),
77
- value: (0, _i18n.__)('Post Comment'),
78
- readOnly: true
79
- }))))));
98
+ })), (0, _element.createElement)("div", blockProps, warning && (0, _element.createElement)(_blockEditor.Warning, {
99
+ actions: actions
100
+ }, warning), showPlaceholder ? (0, _element.createElement)(_form.default, null) : null));
80
101
  }
81
102
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-comments-form/edit.js"],"names":["PostCommentsFormEdit","attributes","context","setAttributes","textAlign","postId","postType","commentStatus","blockProps","className","isInSiteEditor","undefined","disabledFormRef","instanceId","nextAlign"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAMA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;AAce,SAASA,oBAAT,OAIX;AAAA,MAJ0C;AAC7CC,IAAAA,UAD6C;AAE7CC,IAAAA,OAF6C;AAG7CC,IAAAA;AAH6C,GAI1C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAgBH,UAAtB;AACA,QAAM;AAAEI,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAuBJ,OAA7B;AACA,QAAM,CAAEK,aAAF,IAAoB,6BACzB,UADyB,EAEzBD,QAFyB,EAGzB,gBAHyB,EAIzBD,MAJyB,CAA1B;AAMA,QAAMG,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBL,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB;AAMA,QAAMM,cAAc,GAAGJ,QAAQ,KAAKK,SAAb,IAA0BN,MAAM,KAAKM,SAA5D;AAEA,QAAMC,eAAe,GAAG,yCAAxB;AAEA,QAAMC,UAAU,GAAG,4BAAeb,oBAAf,CAAnB;AAEA,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGI,SADT;AAEC,IAAA,QAAQ,EAAKU,SAAF,IAAiB;AAC3BX,MAAAA,aAAa,CAAE;AAAEC,QAAAA,SAAS,EAAEU;AAAb,OAAF,CAAb;AACA;AAJF,IADD,CADD,EASC,mCAAUN,UAAV,EACG,CAAED,aAAF,IAAmB,CAAEG,cAArB,IACD,4BAAC,oBAAD,QACG,cACD,wEADC,CADH,CAFF,EASG,WAAWH,aAAX,IAA4B,CAAEG,cAA9B,IACD,4BAAC,oBAAD,QACG;AACD;AACA,gBACC,gEADD,CAFC,EAKDJ,QALC,CADH,CAVF,EAqBG,CAAE,WAAWC,aAAX,IAA4BG,cAA9B,KACD,yCACC,wCAAM,cAAI,eAAJ,CAAN,CADD,EAEC;AACC,IAAA,UAAU,MADX;AAEC,IAAA,SAAS,EAAC,cAFX;AAGC,IAAA,GAAG,EAAGE;AAHP,KAKC,uCACC;AAAO,IAAA,OAAO,EAAI,WAAWC,UAAY;AAAzC,KACG,cAAI,SAAJ,CADH,CADD,EAIC;AACC,IAAA,EAAE,EAAI,WAAWA,UAAY,EAD9B;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,IAAI,EAAC,IAHN;AAIC,IAAA,IAAI,EAAC;AAJN,IAJD,CALD,EAgBC,uCACC;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,SAAS,EAAC,8BAFX;AAGC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAHT;AAIC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAJT;AAKC,IAAA,QAAQ;AALT,IADD,CAhBD,CAFD,CAtBF,CATD,CADD;AAiEA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalUseDisabled as useDisabled,\n\tuseInstanceId,\n} from '@wordpress/compose';\n\nexport default function PostCommentsFormEdit( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\tconst [ commentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst isInSiteEditor = postType === undefined || postId === undefined;\n\n\tconst disabledFormRef = useDisabled();\n\n\tconst instanceId = useInstanceId( PostCommentsFormEdit );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ ! commentStatus && ! isInSiteEditor && (\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Post Comments Form block: comments are not enabled for this post type.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t) }\n\n\t\t\t\t{ 'open' !== commentStatus && ! isInSiteEditor && (\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Post Comments Form block: comments to this %s are not allowed.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t) }\n\n\t\t\t\t{ ( 'open' === commentStatus || isInSiteEditor ) && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{ __( 'Leave a Reply' ) }</h3>\n\t\t\t\t\t\t<form\n\t\t\t\t\t\t\tnoValidate\n\t\t\t\t\t\t\tclassName=\"comment-form\"\n\t\t\t\t\t\t\tref={ disabledFormRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\t\t\t\tclassName=\"submit wp-block-button__link\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-comments-form/edit.js"],"names":["PostCommentsFormEdit","attributes","context","setAttributes","textAlign","postId","postType","commentStatus","setCommentStatus","blockProps","className","isSiteEditor","undefined","defaultCommentStatus","select","blockEditorStore","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","coreStore","getPostType","supports","comments","warning","actions","showPlaceholder","nextAlign"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAOA;;AACA;;AACA;;AACA;;AAKA;;AAvBA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;AAGe,SAASA,oBAAT,OAIX;AAAA,MAJ0C;AAC7CC,IAAAA,UAD6C;AAE7CC,IAAAA,OAF6C;AAG7CC,IAAAA;AAH6C,GAI1C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAgBH,UAAtB;AACA,QAAM;AAAEI,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAuBJ,OAA7B;AACA,QAAM,CAAEK,aAAF,EAAiBC,gBAAjB,IAAsC,6BAC3C,UAD2C,EAE3CF,QAF2C,EAG3C,gBAH2C,EAI3CD,MAJ2C,CAA5C;AAMA,QAAMI,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBN,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB;AAMA,QAAMO,YAAY,GAAGL,QAAQ,KAAKM,SAAb,IAA0BP,MAAM,KAAKO,SAA1D;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAA2B,qBAC9BC,MAAF,IACCA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,WAA3B,GACEC,gCAH6B,CAAjC;AAMA,QAAMC,wBAAwB,GAAG,qBAAaJ,MAAF;AAAA;;AAAA,WAC3CR,QAAQ,GACL,CAAC,yBAAEQ,MAAM,CAAEK,eAAF,CAAN,CAAoBC,WAApB,CAAiCd,QAAjC,CAAF,gDAAE,oBAA6Ce,QAA7C,CAAsDC,QAAxD,CADI,GAEL,KAHwC;AAAA,GAAX,CAAjC;AAMA,MAAIC,OAAO,GAAG,KAAd;AACA,MAAIC,OAAJ;AACA,MAAIC,eAAe,GAAG,IAAtB;;AAEA,MAAK,CAAEd,YAAF,IAAkB,WAAWJ,aAAlC,EAAkD;AACjD,QAAK,aAAaA,aAAlB,EAAkC;AACjCgB,MAAAA,OAAO,GAAG,cACT,mEADS,CAAV;AAIAC,MAAAA,OAAO,GAAG,CACT,4BAAC,kBAAD;AACC,QAAA,GAAG,EAAC,gBADL;AAEC,QAAA,OAAO,EAAG,MAAMhB,gBAAgB,CAAE,MAAF,CAFjC;AAGC,QAAA,OAAO,EAAC;AAHT,SAKG,cACD,iBADC,EAED,sCAFC,CALH,CADS,CAAV;AAYAiB,MAAAA,eAAe,GAAG,KAAlB;AACA,KAlBD,MAkBO,IAAK,CAAEP,wBAAP,EAAkC;AACxCK,MAAAA,OAAO,GAAG;AACT;AACA,oBACC,6EADD,CAFS,EAKTjB,QALS,CAAV;AAOAmB,MAAAA,eAAe,GAAG,KAAlB;AACA,KATM,MASA,IAAK,WAAWZ,oBAAhB,EAAuC;AAC7CU,MAAAA,OAAO,GAAG,cACT,qDADS,CAAV;AAGAE,MAAAA,eAAe,GAAG,KAAlB;AACA;AACD;;AAED,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGrB,SADT;AAEC,IAAA,QAAQ,EAAKsB,SAAF,IAAiB;AAC3BvB,MAAAA,aAAa,CAAE;AAAEC,QAAAA,SAAS,EAAEsB;AAAb,OAAF,CAAb;AACA;AAJF,IADD,CADD,EASC,mCAAUjB,UAAV,EACGc,OAAO,IACR,4BAAC,oBAAD;AAAS,IAAA,OAAO,EAAGC;AAAnB,KAA+BD,OAA/B,CAFF,EAKGE,eAAe,GAAG,4BAAC,aAAD,OAAH,GAAsB,IALxC,CATD,CADD;AAmBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport CommentsForm from './form';\n\nexport default function PostCommentsFormEdit( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst { defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tlet warning = false;\n\tlet actions;\n\tlet showPlaceholder = true;\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\twarning = __(\n\t\t\t\t'Post Comments Form block: Comments are not enabled for this item.'\n\t\t\t);\n\n\t\t\tactions = [\n\t\t\t\t<Button\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\tshowPlaceholder = false;\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this post type (%s).'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tshowPlaceholder = false;\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\twarning = __(\n\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t);\n\t\t\tshowPlaceholder = false;\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ warning && (\n\t\t\t\t\t<Warning actions={ actions }>{ warning }</Warning>\n\t\t\t\t) }\n\n\t\t\t\t{ showPlaceholder ? <CommentsForm /> : null }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _i18n = require("@wordpress/i18n");
11
+
12
+ var _compose = require("@wordpress/compose");
13
+
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+ const CommentsForm = () => {
18
+ const disabledFormRef = (0, _compose.__experimentalUseDisabled)();
19
+ const instanceId = (0, _compose.useInstanceId)(CommentsForm);
20
+ return (0, _element.createElement)("div", {
21
+ className: "comment-respond"
22
+ }, (0, _element.createElement)("h3", {
23
+ className: "comment-reply-title"
24
+ }, (0, _i18n.__)('Leave a Reply')), (0, _element.createElement)("form", {
25
+ noValidate: true,
26
+ className: "comment-form",
27
+ ref: disabledFormRef
28
+ }, (0, _element.createElement)("p", null, (0, _element.createElement)("label", {
29
+ htmlFor: `comment-${instanceId}`
30
+ }, (0, _i18n.__)('Comment')), (0, _element.createElement)("textarea", {
31
+ id: `comment-${instanceId}`,
32
+ name: "comment",
33
+ cols: "45",
34
+ rows: "8"
35
+ })), (0, _element.createElement)("p", {
36
+ className: "form-submit wp-block-button"
37
+ }, (0, _element.createElement)("input", {
38
+ name: "submit",
39
+ type: "submit",
40
+ className: "submit wp-block-button__link",
41
+ label: (0, _i18n.__)('Post Comment'),
42
+ value: (0, _i18n.__)('Post Comment')
43
+ }))));
44
+ };
45
+
46
+ var _default = CommentsForm;
47
+ exports.default = _default;
48
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"names":["CommentsForm","disabledFormRef","instanceId"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAOA,MAAMA,YAAY,GAAG,MAAM;AAC1B,QAAMC,eAAe,GAAG,yCAAxB;AACA,QAAMC,UAAU,GAAG,4BAAeF,YAAf,CAAnB;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAI,IAAA,SAAS,EAAC;AAAd,KAAsC,cAAI,eAAJ,CAAtC,CADD,EAEC;AAAM,IAAA,UAAU,MAAhB;AAAiB,IAAA,SAAS,EAAC,cAA3B;AAA0C,IAAA,GAAG,EAAGC;AAAhD,KACC,uCACC;AAAO,IAAA,OAAO,EAAI,WAAWC,UAAY;AAAzC,KACG,cAAI,SAAJ,CADH,CADD,EAIC;AACC,IAAA,EAAE,EAAI,WAAWA,UAAY,EAD9B;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,IAAI,EAAC,IAHN;AAIC,IAAA,IAAI,EAAC;AAJN,IAJD,CADD,EAYC;AAAG,IAAA,SAAS,EAAC;AAAb,KACC;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,SAAS,EAAC,8BAHX;AAIC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAJT;AAKC,IAAA,KAAK,EAAG,cAAI,cAAJ;AALT,IADD,CAZD,CAFD,CADD;AA2BA,CA/BD;;eAiCeF,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalUseDisabled as useDisabled,\n\tuseInstanceId,\n} from '@wordpress/compose';\n\nconst CommentsForm = () => {\n\tconst disabledFormRef = useDisabled();\n\tconst instanceId = useInstanceId( CommentsForm );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form noValidate className=\"comment-form\" ref={ disabledFormRef }>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName=\"submit wp-block-button__link\"\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nexport default CommentsForm;\n"]}
@@ -23,6 +23,8 @@ var _authorControl = _interopRequireDefault(require("./author-control"));
23
23
 
24
24
  var _taxonomyControls = _interopRequireDefault(require("./taxonomy-controls"));
25
25
 
26
+ var _stickyControl = _interopRequireDefault(require("./sticky-control"));
27
+
26
28
  var _utils = require("../../utils");
27
29
 
28
30
  /**
@@ -36,17 +38,6 @@ var _utils = require("../../utils");
36
38
  /**
37
39
  * Internal dependencies
38
40
  */
39
- const stickyOptions = [{
40
- label: (0, _i18n.__)('Include'),
41
- value: ''
42
- }, {
43
- label: (0, _i18n.__)('Exclude'),
44
- value: 'exclude'
45
- }, {
46
- label: (0, _i18n.__)('Only'),
47
- value: 'only'
48
- }];
49
-
50
41
  function QueryInspectorControls(_ref) {
51
42
  let {
52
43
  attributes: {
@@ -141,14 +132,11 @@ function QueryInspectorControls(_ref) {
141
132
  order,
142
133
  orderBy,
143
134
  onChange: setQuery
144
- }), showSticky && (0, _element.createElement)(_components.SelectControl, {
145
- label: (0, _i18n.__)('Sticky posts'),
146
- options: stickyOptions,
135
+ }), !inherit && showSticky && (0, _element.createElement)(_stickyControl.default, {
147
136
  value: sticky,
148
137
  onChange: value => setQuery({
149
138
  sticky: value
150
- }),
151
- help: (0, _i18n.__)('Blog posts can be "stickied", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.')
139
+ })
152
140
  })), !inherit && (0, _element.createElement)(_components.PanelBody, {
153
141
  title: (0, _i18n.__)('Filters')
154
142
  }, (0, _element.createElement)(_taxonomyControls.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["stickyOptions","label","value","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","type","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport { usePostTypes } from '../../utils';\n\nconst stickyOptions = [\n\t{ label: __( 'Include' ), value: '' },\n\t{ label: __( 'Exclude' ), value: 'exclude' },\n\t{ label: __( 'Only' ), value: 'only' },\n];\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showSticky && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Sticky posts' ) }\n\t\t\t\t\t\toptions={ stickyOptions }\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Blog posts can be \"stickied\", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","value","type","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport { usePostTypes } from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && showSticky && (\n\t\t\t\t\t<StickyControl\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = StickyControl;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _components = require("@wordpress/components");
11
+
12
+ var _i18n = require("@wordpress/i18n");
13
+
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+ const stickyOptions = [{
18
+ label: (0, _i18n.__)('Include'),
19
+ value: ''
20
+ }, {
21
+ label: (0, _i18n.__)('Exclude'),
22
+ value: 'exclude'
23
+ }, {
24
+ label: (0, _i18n.__)('Only'),
25
+ value: 'only'
26
+ }];
27
+
28
+ function StickyControl(_ref) {
29
+ let {
30
+ value,
31
+ onChange
32
+ } = _ref;
33
+ return (0, _element.createElement)(_components.SelectControl, {
34
+ label: (0, _i18n.__)('Sticky posts'),
35
+ options: stickyOptions,
36
+ value: value,
37
+ onChange: onChange,
38
+ help: (0, _i18n.__)('Blog posts can be "stickied", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.')
39
+ });
40
+ }
41
+ //# sourceMappingURL=sticky-control.js.map