@wordpress/block-library 9.24.0 → 9.25.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 (202) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +29 -17
  3. package/build/button/edit.js.map +1 -1
  4. package/build/columns/edit.js +18 -22
  5. package/build/columns/edit.js.map +1 -1
  6. package/build/comment-author-name/edit.js +41 -12
  7. package/build/comment-author-name/edit.js.map +1 -1
  8. package/build/comment-date/edit.js +41 -12
  9. package/build/comment-date/edit.js.map +1 -1
  10. package/build/comment-edit-link/edit.js +27 -7
  11. package/build/comment-edit-link/edit.js.map +1 -1
  12. package/build/comments/edit/comments-inspector-controls.js +1 -3
  13. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  14. package/build/comments-pagination/edit.js +23 -9
  15. package/build/comments-pagination/edit.js.map +1 -1
  16. package/build/comments-title/edit.js +41 -12
  17. package/build/comments-title/edit.js.map +1 -1
  18. package/build/details/edit.js +27 -3
  19. package/build/details/edit.js.map +1 -1
  20. package/build/embed/edit.js +2 -4
  21. package/build/embed/edit.js.map +1 -1
  22. package/build/embed/embed-controls.js +41 -22
  23. package/build/embed/embed-controls.js.map +1 -1
  24. package/build/file/inspector.js +73 -30
  25. package/build/file/inspector.js.map +1 -1
  26. package/build/form/edit.js +67 -37
  27. package/build/form/edit.js.map +1 -1
  28. package/build/form-input/edit.js +47 -18
  29. package/build/form-input/edit.js.map +1 -1
  30. package/build/latest-posts/edit.js +154 -82
  31. package/build/latest-posts/edit.js.map +1 -1
  32. package/build/list/ordered-list-settings.js +131 -52
  33. package/build/list/ordered-list-settings.js.map +1 -1
  34. package/build/navigation/edit/index.js +93 -51
  35. package/build/navigation/edit/index.js.map +1 -1
  36. package/build/navigation/edit/overlay-menu-preview.js +43 -27
  37. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  38. package/build/navigation-link/index.js +3 -0
  39. package/build/navigation-link/index.js.map +1 -1
  40. package/build/navigation-link/transforms.js +2 -0
  41. package/build/navigation-link/transforms.js.map +1 -1
  42. package/build/navigation-link/update-attributes.js +1 -0
  43. package/build/navigation-link/update-attributes.js.map +1 -1
  44. package/build/navigation-submenu/index.js +3 -0
  45. package/build/navigation-submenu/index.js.map +1 -1
  46. package/build/post-comments-count/index.js +3 -1
  47. package/build/post-comments-count/index.js.map +1 -1
  48. package/build/post-comments-count/transforms.js +26 -0
  49. package/build/post-comments-count/transforms.js.map +1 -0
  50. package/build/post-comments-link/index.js +3 -1
  51. package/build/post-comments-link/index.js.map +1 -1
  52. package/build/post-comments-link/transforms.js +26 -0
  53. package/build/post-comments-link/transforms.js.map +1 -0
  54. package/build/post-title/edit.js +56 -18
  55. package/build/post-title/edit.js.map +1 -1
  56. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  57. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  58. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  59. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  60. package/build/rss/edit.js +120 -46
  61. package/build/rss/edit.js.map +1 -1
  62. package/build/separator/edit.js +52 -20
  63. package/build/separator/edit.js.map +1 -1
  64. package/build/shortcode/index.js +2 -1
  65. package/build/shortcode/index.js.map +1 -1
  66. package/build/social-link/variations.js +53 -48
  67. package/build/social-link/variations.js.map +1 -1
  68. package/build/social-links/edit.js +35 -45
  69. package/build/social-links/edit.js.map +1 -1
  70. package/build/video/tracks-editor.js +40 -12
  71. package/build/video/tracks-editor.js.map +1 -1
  72. package/build-module/button/edit.js +30 -18
  73. package/build-module/button/edit.js.map +1 -1
  74. package/build-module/columns/edit.js +18 -22
  75. package/build-module/columns/edit.js.map +1 -1
  76. package/build-module/comment-author-name/edit.js +42 -13
  77. package/build-module/comment-author-name/edit.js.map +1 -1
  78. package/build-module/comment-date/edit.js +42 -13
  79. package/build-module/comment-date/edit.js.map +1 -1
  80. package/build-module/comment-edit-link/edit.js +28 -8
  81. package/build-module/comment-edit-link/edit.js.map +1 -1
  82. package/build-module/comments/edit/comments-inspector-controls.js +1 -3
  83. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  84. package/build-module/comments-pagination/edit.js +24 -10
  85. package/build-module/comments-pagination/edit.js.map +1 -1
  86. package/build-module/comments-title/edit.js +42 -13
  87. package/build-module/comments-title/edit.js.map +1 -1
  88. package/build-module/details/edit.js +29 -5
  89. package/build-module/details/edit.js.map +1 -1
  90. package/build-module/embed/edit.js +2 -4
  91. package/build-module/embed/edit.js.map +1 -1
  92. package/build-module/embed/embed-controls.js +42 -23
  93. package/build-module/embed/embed-controls.js.map +1 -1
  94. package/build-module/file/inspector.js +74 -31
  95. package/build-module/file/inspector.js.map +1 -1
  96. package/build-module/form/edit.js +68 -38
  97. package/build-module/form/edit.js.map +1 -1
  98. package/build-module/form-input/edit.js +48 -19
  99. package/build-module/form-input/edit.js.map +1 -1
  100. package/build-module/latest-posts/edit.js +155 -83
  101. package/build-module/latest-posts/edit.js.map +1 -1
  102. package/build-module/list/ordered-list-settings.js +132 -53
  103. package/build-module/list/ordered-list-settings.js.map +1 -1
  104. package/build-module/navigation/edit/index.js +94 -52
  105. package/build-module/navigation/edit/index.js.map +1 -1
  106. package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
  107. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  108. package/build-module/navigation-link/index.js +3 -0
  109. package/build-module/navigation-link/index.js.map +1 -1
  110. package/build-module/navigation-link/transforms.js +2 -0
  111. package/build-module/navigation-link/transforms.js.map +1 -1
  112. package/build-module/navigation-link/update-attributes.js +1 -0
  113. package/build-module/navigation-link/update-attributes.js.map +1 -1
  114. package/build-module/navigation-submenu/index.js +3 -0
  115. package/build-module/navigation-submenu/index.js.map +1 -1
  116. package/build-module/post-comments-count/index.js +3 -1
  117. package/build-module/post-comments-count/index.js.map +1 -1
  118. package/build-module/post-comments-count/transforms.js +19 -0
  119. package/build-module/post-comments-count/transforms.js.map +1 -0
  120. package/build-module/post-comments-link/index.js +3 -1
  121. package/build-module/post-comments-link/index.js.map +1 -1
  122. package/build-module/post-comments-link/transforms.js +19 -0
  123. package/build-module/post-comments-link/transforms.js.map +1 -0
  124. package/build-module/post-title/edit.js +57 -19
  125. package/build-module/post-title/edit.js.map +1 -1
  126. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  127. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  128. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  129. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  130. package/build-module/rss/edit.js +121 -47
  131. package/build-module/rss/edit.js.map +1 -1
  132. package/build-module/separator/edit.js +54 -22
  133. package/build-module/separator/edit.js.map +1 -1
  134. package/build-module/shortcode/index.js +2 -1
  135. package/build-module/shortcode/index.js.map +1 -1
  136. package/build-module/social-link/variations.js +53 -48
  137. package/build-module/social-link/variations.js.map +1 -1
  138. package/build-module/social-links/edit.js +37 -47
  139. package/build-module/social-links/edit.js.map +1 -1
  140. package/build-module/video/tracks-editor.js +41 -13
  141. package/build-module/video/tracks-editor.js.map +1 -1
  142. package/build-style/editor-rtl.css +9 -4
  143. package/build-style/editor.css +9 -4
  144. package/build-style/gallery/style-rtl.css +1 -0
  145. package/build-style/gallery/style.css +1 -0
  146. package/build-style/navigation/editor-rtl.css +8 -3
  147. package/build-style/navigation/editor.css +8 -3
  148. package/build-style/pullquote/editor-rtl.css +1 -1
  149. package/build-style/pullquote/editor.css +1 -1
  150. package/build-style/pullquote/style-rtl.css +2 -3
  151. package/build-style/pullquote/style.css +2 -3
  152. package/build-style/pullquote/theme-rtl.css +2 -2
  153. package/build-style/pullquote/theme.css +2 -2
  154. package/build-style/style-rtl.css +3 -3
  155. package/build-style/style.css +3 -3
  156. package/build-style/theme-rtl.css +2 -2
  157. package/build-style/theme.css +2 -2
  158. package/package.json +35 -35
  159. package/src/button/edit.js +44 -29
  160. package/src/columns/edit.js +20 -31
  161. package/src/comment-author-name/edit.js +54 -13
  162. package/src/comment-date/edit.js +50 -15
  163. package/src/comment-edit-link/edit.js +39 -11
  164. package/src/comments/edit/comments-inspector-controls.js +0 -2
  165. package/src/comments-pagination/edit.js +29 -9
  166. package/src/comments-title/edit.js +53 -15
  167. package/src/details/edit.js +36 -4
  168. package/src/embed/edit.js +3 -5
  169. package/src/embed/embed-controls.js +55 -33
  170. package/src/file/inspector.js +99 -45
  171. package/src/form/edit.js +91 -46
  172. package/src/form-input/edit.js +56 -18
  173. package/src/gallery/style.scss +1 -0
  174. package/src/latest-posts/edit.js +206 -98
  175. package/src/list/ordered-list-settings.js +172 -62
  176. package/src/navigation/edit/index.js +127 -64
  177. package/src/navigation/edit/overlay-menu-preview.js +43 -26
  178. package/src/navigation/editor.scss +8 -4
  179. package/src/navigation-link/block.json +3 -0
  180. package/src/navigation-link/index.php +4 -0
  181. package/src/navigation-link/transforms.js +2 -1
  182. package/src/navigation-link/update-attributes.js +1 -0
  183. package/src/navigation-submenu/block.json +3 -0
  184. package/src/navigation-submenu/index.php +4 -0
  185. package/src/post-comments-count/index.js +2 -0
  186. package/src/post-comments-count/transforms.js +20 -0
  187. package/src/post-comments-link/index.js +2 -0
  188. package/src/post-comments-link/transforms.js +20 -0
  189. package/src/post-title/edit.js +76 -24
  190. package/src/pullquote/editor.scss +1 -1
  191. package/src/pullquote/style.scss +2 -3
  192. package/src/pullquote/theme.scss +2 -2
  193. package/src/query/edit/enhanced-pagination-modal.js +1 -5
  194. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
  195. package/src/rss/edit.js +141 -55
  196. package/src/separator/edit.js +66 -21
  197. package/src/shortcode/block.json +2 -1
  198. package/src/site-title/index.php +1 -1
  199. package/src/social-link/index.php +49 -49
  200. package/src/social-link/variations.js +53 -48
  201. package/src/social-links/edit.js +39 -60
  202. package/src/video/tracks-editor.js +57 -16
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","Notice","RangeControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","ColumnInspectorControls","clientId","setAttributes","isStackedOnMobile","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlockOrder","blockOrder","preventRemovalBlockIndexes","reduce","acc","blockId","index","push","length","Math","max","getBlocks","replaceInnerBlocks","updateColumns","previousColumns","newColumns","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","newlyAddedColumns","widths","Array","from","map","width","slice","dropdownMenuProps","label","resetAll","children","isShownByDefault","hasValue","onDeselect","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","status","isDismissible","checked","ColumnsEditContainer","attributes","verticalAlignment","templateLock","registry","updateBlockAttributes","classes","blockProps","className","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","title","instructions","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tupdateColumns( count, minCount );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => count }\n\t\t\t\t\tonDeselect={ () => updateColumns( count, minCount ) }\n\t\t\t\t>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ count > 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</VStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to override anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","Notice","RangeControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","ColumnInspectorControls","clientId","setAttributes","isStackedOnMobile","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlockOrder","blockOrder","preventRemovalBlockIndexes","reduce","acc","blockId","index","push","length","Math","max","getBlocks","replaceInnerBlocks","updateColumns","previousColumns","newColumns","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","newlyAddedColumns","widths","Array","from","map","width","slice","dropdownMenuProps","label","resetAll","children","spacing","style","gridColumn","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","status","isDismissible","isShownByDefault","hasValue","onDeselect","checked","ColumnsEditContainer","attributes","verticalAlignment","templateLock","registry","updateBlockAttributes","classes","blockProps","className","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","title","instructions","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<VStack spacing={ 4 } style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tupdateColumns( count, Math.max( minCount, value ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\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) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to override anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,12 @@ import { __, _x } from '@wordpress/i18n';
10
10
  import { useSelect } from '@wordpress/data';
11
11
  import { AlignmentControl, BlockControls, InspectorControls, useBlockProps } from '@wordpress/block-editor';
12
12
  import { store as coreStore } from '@wordpress/core-data';
13
- import { PanelBody, ToggleControl } from '@wordpress/components';
13
+ import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
14
19
 
15
20
  /**
16
21
  * Renders the `core/comment-author-name` block on the editor.
@@ -38,6 +43,7 @@ export default function Edit({
38
43
  },
39
44
  setAttributes
40
45
  }) {
46
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
41
47
  const blockProps = useBlockProps({
42
48
  className: clsx({
43
49
  [`has-text-align-${textAlign}`]: textAlign
@@ -67,22 +73,45 @@ export default function Edit({
67
73
  })
68
74
  });
69
75
  const inspectorControls = /*#__PURE__*/_jsx(InspectorControls, {
70
- children: /*#__PURE__*/_jsxs(PanelBody, {
71
- title: __('Settings'),
72
- children: [/*#__PURE__*/_jsx(ToggleControl, {
73
- __nextHasNoMarginBottom: true,
76
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
77
+ label: __('Settings'),
78
+ resetAll: () => {
79
+ setAttributes({
80
+ isLink: true,
81
+ linkTarget: '_self'
82
+ });
83
+ },
84
+ dropdownMenuProps: dropdownMenuProps,
85
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
74
86
  label: __('Link to authors URL'),
75
- onChange: () => setAttributes({
76
- isLink: !isLink
87
+ isShownByDefault: true,
88
+ hasValue: () => !isLink,
89
+ onDeselect: () => setAttributes({
90
+ isLink: true
77
91
  }),
78
- checked: isLink
79
- }), isLink && /*#__PURE__*/_jsx(ToggleControl, {
80
- __nextHasNoMarginBottom: true,
92
+ children: /*#__PURE__*/_jsx(ToggleControl, {
93
+ __nextHasNoMarginBottom: true,
94
+ label: __('Link to authors URL'),
95
+ onChange: () => setAttributes({
96
+ isLink: !isLink
97
+ }),
98
+ checked: isLink
99
+ })
100
+ }), isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
81
101
  label: __('Open in new tab'),
82
- onChange: value => setAttributes({
83
- linkTarget: value ? '_blank' : '_self'
102
+ isShownByDefault: true,
103
+ hasValue: () => linkTarget !== '_self',
104
+ onDeselect: () => setAttributes({
105
+ linkTarget: '_self'
84
106
  }),
85
- checked: linkTarget === '_blank'
107
+ children: /*#__PURE__*/_jsx(ToggleControl, {
108
+ __nextHasNoMarginBottom: true,
109
+ label: __('Open in new tab'),
110
+ onChange: value => setAttributes({
111
+ linkTarget: value ? '_blank' : '_self'
112
+ }),
113
+ checked: linkTarget === '_blank'
114
+ })
86
115
  })]
87
116
  })
88
117
  });
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_x","useSelect","AlignmentControl","BlockControls","InspectorControls","useBlockProps","store","coreStore","PanelBody","ToggleControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Edit","attributes","isLink","linkTarget","textAlign","context","commentId","setAttributes","blockProps","className","displayName","select","getEntityRecord","comment","authorName","author_name","_user$name","user","author","name","blockControls","group","children","value","onChange","newAlign","inspectorControls","title","__nextHasNoMarginBottom","label","checked","displayAuthor","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-author-name/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\n/**\n * Renders the `core/comment-author-name` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {string} props.attributes.linkTarget Target of the link.\n * @param {string} props.attributes.textAlign Text alignment.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { isLink, linkTarget, textAlign },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tlet displayName = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\t\tconst comment = getEntityRecord( 'root', 'comment', commentId );\n\t\t\tconst authorName = comment?.author_name; // eslint-disable-line camelcase\n\n\t\t\tif ( comment && ! authorName ) {\n\t\t\t\tconst user = getEntityRecord( 'root', 'user', comment.author );\n\t\t\t\treturn user?.name ?? __( 'Anonymous' );\n\t\t\t}\n\t\t\treturn authorName ?? '';\n\t\t},\n\t\t[ commentId ]\n\t);\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t\t{ isLink && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! displayName ) {\n\t\tdisplayName = _x( 'Comment Author', 'block title' );\n\t}\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#comment-author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\tdisplayName\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t{ blockControls }\n\t\t\t<div { ...blockProps }>{ displayAuthor }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_x","useSelect","AlignmentControl","BlockControls","InspectorControls","useBlockProps","store","coreStore","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Edit","attributes","isLink","linkTarget","textAlign","context","commentId","setAttributes","dropdownMenuProps","blockProps","className","displayName","select","getEntityRecord","comment","authorName","author_name","_user$name","user","author","name","blockControls","group","children","value","onChange","newAlign","inspectorControls","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","displayAuthor","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-author-name/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Renders the `core/comment-author-name` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {string} props.attributes.linkTarget Target of the link.\n * @param {string} props.attributes.textAlign Text alignment.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { isLink, linkTarget, textAlign },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tlet displayName = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\t\tconst comment = getEntityRecord( 'root', 'comment', commentId );\n\t\t\tconst authorName = comment?.author_name; // eslint-disable-line camelcase\n\n\t\t\tif ( comment && ! authorName ) {\n\t\t\t\tconst user = getEntityRecord( 'root', 'user', comment.author );\n\t\t\t\treturn user?.name ?? __( 'Anonymous' );\n\t\t\t}\n\t\t\treturn authorName ?? '';\n\t\t},\n\t\t[ commentId ]\n\t);\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ isLink && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! displayName ) {\n\t\tdisplayName = _x( 'Comment Author', 'block title' );\n\t}\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#comment-author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\tdisplayName\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t{ blockControls }\n\t\t\t<div { ...blockProps }>{ displayAuthor }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,9 +4,14 @@
4
4
  import { useEntityProp } from '@wordpress/core-data';
5
5
  import { dateI18n, humanTimeDiff, getSettings as getDateSettings } from '@wordpress/date';
6
6
  import { InspectorControls, useBlockProps, __experimentalDateFormatPicker as DateFormatPicker } from '@wordpress/block-editor';
7
- import { PanelBody, ToggleControl } from '@wordpress/components';
7
+ import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, ToggleControl } from '@wordpress/components';
8
8
  import { __, _x } from '@wordpress/i18n';
9
9
 
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
14
+
10
15
  /**
11
16
  * Renders the `core/comment-date` block on the editor.
12
17
  *
@@ -32,24 +37,48 @@ export default function Edit({
32
37
  setAttributes
33
38
  }) {
34
39
  const blockProps = useBlockProps();
40
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
35
41
  let [date] = useEntityProp('root', 'comment', 'date', commentId);
36
42
  const [siteFormat = getDateSettings().formats.date] = useEntityProp('root', 'site', 'date_format');
37
43
  const inspectorControls = /*#__PURE__*/_jsx(InspectorControls, {
38
- children: /*#__PURE__*/_jsxs(PanelBody, {
39
- title: __('Settings'),
40
- children: [/*#__PURE__*/_jsx(DateFormatPicker, {
41
- format: format,
42
- defaultFormat: siteFormat,
43
- onChange: nextFormat => setAttributes({
44
- format: nextFormat
44
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
45
+ label: __('Settings'),
46
+ resetAll: () => {
47
+ setAttributes({
48
+ format: undefined,
49
+ isLink: true
50
+ });
51
+ },
52
+ dropdownMenuProps: dropdownMenuProps,
53
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
54
+ label: __('Date format'),
55
+ hasValue: () => format !== undefined,
56
+ onDeselect: () => setAttributes({
57
+ format: undefined
58
+ }),
59
+ isShownByDefault: true,
60
+ children: /*#__PURE__*/_jsx(DateFormatPicker, {
61
+ format: format,
62
+ defaultFormat: siteFormat,
63
+ onChange: nextFormat => setAttributes({
64
+ format: nextFormat
65
+ })
45
66
  })
46
- }), /*#__PURE__*/_jsx(ToggleControl, {
47
- __nextHasNoMarginBottom: true,
67
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
48
68
  label: __('Link to comment'),
49
- onChange: () => setAttributes({
50
- isLink: !isLink
69
+ hasValue: () => !isLink,
70
+ onDeselect: () => setAttributes({
71
+ isLink: true
51
72
  }),
52
- checked: isLink
73
+ isShownByDefault: true,
74
+ children: /*#__PURE__*/_jsx(ToggleControl, {
75
+ __nextHasNoMarginBottom: true,
76
+ label: __('Link to comment'),
77
+ onChange: () => setAttributes({
78
+ isLink: !isLink
79
+ }),
80
+ checked: isLink
81
+ })
53
82
  })]
54
83
  })
55
84
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEntityProp","dateI18n","humanTimeDiff","getSettings","getDateSettings","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","PanelBody","ToggleControl","__","_x","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","date","siteFormat","formats","inspectorControls","children","title","defaultFormat","onChange","nextFormat","__nextHasNoMarginBottom","label","checked","commentDate","Date","dateTime","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-date/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Renders the `core/comment-date` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tlet [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DateFormatPicker\n\t\t\t\t\tformat={ format }\n\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\tdate = _x( 'Comment Date', 'block title' );\n\t}\n\n\tlet commentDate =\n\t\tdate instanceof Date ? (\n\t\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t\t{ format === 'human-diff'\n\t\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t\t</time>\n\t\t) : (\n\t\t\t<time>{ date }</time>\n\t\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,sBAAsB;AACpD,SACCC,QAAQ,EACRC,aAAa,EACbC,WAAW,IAAIC,eAAe,QACxB,iBAAiB;AACxB,SACCC,iBAAiB,EACjBC,aAAa,EACbC,8BAA8B,IAAIC,gBAAgB,QAC5C,yBAAyB;AAChC,SAASC,SAAS,EAAEC,aAAa,QAAQ,uBAAuB;AAChE,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAaA,eAAe,SAASC,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,MAAM;IAAEC;EAAO,CAAC;EAC9BC,OAAO,EAAE;IAAEC;EAAU,CAAC;EACtBC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGpB,aAAa,CAAC,CAAC;EAClC,IAAI,CAAEqB,IAAI,CAAE,GAAG3B,aAAa,CAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAEwB,SAAU,CAAC;EACpE,MAAM,CAAEI,UAAU,GAAGxB,eAAe,CAAC,CAAC,CAACyB,OAAO,CAACF,IAAI,CAAE,GAAG3B,aAAa,CACpE,MAAM,EACN,MAAM,EACN,aACD,CAAC;EAED,MAAM8B,iBAAiB,gBACtBhB,IAAA,CAACT,iBAAiB;IAAA0B,QAAA,eACjBf,KAAA,CAACP,SAAS;MAACuB,KAAK,EAAGrB,EAAE,CAAE,UAAW,CAAG;MAAAoB,QAAA,gBACpCjB,IAAA,CAACN,gBAAgB;QAChBa,MAAM,EAAGA,MAAQ;QACjBY,aAAa,EAAGL,UAAY;QAC5BM,QAAQ,EAAKC,UAAU,IACtBV,aAAa,CAAE;UAAEJ,MAAM,EAAEc;QAAW,CAAE;MACtC,CACD,CAAC,eACFrB,IAAA,CAACJ,aAAa;QACb0B,uBAAuB;QACvBC,KAAK,EAAG1B,EAAE,CAAE,iBAAkB,CAAG;QACjCuB,QAAQ,EAAGA,CAAA,KAAMT,aAAa,CAAE;UAAEH,MAAM,EAAE,CAAEA;QAAO,CAAE,CAAG;QACxDgB,OAAO,EAAGhB;MAAQ,CAClB,CAAC;IAAA,CACQ;EAAC,CACM,CACnB;EAED,IAAK,CAAEE,SAAS,IAAI,CAAEG,IAAI,EAAG;IAC5BA,IAAI,GAAGf,EAAE,CAAE,cAAc,EAAE,aAAc,CAAC;EAC3C;EAEA,IAAI2B,WAAW,GACdZ,IAAI,YAAYa,IAAI,gBACnB1B,IAAA;IAAM2B,QAAQ,EAAGxC,QAAQ,CAAE,GAAG,EAAE0B,IAAK,CAAG;IAAAI,QAAA,EACrCV,MAAM,KAAK,YAAY,GACtBnB,aAAa,CAAEyB,IAAK,CAAC,GACrB1B,QAAQ,CAAEoB,MAAM,IAAIO,UAAU,EAAED,IAAK;EAAC,CACpC,CAAC,gBAEPb,IAAA;IAAAiB,QAAA,EAAQJ;EAAI,CAAQ,CACpB;EAEF,IAAKL,MAAM,EAAG;IACbiB,WAAW,gBACVzB,IAAA;MACC4B,IAAI,EAAC,2BAA2B;MAChCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;MAAAd,QAAA,EAE7CQ;IAAW,CACX,CACH;EACF;EAEA,oBACCvB,KAAA,CAAAE,SAAA;IAAAa,QAAA,GACGD,iBAAiB,eACnBhB,IAAA;MAAA,GAAUY,UAAU;MAAAK,QAAA,EAAKQ;IAAW,CAAO,CAAC;EAAA,CAC3C,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["useEntityProp","dateI18n","humanTimeDiff","getSettings","getDateSettings","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ToggleControl","__","_x","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","dropdownMenuProps","date","siteFormat","formats","inspectorControls","children","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","defaultFormat","onChange","nextFormat","__nextHasNoMarginBottom","checked","commentDate","Date","dateTime","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-date/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Renders the `core/comment-date` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tlet [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Date format' ) }\n\t\t\t\t\thasValue={ () => format !== undefined }\n\t\t\t\t\tonDeselect={ () => setAttributes( { format: undefined } ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\tdate = _x( 'Comment Date', 'block title' );\n\t}\n\n\tlet commentDate =\n\t\tdate instanceof Date ? (\n\t\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t\t{ format === 'human-diff'\n\t\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t\t</time>\n\t\t) : (\n\t\t\t<time>{ date }</time>\n\t\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,sBAAsB;AACpD,SACCC,QAAQ,EACRC,aAAa,EACbC,WAAW,IAAIC,eAAe,QACxB,iBAAiB;AACxB,SACCC,iBAAiB,EACjBC,aAAa,EACbC,8BAA8B,IAAIC,gBAAgB,QAC5C,yBAAyB;AAChC,SACCC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,EAC9CC,aAAa,QACP,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;;AAExC;AACA;AACA;AACA,SAASC,8BAA8B,QAAQ,gBAAgB;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAaA,eAAe,SAASC,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,MAAM;IAAEC;EAAO,CAAC;EAC9BC,OAAO,EAAE;IAAEC;EAAU,CAAC;EACtBC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGxB,aAAa,CAAC,CAAC;EAClC,MAAMyB,iBAAiB,GAAGf,8BAA8B,CAAC,CAAC;EAE1D,IAAI,CAAEgB,IAAI,CAAE,GAAGhC,aAAa,CAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE4B,SAAU,CAAC;EACpE,MAAM,CAAEK,UAAU,GAAG7B,eAAe,CAAC,CAAC,CAAC8B,OAAO,CAACF,IAAI,CAAE,GAAGhC,aAAa,CACpE,MAAM,EACN,MAAM,EACN,aACD,CAAC;EAED,MAAMmC,iBAAiB,gBACtBjB,IAAA,CAACb,iBAAiB;IAAA+B,QAAA,eACjBhB,KAAA,CAACV,UAAU;MACV2B,KAAK,EAAGvB,EAAE,CAAE,UAAW,CAAG;MAC1BwB,QAAQ,EAAGA,CAAA,KAAM;QAChBT,aAAa,CAAE;UACdJ,MAAM,EAAEc,SAAS;UACjBb,MAAM,EAAE;QACT,CAAE,CAAC;MACJ,CAAG;MACHK,iBAAiB,EAAGA,iBAAmB;MAAAK,QAAA,gBAEvClB,IAAA,CAACN,cAAc;QACdyB,KAAK,EAAGvB,EAAE,CAAE,aAAc,CAAG;QAC7B0B,QAAQ,EAAGA,CAAA,KAAMf,MAAM,KAAKc,SAAW;QACvCE,UAAU,EAAGA,CAAA,KAAMZ,aAAa,CAAE;UAAEJ,MAAM,EAAEc;QAAU,CAAE,CAAG;QAC3DG,gBAAgB;QAAAN,QAAA,eAEhBlB,IAAA,CAACV,gBAAgB;UAChBiB,MAAM,EAAGA,MAAQ;UACjBkB,aAAa,EAAGV,UAAY;UAC5BW,QAAQ,EAAKC,UAAU,IACtBhB,aAAa,CAAE;YAAEJ,MAAM,EAAEoB;UAAW,CAAE;QACtC,CACD;MAAC,CACa,CAAC,eAEjB3B,IAAA,CAACN,cAAc;QACdyB,KAAK,EAAGvB,EAAE,CAAE,iBAAkB,CAAG;QACjC0B,QAAQ,EAAGA,CAAA,KAAM,CAAEd,MAAQ;QAC3Be,UAAU,EAAGA,CAAA,KAAMZ,aAAa,CAAE;UAAEH,MAAM,EAAE;QAAK,CAAE,CAAG;QACtDgB,gBAAgB;QAAAN,QAAA,eAEhBlB,IAAA,CAACL,aAAa;UACbiC,uBAAuB;UACvBT,KAAK,EAAGvB,EAAE,CAAE,iBAAkB,CAAG;UACjC8B,QAAQ,EAAGA,CAAA,KAAMf,aAAa,CAAE;YAAEH,MAAM,EAAE,CAAEA;UAAO,CAAE,CAAG;UACxDqB,OAAO,EAAGrB;QAAQ,CAClB;MAAC,CACa,CAAC;IAAA,CACN;EAAC,CACK,CACnB;EAED,IAAK,CAAEE,SAAS,IAAI,CAAEI,IAAI,EAAG;IAC5BA,IAAI,GAAGjB,EAAE,CAAE,cAAc,EAAE,aAAc,CAAC;EAC3C;EAEA,IAAIiC,WAAW,GACdhB,IAAI,YAAYiB,IAAI,gBACnB/B,IAAA;IAAMgC,QAAQ,EAAGjD,QAAQ,CAAE,GAAG,EAAE+B,IAAK,CAAG;IAAAI,QAAA,EACrCX,MAAM,KAAK,YAAY,GACtBvB,aAAa,CAAE8B,IAAK,CAAC,GACrB/B,QAAQ,CAAEwB,MAAM,IAAIQ,UAAU,EAAED,IAAK;EAAC,CACpC,CAAC,gBAEPd,IAAA;IAAAkB,QAAA,EAAQJ;EAAI,CAAQ,CACpB;EAEF,IAAKN,MAAM,EAAG;IACbsB,WAAW,gBACV9B,IAAA;MACCiC,IAAI,EAAC,2BAA2B;MAChCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;MAAAlB,QAAA,EAE7CY;IAAW,CACX,CACH;EACF;EAEA,oBACC5B,KAAA,CAAAE,SAAA;IAAAc,QAAA,GACGD,iBAAiB,eACnBjB,IAAA;MAAA,GAAUY,UAAU;MAAAM,QAAA,EAAKY;IAAW,CAAO,CAAC;EAAA,CAC3C,CAAC;AAEL","ignoreList":[]}
@@ -7,8 +7,13 @@ import clsx from 'clsx';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { AlignmentControl, BlockControls, InspectorControls, useBlockProps } from '@wordpress/block-editor';
10
- import { PanelBody, ToggleControl } from '@wordpress/components';
10
+ import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
11
11
  import { __ } from '@wordpress/i18n';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
12
17
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
18
  export default function Edit({
14
19
  attributes: {
@@ -22,6 +27,7 @@ export default function Edit({
22
27
  [`has-text-align-${textAlign}`]: textAlign
23
28
  })
24
29
  });
30
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
25
31
  const blockControls = /*#__PURE__*/_jsx(BlockControls, {
26
32
  group: "block",
27
33
  children: /*#__PURE__*/_jsx(AlignmentControl, {
@@ -32,15 +38,29 @@ export default function Edit({
32
38
  })
33
39
  });
34
40
  const inspectorControls = /*#__PURE__*/_jsx(InspectorControls, {
35
- children: /*#__PURE__*/_jsx(PanelBody, {
36
- title: __('Settings'),
37
- children: /*#__PURE__*/_jsx(ToggleControl, {
38
- __nextHasNoMarginBottom: true,
41
+ children: /*#__PURE__*/_jsx(ToolsPanel, {
42
+ label: __('Settings'),
43
+ resetAll: () => {
44
+ setAttributes({
45
+ linkTarget: '_self'
46
+ });
47
+ },
48
+ dropdownMenuProps: dropdownMenuProps,
49
+ children: /*#__PURE__*/_jsx(ToolsPanelItem, {
39
50
  label: __('Open in new tab'),
40
- onChange: value => setAttributes({
41
- linkTarget: value ? '_blank' : '_self'
51
+ isShownByDefault: true,
52
+ hasValue: () => linkTarget === '_blank',
53
+ onDeselect: () => setAttributes({
54
+ linkTarget: '_self'
42
55
  }),
43
- checked: linkTarget === '_blank'
56
+ children: /*#__PURE__*/_jsx(ToggleControl, {
57
+ __nextHasNoMarginBottom: true,
58
+ label: __('Open in new tab'),
59
+ onChange: value => setAttributes({
60
+ linkTarget: value ? '_blank' : '_self'
61
+ }),
62
+ checked: linkTarget === '_blank'
63
+ })
44
64
  })
45
65
  })
46
66
  });
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","useBlockProps","PanelBody","ToggleControl","__","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Edit","attributes","linkTarget","textAlign","setAttributes","blockProps","className","blockControls","group","children","value","onChange","newAlign","inspectorControls","title","__nextHasNoMarginBottom","label","checked","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-edit-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes: { linkTarget, textAlign },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref=\"#edit-comment-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,gBAAgB,EAChBC,aAAa,EACbC,iBAAiB,EACjBC,aAAa,QACP,yBAAyB;AAChC,SAASC,SAAS,EAAEC,aAAa,QAAQ,uBAAuB;AAChE,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,eAAe,SAASC,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,UAAU;IAAEC;EAAU,CAAC;EACrCC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGf,aAAa,CAAE;IACjCgB,SAAS,EAAEpB,IAAI,CAAE;MAChB,CAAE,kBAAmBiB,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,MAAMI,aAAa,gBAClBZ,IAAA,CAACP,aAAa;IAACoB,KAAK,EAAC,OAAO;IAAAC,QAAA,eAC3Bd,IAAA,CAACR,gBAAgB;MAChBuB,KAAK,EAAGP,SAAW;MACnBQ,QAAQ,EAAKC,QAAQ,IACpBR,aAAa,CAAE;QAAED,SAAS,EAAES;MAAS,CAAE;IACvC,CACD;EAAC,CACY,CACf;EACD,MAAMC,iBAAiB,gBACtBlB,IAAA,CAACN,iBAAiB;IAAAoB,QAAA,eACjBd,IAAA,CAACJ,SAAS;MAACuB,KAAK,EAAGrB,EAAE,CAAE,UAAW,CAAG;MAAAgB,QAAA,eACpCd,IAAA,CAACH,aAAa;QACbuB,uBAAuB;QACvBC,KAAK,EAAGvB,EAAE,CAAE,iBAAkB,CAAG;QACjCkB,QAAQ,EAAKD,KAAK,IACjBN,aAAa,CAAE;UACdF,UAAU,EAAEQ,KAAK,GAAG,QAAQ,GAAG;QAChC,CAAE,CACF;QACDO,OAAO,EAAGf,UAAU,KAAK;MAAU,CACnC;IAAC,CACQ;EAAC,CACM,CACnB;EAED,oBACCH,KAAA,CAAAF,SAAA;IAAAY,QAAA,GACGF,aAAa,EACbM,iBAAiB,eACnBlB,IAAA;MAAA,GAAUU,UAAU;MAAAI,QAAA,eACnBd,IAAA;QACCuB,IAAI,EAAC,2BAA2B;QAChCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;QAAAZ,QAAA,EAE7ChB,EAAE,CAAE,MAAO;MAAC,CACZ;IAAC,CACA,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","useBlockProps","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Edit","attributes","linkTarget","textAlign","setAttributes","blockProps","className","dropdownMenuProps","blockControls","group","children","value","onChange","newAlign","inspectorControls","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/comment-edit-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function Edit( {\n\tattributes: { linkTarget, textAlign },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t}\n\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={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref=\"#edit-comment-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,gBAAgB,EAChBC,aAAa,EACbC,iBAAiB,EACjBC,aAAa,QACP,yBAAyB;AAChC,SACCC,aAAa,EACbC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,8BAA8B,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEhE,eAAe,SAASC,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,UAAU;IAAEC;EAAU,CAAC;EACrCC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGnB,aAAa,CAAE;IACjCoB,SAAS,EAAExB,IAAI,CAAE;MAChB,CAAE,kBAAmBqB,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,MAAMI,iBAAiB,GAAGd,8BAA8B,CAAC,CAAC;EAE1D,MAAMe,aAAa,gBAClBb,IAAA,CAACX,aAAa;IAACyB,KAAK,EAAC,OAAO;IAAAC,QAAA,eAC3Bf,IAAA,CAACZ,gBAAgB;MAChB4B,KAAK,EAAGR,SAAW;MACnBS,QAAQ,EAAKC,QAAQ,IACpBT,aAAa,CAAE;QAAED,SAAS,EAAEU;MAAS,CAAE;IACvC,CACD;EAAC,CACY,CACf;EACD,MAAMC,iBAAiB,gBACtBnB,IAAA,CAACV,iBAAiB;IAAAyB,QAAA,eACjBf,IAAA,CAACN,UAAU;MACV0B,KAAK,EAAGvB,EAAE,CAAE,UAAW,CAAG;MAC1BwB,QAAQ,EAAGA,CAAA,KAAM;QAChBZ,aAAa,CAAE;UACdF,UAAU,EAAE;QACb,CAAE,CAAC;MACJ,CAAG;MACHK,iBAAiB,EAAGA,iBAAmB;MAAAG,QAAA,eAEvCf,IAAA,CAACJ,cAAc;QACdwB,KAAK,EAAGvB,EAAE,CAAE,iBAAkB,CAAG;QACjCyB,gBAAgB;QAChBC,QAAQ,EAAGA,CAAA,KAAMhB,UAAU,KAAK,QAAU;QAC1CiB,UAAU,EAAGA,CAAA,KACZf,aAAa,CAAE;UAAEF,UAAU,EAAE;QAAQ,CAAE,CACvC;QAAAQ,QAAA,eAEDf,IAAA,CAACR,aAAa;UACbiC,uBAAuB;UACvBL,KAAK,EAAGvB,EAAE,CAAE,iBAAkB,CAAG;UACjCoB,QAAQ,EAAKD,KAAK,IACjBP,aAAa,CAAE;YACdF,UAAU,EAAES,KAAK,GAAG,QAAQ,GAAG;UAChC,CAAE,CACF;UACDU,OAAO,EAAGnB,UAAU,KAAK;QAAU,CACnC;MAAC,CACa;IAAC,CACN;EAAC,CACK,CACnB;EAED,oBACCH,KAAA,CAAAF,SAAA;IAAAa,QAAA,GACGF,aAAa,EACbM,iBAAiB,eACnBnB,IAAA;MAAA,GAAUU,UAAU;MAAAK,QAAA,eACnBf,IAAA;QACC2B,IAAI,EAAC,2BAA2B;QAChCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;QAAAf,QAAA,EAE7ClB,EAAE,CAAE,MAAO;MAAC,CACZ;IAAC,CACA,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
@@ -16,8 +16,7 @@ export default function CommentsInspectorControls({
16
16
  attributes: {
17
17
  tagName
18
18
  },
19
- setAttributes,
20
- clientId
19
+ setAttributes
21
20
  }) {
22
21
  return /*#__PURE__*/_jsx(InspectorControls, {
23
22
  children: /*#__PURE__*/_jsx(InspectorControls, {
@@ -27,7 +26,6 @@ export default function CommentsInspectorControls({
27
26
  onChange: value => setAttributes({
28
27
  tagName: value
29
28
  }),
30
- clientId: clientId,
31
29
  options: [{
32
30
  label: __('Default (<div>)'),
33
31
  value: 'div'
@@ -1 +1 @@
1
- {"version":3,"names":["__","InspectorControls","privateApis","blockEditorPrivateApis","unlock","jsx","_jsx","HTMLElementControl","CommentsInspectorControls","attributes","tagName","setAttributes","clientId","children","group","onChange","value","options","label"],"sources":["@wordpress/block-library/src/comments/edit/comments-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nexport default function CommentsInspectorControls( {\n\tattributes: { tagName },\n\tsetAttributes,\n\tclientId,\n} ) {\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,iBAAiB,EACjBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;;AAEhC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAM;EAAEC;AAAmB,CAAC,GAAGH,MAAM,CAAED,sBAAuB,CAAC;AAE/D,eAAe,SAASK,yBAAyBA,CAAE;EAClDC,UAAU,EAAE;IAAEC;EAAQ,CAAC;EACvBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,oBACCN,IAAA,CAACL,iBAAiB;IAAAY,QAAA,eACjBP,IAAA,CAACL,iBAAiB;MAACa,KAAK,EAAC,UAAU;MAAAD,QAAA,eAClCP,IAAA,CAACC,kBAAkB;QAClBG,OAAO,EAAGA,OAAS;QACnBK,QAAQ,EAAKC,KAAK,IACjBL,aAAa,CAAE;UAAED,OAAO,EAAEM;QAAM,CAAE,CAClC;QACDJ,QAAQ,EAAGA,QAAU;QACrBK,OAAO,EAAG,CACT;UAAEC,KAAK,EAAElB,EAAE,CAAE,iBAAkB,CAAC;UAAEgB,KAAK,EAAE;QAAM,CAAC,EAChD;UAAEE,KAAK,EAAE,WAAW;UAAEF,KAAK,EAAE;QAAU,CAAC,EACxC;UAAEE,KAAK,EAAE,SAAS;UAAEF,KAAK,EAAE;QAAQ,CAAC;MAClC,CACH;IAAC,CACgB;EAAC,CACF,CAAC;AAEtB","ignoreList":[]}
1
+ {"version":3,"names":["__","InspectorControls","privateApis","blockEditorPrivateApis","unlock","jsx","_jsx","HTMLElementControl","CommentsInspectorControls","attributes","tagName","setAttributes","children","group","onChange","value","options","label"],"sources":["@wordpress/block-library/src/comments/edit/comments-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nexport default function CommentsInspectorControls( {\n\tattributes: { tagName },\n\tsetAttributes,\n} ) {\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,iBAAiB,EACjBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;;AAEhC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAM;EAAEC;AAAmB,CAAC,GAAGH,MAAM,CAAED,sBAAuB,CAAC;AAE/D,eAAe,SAASK,yBAAyBA,CAAE;EAClDC,UAAU,EAAE;IAAEC;EAAQ,CAAC;EACvBC;AACD,CAAC,EAAG;EACH,oBACCL,IAAA,CAACL,iBAAiB;IAAAW,QAAA,eACjBN,IAAA,CAACL,iBAAiB;MAACY,KAAK,EAAC,UAAU;MAAAD,QAAA,eAClCN,IAAA,CAACC,kBAAkB;QAClBG,OAAO,EAAGA,OAAS;QACnBI,QAAQ,EAAKC,KAAK,IACjBJ,aAAa,CAAE;UAAED,OAAO,EAAEK;QAAM,CAAE,CAClC;QACDC,OAAO,EAAG,CACT;UAAEC,KAAK,EAAEjB,EAAE,CAAE,iBAAkB,CAAC;UAAEe,KAAK,EAAE;QAAM,CAAC,EAChD;UAAEE,KAAK,EAAE,WAAW;UAAEF,KAAK,EAAE;QAAU,CAAC,EACxC;UAAEE,KAAK,EAAE,SAAS;UAAEF,KAAK,EAAE;QAAQ,CAAC;MAClC,CACH;IAAC,CACgB;EAAC,CACF,CAAC;AAEtB","ignoreList":[]}
@@ -4,12 +4,13 @@
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import { InspectorControls, useBlockProps, useInnerBlocksProps, store as blockEditorStore, Warning } from '@wordpress/block-editor';
6
6
  import { useSelect } from '@wordpress/data';
7
- import { PanelBody } from '@wordpress/components';
7
+ import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
12
  import { CommentsPaginationArrowControls } from './comments-pagination-arrow-controls';
13
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
13
14
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const TEMPLATE = [['core/comments-pagination-previous'], ['core/comments-pagination-numbers'], ['core/comments-pagination-next']];
15
16
  export default function QueryPaginationEdit({
@@ -34,6 +35,7 @@ export default function QueryPaginationEdit({
34
35
  });
35
36
  }, []);
36
37
  const blockProps = useBlockProps();
38
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
37
39
  const innerBlocksProps = useInnerBlocksProps(blockProps, {
38
40
  template: TEMPLATE
39
41
  });
@@ -59,15 +61,27 @@ export default function QueryPaginationEdit({
59
61
  }
60
62
  return /*#__PURE__*/_jsxs(_Fragment, {
61
63
  children: [hasNextPreviousBlocks && /*#__PURE__*/_jsx(InspectorControls, {
62
- children: /*#__PURE__*/_jsx(PanelBody, {
63
- title: __('Settings'),
64
- children: /*#__PURE__*/_jsx(CommentsPaginationArrowControls, {
65
- value: paginationArrow,
66
- onChange: value => {
67
- setAttributes({
68
- paginationArrow: value
69
- });
70
- }
64
+ children: /*#__PURE__*/_jsx(ToolsPanel, {
65
+ label: __('Settings'),
66
+ dropdownMenuProps: dropdownMenuProps,
67
+ resetAll: () => setAttributes({
68
+ paginationArrow: 'none'
69
+ }),
70
+ children: /*#__PURE__*/_jsx(ToolsPanelItem, {
71
+ label: __('Arrow'),
72
+ hasValue: () => paginationArrow !== 'none',
73
+ onDeselect: () => setAttributes({
74
+ paginationArrow: 'none'
75
+ }),
76
+ isShownByDefault: true,
77
+ children: /*#__PURE__*/_jsx(CommentsPaginationArrowControls, {
78
+ value: paginationArrow,
79
+ onChange: value => {
80
+ setAttributes({
81
+ paginationArrow: value
82
+ });
83
+ }
84
+ })
71
85
  })
72
86
  })
73
87
  }), /*#__PURE__*/_jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["__","InspectorControls","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Warning","useSelect","PanelBody","CommentsPaginationArrowControls","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TEMPLATE","QueryPaginationEdit","attributes","paginationArrow","setAttributes","clientId","hasNextPreviousBlocks","select","getBlocks","innerBlocks","find","innerBlock","includes","name","blockProps","innerBlocksProps","template","pageComments","getSettings","__experimentalDiscussionSettings","children","title","value","onChange"],"sources":["@wordpress/block-library/src/comments-pagination/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { CommentsPaginationArrowControls } from './comments-pagination-arrow-controls';\n\nconst TEMPLATE = [\n\t[ 'core/comments-pagination-previous' ],\n\t[ 'core/comments-pagination-numbers' ],\n\t[ 'core/comments-pagination-next' ],\n];\n\nexport default function QueryPaginationEdit( {\n\tattributes: { paginationArrow },\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst hasNextPreviousBlocks = useSelect( ( select ) => {\n\t\tconst { getBlocks } = select( blockEditorStore );\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\t/**\n\t\t * Show the `paginationArrow` control only if a\n\t\t * Comments Pagination Next or Comments Pagination Previous\n\t\t * block exists.\n\t\t */\n\t\treturn innerBlocks?.find( ( innerBlock ) => {\n\t\t\treturn [\n\t\t\t\t'core/comments-pagination-previous',\n\t\t\t\t'core/comments-pagination-next',\n\t\t\t].includes( innerBlock.name );\n\t\t} );\n\t}, [] );\n\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\t// Get the Discussion settings\n\tconst pageComments = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings?.pageComments;\n\t}, [] );\n\n\t// If paging comments is not enabled in the Discussion Settings then hide the pagination\n\t// controls. We don't want to remove them from the template so that when the user enables\n\t// paging comments, the controls will be visible.\n\tif ( ! pageComments ) {\n\t\treturn (\n\t\t\t<Warning>\n\t\t\t\t{ __(\n\t\t\t\t\t'Comments Pagination block: paging comments is disabled in the Discussion Settings'\n\t\t\t\t) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ hasNextPreviousBlocks && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<CommentsPaginationArrowControls\n\t\t\t\t\t\t\tvalue={ paginationArrow }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { paginationArrow: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,iBAAiB,EACjBC,aAAa,EACbC,mBAAmB,EACnBC,KAAK,IAAIC,gBAAgB,EACzBC,OAAO,QACD,yBAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,uBAAuB;;AAEjD;AACA;AACA;AACA,SAASC,+BAA+B,QAAQ,sCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvF,MAAMC,QAAQ,GAAG,CAChB,CAAE,mCAAmC,CAAE,EACvC,CAAE,kCAAkC,CAAE,EACtC,CAAE,+BAA+B,CAAE,CACnC;AAED,eAAe,SAASC,mBAAmBA,CAAE;EAC5CC,UAAU,EAAE;IAAEC;EAAgB,CAAC;EAC/BC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMC,qBAAqB,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IACtD,MAAM;MAAEC;IAAU,CAAC,GAAGD,MAAM,CAAElB,gBAAiB,CAAC;IAChD,MAAMoB,WAAW,GAAGD,SAAS,CAAEH,QAAS,CAAC;IACzC;AACF;AACA;AACA;AACA;IACE,OAAOI,WAAW,EAAEC,IAAI,CAAIC,UAAU,IAAM;MAC3C,OAAO,CACN,mCAAmC,EACnC,+BAA+B,CAC/B,CAACC,QAAQ,CAAED,UAAU,CAACE,IAAK,CAAC;IAC9B,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,UAAU,GAAG5B,aAAa,CAAC,CAAC;EAClC,MAAM6B,gBAAgB,GAAG5B,mBAAmB,CAAE2B,UAAU,EAAE;IACzDE,QAAQ,EAAEhB;EACX,CAAE,CAAC;;EAEH;EACA,MAAMiB,YAAY,GAAG1B,SAAS,CAAIgB,MAAM,IAAM;IAC7C,MAAM;MAAEW;IAAY,CAAC,GAAGX,MAAM,CAAElB,gBAAiB,CAAC;IAClD,MAAM;MAAE8B;IAAiC,CAAC,GAAGD,WAAW,CAAC,CAAC;IAC1D,OAAOC,gCAAgC,EAAEF,YAAY;EACtD,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA;EACA;EACA,IAAK,CAAEA,YAAY,EAAG;IACrB,oBACCtB,IAAA,CAACL,OAAO;MAAA8B,QAAA,EACLpC,EAAE,CACH,mFACD;IAAC,CACO,CAAC;EAEZ;EAEA,oBACCe,KAAA,CAAAF,SAAA;IAAAuB,QAAA,GACGd,qBAAqB,iBACtBX,IAAA,CAACV,iBAAiB;MAAAmC,QAAA,eACjBzB,IAAA,CAACH,SAAS;QAAC6B,KAAK,EAAGrC,EAAE,CAAE,UAAW,CAAG;QAAAoC,QAAA,eACpCzB,IAAA,CAACF,+BAA+B;UAC/B6B,KAAK,EAAGnB,eAAiB;UACzBoB,QAAQ,EAAKD,KAAK,IAAM;YACvBlB,aAAa,CAAE;cAAED,eAAe,EAAEmB;YAAM,CAAE,CAAC;UAC5C;QAAG,CACH;MAAC,CACQ;IAAC,CACM,CACnB,eACD3B,IAAA;MAAA,GAAUoB;IAAgB,CAAI,CAAC;EAAA,CAC9B,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["__","InspectorControls","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Warning","useSelect","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","CommentsPaginationArrowControls","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TEMPLATE","QueryPaginationEdit","attributes","paginationArrow","setAttributes","clientId","hasNextPreviousBlocks","select","getBlocks","innerBlocks","find","innerBlock","includes","name","blockProps","dropdownMenuProps","innerBlocksProps","template","pageComments","getSettings","__experimentalDiscussionSettings","children","label","resetAll","hasValue","onDeselect","isShownByDefault","value","onChange"],"sources":["@wordpress/block-library/src/comments-pagination/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { CommentsPaginationArrowControls } from './comments-pagination-arrow-controls';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst TEMPLATE = [\n\t[ 'core/comments-pagination-previous' ],\n\t[ 'core/comments-pagination-numbers' ],\n\t[ 'core/comments-pagination-next' ],\n];\n\nexport default function QueryPaginationEdit( {\n\tattributes: { paginationArrow },\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst hasNextPreviousBlocks = useSelect( ( select ) => {\n\t\tconst { getBlocks } = select( blockEditorStore );\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\t/**\n\t\t * Show the `paginationArrow` control only if a\n\t\t * Comments Pagination Next or Comments Pagination Previous\n\t\t * block exists.\n\t\t */\n\t\treturn innerBlocks?.find( ( innerBlock ) => {\n\t\t\treturn [\n\t\t\t\t'core/comments-pagination-previous',\n\t\t\t\t'core/comments-pagination-next',\n\t\t\t].includes( innerBlock.name );\n\t\t} );\n\t}, [] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\t// Get the Discussion settings\n\tconst pageComments = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings?.pageComments;\n\t}, [] );\n\n\t// If paging comments is not enabled in the Discussion Settings then hide the pagination\n\t// controls. We don't want to remove them from the template so that when the user enables\n\t// paging comments, the controls will be visible.\n\tif ( ! pageComments ) {\n\t\treturn (\n\t\t\t<Warning>\n\t\t\t\t{ __(\n\t\t\t\t\t'Comments Pagination block: paging comments is disabled in the Discussion Settings'\n\t\t\t\t) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ hasNextPreviousBlocks && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\t\tsetAttributes( { paginationArrow: 'none' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\t\t\t\t\thasValue={ () => paginationArrow !== 'none' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { paginationArrow: 'none' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CommentsPaginationArrowControls\n\t\t\t\t\t\t\t\tvalue={ paginationArrow }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { paginationArrow: value } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}