@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.
- package/CHANGELOG.md +2 -0
- package/build/button/edit.js +29 -17
- package/build/button/edit.js.map +1 -1
- package/build/columns/edit.js +18 -22
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-name/edit.js +41 -12
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-date/edit.js +41 -12
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +27 -7
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +1 -3
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-pagination/edit.js +23 -9
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-title/edit.js +41 -12
- package/build/comments-title/edit.js.map +1 -1
- package/build/details/edit.js +27 -3
- package/build/details/edit.js.map +1 -1
- package/build/embed/edit.js +2 -4
- package/build/embed/edit.js.map +1 -1
- package/build/embed/embed-controls.js +41 -22
- package/build/embed/embed-controls.js.map +1 -1
- package/build/file/inspector.js +73 -30
- package/build/file/inspector.js.map +1 -1
- package/build/form/edit.js +67 -37
- package/build/form/edit.js.map +1 -1
- package/build/form-input/edit.js +47 -18
- package/build/form-input/edit.js.map +1 -1
- package/build/latest-posts/edit.js +154 -82
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +131 -52
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/navigation/edit/index.js +93 -51
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +43 -27
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation-link/index.js +3 -0
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +2 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +1 -0
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/index.js +3 -0
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/post-comments-count/index.js +3 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-count/transforms.js +26 -0
- package/build/post-comments-count/transforms.js.map +1 -0
- package/build/post-comments-link/index.js +3 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-comments-link/transforms.js +26 -0
- package/build/post-comments-link/transforms.js.map +1 -0
- package/build/post-title/edit.js +56 -18
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +1 -1
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/rss/edit.js +120 -46
- package/build/rss/edit.js.map +1 -1
- package/build/separator/edit.js +52 -20
- package/build/separator/edit.js.map +1 -1
- package/build/shortcode/index.js +2 -1
- package/build/shortcode/index.js.map +1 -1
- package/build/social-link/variations.js +53 -48
- package/build/social-link/variations.js.map +1 -1
- package/build/social-links/edit.js +35 -45
- package/build/social-links/edit.js.map +1 -1
- package/build/video/tracks-editor.js +40 -12
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/button/edit.js +30 -18
- package/build-module/button/edit.js.map +1 -1
- package/build-module/columns/edit.js +18 -22
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-name/edit.js +42 -13
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-date/edit.js +42 -13
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +28 -8
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +1 -3
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-pagination/edit.js +24 -10
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-title/edit.js +42 -13
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/details/edit.js +29 -5
- package/build-module/details/edit.js.map +1 -1
- package/build-module/embed/edit.js +2 -4
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/embed-controls.js +42 -23
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/file/inspector.js +74 -31
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/form/edit.js +68 -38
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form-input/edit.js +48 -19
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +155 -83
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +132 -53
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/navigation/edit/index.js +94 -52
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation-link/index.js +3 -0
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +2 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +1 -0
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/index.js +3 -0
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/post-comments-count/index.js +3 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-count/transforms.js +19 -0
- package/build-module/post-comments-count/transforms.js.map +1 -0
- package/build-module/post-comments-link/index.js +3 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-comments-link/transforms.js +19 -0
- package/build-module/post-comments-link/transforms.js.map +1 -0
- package/build-module/post-title/edit.js +57 -19
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/rss/edit.js +121 -47
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/separator/edit.js +54 -22
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/shortcode/index.js +2 -1
- package/build-module/shortcode/index.js.map +1 -1
- package/build-module/social-link/variations.js +53 -48
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/social-links/edit.js +37 -47
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +41 -13
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/editor-rtl.css +9 -4
- package/build-style/editor.css +9 -4
- package/build-style/gallery/style-rtl.css +1 -0
- package/build-style/gallery/style.css +1 -0
- package/build-style/navigation/editor-rtl.css +8 -3
- package/build-style/navigation/editor.css +8 -3
- package/build-style/pullquote/editor-rtl.css +1 -1
- package/build-style/pullquote/editor.css +1 -1
- package/build-style/pullquote/style-rtl.css +2 -3
- package/build-style/pullquote/style.css +2 -3
- package/build-style/pullquote/theme-rtl.css +2 -2
- package/build-style/pullquote/theme.css +2 -2
- package/build-style/style-rtl.css +3 -3
- package/build-style/style.css +3 -3
- package/build-style/theme-rtl.css +2 -2
- package/build-style/theme.css +2 -2
- package/package.json +35 -35
- package/src/button/edit.js +44 -29
- package/src/columns/edit.js +20 -31
- package/src/comment-author-name/edit.js +54 -13
- package/src/comment-date/edit.js +50 -15
- package/src/comment-edit-link/edit.js +39 -11
- package/src/comments/edit/comments-inspector-controls.js +0 -2
- package/src/comments-pagination/edit.js +29 -9
- package/src/comments-title/edit.js +53 -15
- package/src/details/edit.js +36 -4
- package/src/embed/edit.js +3 -5
- package/src/embed/embed-controls.js +55 -33
- package/src/file/inspector.js +99 -45
- package/src/form/edit.js +91 -46
- package/src/form-input/edit.js +56 -18
- package/src/gallery/style.scss +1 -0
- package/src/latest-posts/edit.js +206 -98
- package/src/list/ordered-list-settings.js +172 -62
- package/src/navigation/edit/index.js +127 -64
- package/src/navigation/edit/overlay-menu-preview.js +43 -26
- package/src/navigation/editor.scss +8 -4
- package/src/navigation-link/block.json +3 -0
- package/src/navigation-link/index.php +4 -0
- package/src/navigation-link/transforms.js +2 -1
- package/src/navigation-link/update-attributes.js +1 -0
- package/src/navigation-submenu/block.json +3 -0
- package/src/navigation-submenu/index.php +4 -0
- package/src/post-comments-count/index.js +2 -0
- package/src/post-comments-count/transforms.js +20 -0
- package/src/post-comments-link/index.js +2 -0
- package/src/post-comments-link/transforms.js +20 -0
- package/src/post-title/edit.js +76 -24
- package/src/pullquote/editor.scss +1 -1
- package/src/pullquote/style.scss +2 -3
- package/src/pullquote/theme.scss +2 -2
- package/src/query/edit/enhanced-pagination-modal.js +1 -5
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
- package/src/rss/edit.js +141 -55
- package/src/separator/edit.js +66 -21
- package/src/shortcode/block.json +2 -1
- package/src/site-title/index.php +1 -1
- package/src/social-link/index.php +49 -49
- package/src/social-link/variations.js +53 -48
- package/src/social-links/edit.js +39 -60
- 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":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,MAAM,EACNC,YAAY,EACZC,aAAa,EACbC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,EAC9CC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAE9B,SACCC,iBAAiB,EACjBC,mBAAmB,EACnBC,aAAa,EACbC,6BAA6B,EAC7BC,kCAAkC,EAClCC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,WAAW,EAAEC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACrE,SACCC,WAAW,EACXC,mCAAmC,EACnCN,KAAK,IAAIO,WAAW,QACd,mBAAmB;;AAE1B;AACA;AACA;AACA,SACCC,8BAA8B,EAC9BC,qBAAqB,EACrBC,4BAA4B,EAC5BC,gBAAgB,QACV,SAAS;AAChB,SAASC,8BAA8B,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEhE,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE;AACP,CAAC;AAED,SAASC,uBAAuBA,CAAE;EACjCC,QAAQ;EACRC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,KAAK;IAAEC,oBAAoB;IAAEC;EAAS,CAAC,GAAGxB,SAAS,CACxDyB,MAAM,IAAM;IACb,MAAM;MAAEC,kBAAkB;MAAEC,cAAc;MAAEC;IAAc,CAAC,GAC1DH,MAAM,CAAE3B,gBAAiB,CAAC;IAC3B,MAAM+B,UAAU,GAAGD,aAAa,CAAET,QAAS,CAAC;;IAE5C;IACA;IACA,MAAMW,0BAA0B,GAAGD,UAAU,CAACE,MAAM,CACnD,CAAEC,GAAG,EAAEC,OAAO,EAAEC,KAAK,KAAM;MAC1B,IAAK,CAAEP,cAAc,CAAEM,OAAQ,CAAC,EAAG;QAClCD,GAAG,CAACG,IAAI,CAAED,KAAM,CAAC;MAClB;MACA,OAAOF,GAAG;IACX,CAAC,EACD,EACD,CAAC;IAED,OAAO;MACNV,KAAK,EAAEO,UAAU,CAACO,MAAM;MACxBb,oBAAoB,EAAEG,kBAAkB,CACvC,aAAa,EACbP,QACD,CAAC;MACDK,QAAQ,EAAEa,IAAI,CAACC,GAAG,CAAE,GAAGR,0BAA2B,CAAC,GAAG;IACvD,CAAC;EACF,CAAC,EACD,CAAEX,QAAQ,CACX,CAAC;EACD,MAAM;IAAEoB;EAAU,CAAC,GAAGvC,SAAS,CAAEF,gBAAiB,CAAC;EACnD,MAAM;IAAE0C;EAAmB,CAAC,GAAGzC,WAAW,CAAED,gBAAiB,CAAC;;EAE9D;AACD;AACA;AACA;AACA;AACA;AACA;EACC,SAAS2C,aAAaA,CAAEC,eAAe,EAAEC,UAAU,EAAG;IACrD,IAAIC,WAAW,GAAGL,SAAS,CAAEpB,QAAS,CAAC;IACvC,MAAM0B,iBAAiB,GAAGxC,8BAA8B,CAAEuC,WAAY,CAAC;;IAEvE;IACA,MAAME,cAAc,GAAGH,UAAU,GAAGD,eAAe;IAEnD,IAAKI,cAAc,IAAID,iBAAiB,EAAG;MAC1C;MACA;MACA,MAAME,cAAc,GAAGvC,gBAAgB,CAAE,GAAG,GAAGmC,UAAW,CAAC;MAC3D,MAAMK,iBAAiB,GAAGL,UAAU,GAAGD,eAAe;;MAEtD;MACA;MACA,MAAMO,MAAM,GAAG1C,4BAA4B,CAC1CqC,WAAW,EACX,GAAG,GAAGG,cAAc,GAAGC,iBACxB,CAAC;MAEDJ,WAAW,GAAG,CACb,GAAGtC,qBAAqB,CAAEsC,WAAW,EAAEK,MAAO,CAAC,EAC/C,GAAGC,KAAK,CAACC,IAAI,CAAE;QACdf,MAAM,EAAEY;MACT,CAAE,CAAC,CAACI,GAAG,CAAE,MAAM;QACd,OAAOlD,WAAW,CAAE,aAAa,EAAE;UAClCmD,KAAK,EAAE,GAAIN,cAAc;QAC1B,CAAE,CAAC;MACJ,CAAE,CAAC,CACH;IACF,CAAC,MAAM,IAAKD,cAAc,EAAG;MAC5BF,WAAW,GAAG,CACb,GAAGA,WAAW,EACd,GAAGM,KAAK,CAACC,IAAI,CAAE;QACdf,MAAM,EAAEO,UAAU,GAAGD;MACtB,CAAE,CAAC,CAACU,GAAG,CAAE,MAAM;QACd,OAAOlD,WAAW,CAAE,aAAc,CAAC;MACpC,CAAE,CAAC,CACH;IACF,CAAC,MAAM,IAAKyC,UAAU,GAAGD,eAAe,EAAG;MAC1C;MACAE,WAAW,GAAGA,WAAW,CAACU,KAAK,CAC9B,CAAC,EACD,EAAGZ,eAAe,GAAGC,UAAU,CAChC,CAAC;MACD,IAAKE,iBAAiB,EAAG;QACxB;QACA,MAAMI,MAAM,GAAG1C,4BAA4B,CAAEqC,WAAW,EAAE,GAAI,CAAC;QAE/DA,WAAW,GAAGtC,qBAAqB,CAAEsC,WAAW,EAAEK,MAAO,CAAC;MAC3D;IACD;IAEAT,kBAAkB,CAAErB,QAAQ,EAAEyB,WAAY,CAAC;EAC5C;EAEA,MAAMW,iBAAiB,GAAG9C,8BAA8B,CAAC,CAAC;EAE1D,oBACCI,KAAA,CAAC3B,UAAU;IACVsE,KAAK,EAAG3E,EAAE,CAAE,UAAW,CAAG;IAC1B4E,QAAQ,EAAGA,CAAA,KAAM;MAChBrC,aAAa,CAAE;QACdC,iBAAiB,EAAE;MACpB,CAAE,CAAC;IACJ,CAAG;IACHkC,iBAAiB,EAAGA,iBAAmB;IAAAG,QAAA,GAErCnC,oBAAoB,iBACrBV,KAAA,CAACvB,MAAM;MAACqE,OAAO,EAAG,CAAG;MAACC,KAAK,EAAG;QAAEC,UAAU,EAAE;MAAS,CAAG;MAAAH,QAAA,gBACvD/C,IAAA,CAAC5B,YAAY;QACZ+E,uBAAuB;QACvBC,qBAAqB;QACrBP,KAAK,EAAG3E,EAAE,CAAE,SAAU,CAAG;QACzBmF,KAAK,EAAG1C,KAAO;QACf2C,QAAQ,EAAKD,KAAK,IACjBvB,aAAa,CAAEnB,KAAK,EAAEe,IAAI,CAACC,GAAG,CAAEd,QAAQ,EAAEwC,KAAM,CAAE,CAClD;QACDE,GAAG,EAAG7B,IAAI,CAACC,GAAG,CAAE,CAAC,EAAEd,QAAS,CAAG;QAC/Bc,GAAG,EAAGD,IAAI,CAACC,GAAG,CAAE,CAAC,EAAEhB,KAAM;MAAG,CAC5B,CAAC,EACAA,KAAK,GAAG,CAAC,iBACVX,IAAA,CAAC7B,MAAM;QAACqF,MAAM,EAAC,SAAS;QAACC,aAAa,EAAG,KAAO;QAAAV,QAAA,EAC7C7E,EAAE,CACH,iFACD;MAAC,CACM,CACR;IAAA,CACM,CACR,eACD8B,IAAA,CAACvB,cAAc;MACdoE,KAAK,EAAG3E,EAAE,CAAE,iBAAkB,CAAG;MACjCwF,gBAAgB;MAChBC,QAAQ,EAAGA,CAAA,KAAMjD,iBAAiB,KAAK,IAAM;MAC7CkD,UAAU,EAAGA,CAAA,KACZnD,aAAa,CAAE;QACdC,iBAAiB,EAAE;MACpB,CAAE,CACF;MAAAqC,QAAA,eAED/C,IAAA,CAAC3B,aAAa;QACb8E,uBAAuB;QACvBN,KAAK,EAAG3E,EAAE,CAAE,iBAAkB,CAAG;QACjC2F,OAAO,EAAGnD,iBAAmB;QAC7B4C,QAAQ,EAAGA,CAAA,KACV7C,aAAa,CAAE;UACdC,iBAAiB,EAAE,CAAEA;QACtB,CAAE;MACF,CACD;IAAC,CACa,CAAC;EAAA,CACN,CAAC;AAEf;AAEA,SAASoD,oBAAoBA,CAAE;EAAEC,UAAU;EAAEtD,aAAa;EAAED;AAAS,CAAC,EAAG;EACxE,MAAM;IAAEE,iBAAiB;IAAEsD,iBAAiB;IAAEC;EAAa,CAAC,GAAGF,UAAU;EACzE,MAAMG,QAAQ,GAAG5E,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAE2B;EAAc,CAAC,GAAG5B,SAAS,CAAEF,gBAAiB,CAAC;EACvD,MAAM;IAAEgF;EAAsB,CAAC,GAAG/E,WAAW,CAAED,gBAAiB,CAAC;EAEjE,MAAMiF,OAAO,GAAGnG,IAAI,CAAE;IACrB,CAAE,0BAA2B+F,iBAAiB,EAAG,GAAIA,iBAAiB;IACtE,CAAE,0BAA0B,GAAI,CAAEtD;EACnC,CAAE,CAAC;EAEH,MAAM2D,UAAU,GAAGpF,aAAa,CAAE;IACjCqF,SAAS,EAAEF;EACZ,CAAE,CAAC;EACH,MAAMG,gBAAgB,GAAG1F,mBAAmB,CAAEwF,UAAU,EAAE;IACzDG,YAAY,EAAEnE,aAAa;IAC3BoE,YAAY,EAAE,IAAI;IAClBC,WAAW,EAAE,YAAY;IACzBC,cAAc,EAAE,KAAK;IACrBV;EACD,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;AACA;AACA;EACC,SAASW,eAAeA,CAAEC,oBAAoB,EAAG;IAChD,MAAMC,mBAAmB,GAAG7D,aAAa,CAAET,QAAS,CAAC;;IAErD;IACA;IACA0D,QAAQ,CAACa,KAAK,CAAE,MAAM;MACrBtE,aAAa,CAAE;QAAEuD,iBAAiB,EAAEa;MAAqB,CAAE,CAAC;MAC5DV,qBAAqB,CAAEW,mBAAmB,EAAE;QAC3Cd,iBAAiB,EAAEa;MACpB,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ;EAEA,oBACC3E,KAAA,CAAAE,SAAA;IAAA2C,QAAA,gBACC/C,IAAA,CAAClB,aAAa;MAAAiE,QAAA,eACb/C,IAAA,CAACjB,6BAA6B;QAC7BuE,QAAQ,EAAGsB,eAAiB;QAC5BvB,KAAK,EAAGW;MAAmB,CAC3B;IAAC,CACY,CAAC,eAChBhE,IAAA,CAACpB,iBAAiB;MAAAmE,QAAA,eACjB/C,IAAA,CAACO,uBAAuB;QACvBC,QAAQ,EAAGA,QAAU;QACrBC,aAAa,EAAGA,aAAe;QAC/BC,iBAAiB,EAAGA;MAAmB,CACvC;IAAC,CACgB,CAAC,eACpBV,IAAA;MAAA,GAAUuE;IAAgB,CAAI,CAAC;EAAA,CAC9B,CAAC;AAEL;AAEA,SAASS,WAAWA,CAAE;EAAExE,QAAQ;EAAEF,IAAI;EAAEG;AAAc,CAAC,EAAG;EACzD,MAAM;IAAEwE,SAAS;IAAEC,gBAAgB;IAAEC;EAAW,CAAC,GAAG9F,SAAS,CAC1DyB,MAAM,IAAM;IACb,MAAM;MACLsE,kBAAkB;MAClBC,YAAY;MACZC;IACD,CAAC,GAAGxE,MAAM,CAAErB,WAAY,CAAC;IAEzB,OAAO;MACNwF,SAAS,EAAEI,YAAY,CAAE/E,IAAK,CAAC;MAC/B4E,gBAAgB,EAAEI,wBAAwB,CAAEhF,IAAI,EAAE,OAAQ,CAAC;MAC3D6E,UAAU,EAAEC,kBAAkB,CAAE9E,IAAI,EAAE,OAAQ;IAC/C,CAAC;EACF,CAAC,EACD,CAAEA,IAAI,CACP,CAAC;EACD,MAAM;IAAEuB;EAAmB,CAAC,GAAGzC,WAAW,CAAED,gBAAiB,CAAC;EAC9D,MAAMkF,UAAU,GAAGpF,aAAa,CAAC,CAAC;EAElC,oBACCe,IAAA;IAAA,GAAUqE,UAAU;IAAAtB,QAAA,eACnB/C,IAAA,CAAChB,kCAAkC;MAClCuG,IAAI,EAAGN,SAAS,EAAEM,IAAI,EAAEC,GAAK;MAC7B3C,KAAK,EAAGoC,SAAS,EAAEQ,KAAO;MAC1BN,UAAU,EAAGA,UAAY;MACzBO,YAAY,EAAGxH,EAAE,CAAE,uCAAwC,CAAG;MAC9DyH,QAAQ,EAAGA,CAAEC,aAAa,GAAGV,gBAAgB,KAAM;QAClD,IAAKU,aAAa,CAAC7B,UAAU,EAAG;UAC/BtD,aAAa,CAAEmF,aAAa,CAAC7B,UAAW,CAAC;QAC1C;QACA,IAAK6B,aAAa,CAAC3D,WAAW,EAAG;UAChCJ,kBAAkB,CACjBrB,QAAQ,EACRhB,mCAAmC,CAClCoG,aAAa,CAAC3D,WACf,CAAC,EACD,IACD,CAAC;QACF;MACD,CAAG;MACH4D,SAAS;IAAA,CACT;EAAC,CACE,CAAC;AAER;AAEA,MAAMC,WAAW,GAAKC,KAAK,IAAM;EAChC,MAAM;IAAEvF;EAAS,CAAC,GAAGuF,KAAK;EAC1B,MAAMC,cAAc,GAAG3G,SAAS,CAC7ByB,MAAM,IACPA,MAAM,CAAE3B,gBAAiB,CAAC,CAACyC,SAAS,CAAEpB,QAAS,CAAC,CAACiB,MAAM,GAAG,CAAC,EAC5D,CAAEjB,QAAQ,CACX,CAAC;EACD,MAAMyF,SAAS,GAAGD,cAAc,GAAGlC,oBAAoB,GAAGkB,WAAW;EAErE,oBAAOhF,IAAA,CAACiG,SAAS;IAAA,GAAMF;EAAK,CAAI,CAAC;AAClC,CAAC;AAED,eAAeD,WAAW","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 {
|
|
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(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
76
|
-
|
|
87
|
+
isShownByDefault: true,
|
|
88
|
+
hasValue: () => !isLink,
|
|
89
|
+
onDeselect: () => setAttributes({
|
|
90
|
+
isLink: true
|
|
77
91
|
}),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
83
|
-
|
|
102
|
+
isShownByDefault: true,
|
|
103
|
+
hasValue: () => linkTarget !== '_self',
|
|
104
|
+
onDeselect: () => setAttributes({
|
|
105
|
+
linkTarget: '_self'
|
|
84
106
|
}),
|
|
85
|
-
|
|
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","
|
|
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 {
|
|
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(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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(
|
|
47
|
-
__nextHasNoMarginBottom: true,
|
|
67
|
+
}), /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
48
68
|
label: __('Link to comment'),
|
|
49
|
-
|
|
50
|
-
|
|
69
|
+
hasValue: () => !isLink,
|
|
70
|
+
onDeselect: () => setAttributes({
|
|
71
|
+
isLink: true
|
|
51
72
|
}),
|
|
52
|
-
|
|
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","
|
|
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 {
|
|
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(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
41
|
-
|
|
51
|
+
isShownByDefault: true,
|
|
52
|
+
hasValue: () => linkTarget === '_blank',
|
|
53
|
+
onDeselect: () => setAttributes({
|
|
54
|
+
linkTarget: '_self'
|
|
42
55
|
}),
|
|
43
|
-
|
|
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","
|
|
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","
|
|
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 {
|
|
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(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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","
|
|
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":[]}
|