@wordpress/block-library 9.10.0 → 9.12.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 +4 -0
- package/README.md +10 -5
- package/build/archives/index.js +6 -0
- package/build/archives/index.js.map +1 -1
- package/build/avatar/hooks.js +2 -3
- package/build/avatar/hooks.js.map +1 -1
- package/build/button/get-updated-link-attributes.js +1 -1
- package/build/button/get-updated-link-attributes.js.map +1 -1
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +1 -1
- package/build/comments/index.js +12 -0
- package/build/comments/index.js.map +1 -1
- package/build/cover/constants.js +8 -0
- package/build/cover/constants.js.map +1 -0
- package/build/cover/deprecated.js +140 -4
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/block-controls.js +1 -1
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/cover-placeholder.js +1 -2
- package/build/cover/edit/cover-placeholder.js.map +1 -1
- package/build/cover/edit/index.js +42 -21
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +40 -2
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +3 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +16 -14
- package/build/cover/save.js.map +1 -1
- package/build/details/index.js +1 -0
- package/build/details/index.js.map +1 -1
- package/build/file/edit.js +2 -3
- package/build/file/edit.js.map +1 -1
- package/build/gallery/constants.js +2 -1
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/edit.js +12 -3
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/utils.js +26 -5
- package/build/gallery/utils.js.map +1 -1
- package/build/html/edit.js +5 -1
- package/build/html/edit.js.map +1 -1
- package/build/html/preview.js +2 -2
- package/build/html/preview.js.map +1 -1
- package/build/image/edit.js +1 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +144 -78
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -1
- package/build/latest-posts/edit.js +3 -9
- package/build/latest-posts/edit.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +1 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +2 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/paragraph/edit.js +2 -2
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-content/index.js +13 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-featured-image/edit.js +1 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-template/edit.js +11 -0
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-time-to-read/edit.js +2 -2
- package/build/post-time-to-read/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -2
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +2 -2
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +0 -3
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/edit/query-content.js +10 -12
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/index.js +1 -1
- package/build/query/utils.js +32 -1
- package/build/query/utils.js.map +1 -1
- package/build/query-title/edit.js +1 -1
- package/build/query-title/edit.js.map +1 -1
- package/build/search/edit.js +19 -14
- package/build/search/edit.js.map +1 -1
- package/build/separator/transforms.js +12 -0
- package/build/separator/transforms.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/spacer/index.js +2 -0
- package/build/spacer/index.js.map +1 -1
- package/build/spacer/transforms.js +27 -0
- package/build/spacer/transforms.js.map +1 -0
- package/build/table/edit.js +0 -1
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -7
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +2 -5
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +0 -3
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +1 -3
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/index.js +6 -0
- package/build-module/archives/index.js.map +1 -1
- package/build-module/avatar/hooks.js +2 -3
- package/build-module/avatar/hooks.js.map +1 -1
- package/build-module/button/get-updated-link-attributes.js +1 -1
- package/build-module/button/get-updated-link-attributes.js.map +1 -1
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/comments/index.js +12 -0
- package/build-module/comments/index.js.map +1 -1
- package/build-module/cover/constants.js +2 -0
- package/build-module/cover/constants.js.map +1 -0
- package/build-module/cover/deprecated.js +140 -4
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +1 -1
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/cover-placeholder.js +1 -2
- package/build-module/cover/edit/cover-placeholder.js.map +1 -1
- package/build-module/cover/edit/index.js +42 -21
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +41 -3
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +3 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +16 -14
- package/build-module/cover/save.js.map +1 -1
- package/build-module/details/index.js +1 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/file/edit.js +2 -3
- package/build-module/file/edit.js.map +1 -1
- package/build-module/gallery/constants.js +1 -0
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/edit.js +15 -6
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/utils.js +27 -6
- package/build-module/gallery/utils.js.map +1 -1
- package/build-module/html/edit.js +6 -2
- package/build-module/html/edit.js.map +1 -1
- package/build-module/html/preview.js +2 -2
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/edit.js +1 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +149 -83
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -1
- package/build-module/latest-posts/edit.js +3 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -3
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/paragraph/edit.js +2 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-content/index.js +13 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +1 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-template/edit.js +11 -0
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-time-to-read/edit.js +2 -2
- package/build-module/post-time-to-read/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +2 -2
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +2 -2
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +0 -3
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/edit/query-content.js +10 -12
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/index.js +1 -1
- package/build-module/query/utils.js +29 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-title/edit.js +2 -2
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/search/edit.js +20 -15
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/transforms.js +12 -0
- package/build-module/separator/transforms.js.map +1 -1
- package/build-module/social-links/edit.js +0 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/spacer/index.js +2 -0
- package/build-module/spacer/index.js.map +1 -1
- package/build-module/spacer/transforms.js +20 -0
- package/build-module/spacer/transforms.js.map +1 -0
- package/build-module/table/edit.js +0 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +2 -7
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +2 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +0 -3
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +2 -4
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/archives/editor-rtl.css +5 -0
- package/build-style/archives/editor.css +5 -0
- package/build-style/button/style-rtl.css +3 -0
- package/build-style/button/style.css +3 -0
- package/build-style/comments/editor-rtl.css +4 -0
- package/build-style/comments/editor.css +4 -0
- package/build-style/comments/style-rtl.css +4 -0
- package/build-style/comments/style.css +4 -0
- package/build-style/cover/editor-rtl.css +3 -5
- package/build-style/cover/editor.css +3 -5
- package/build-style/cover/style-rtl.css +19 -10
- package/build-style/cover/style.css +19 -10
- package/build-style/editor-rtl.css +17 -12
- package/build-style/editor.css +17 -12
- package/build-style/image/editor-rtl.css +4 -0
- package/build-style/image/editor.css +4 -0
- package/build-style/latest-posts/editor-rtl.css +0 -7
- package/build-style/latest-posts/editor.css +0 -7
- package/build-style/media-text/style-rtl.css +1 -1
- package/build-style/media-text/style.css +1 -1
- package/build-style/navigation/editor-rtl.css +1 -0
- package/build-style/navigation/editor.css +1 -0
- package/build-style/style-rtl.css +27 -11
- package/build-style/style.css +27 -11
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/package.json +41 -40
- package/src/archives/block.json +6 -0
- package/src/archives/editor.scss +8 -0
- package/src/avatar/hooks.js +2 -3
- package/src/avatar/index.php +4 -5
- package/src/button/get-updated-link-attributes.js +1 -1
- package/src/button/index.js +1 -1
- package/src/button/style.scss +3 -0
- package/src/button/test/get-updated-link-attributes.js +15 -0
- package/src/comment-author-avatar/index.php +1 -1
- package/src/comments/block.json +12 -0
- package/src/comments/style.scss +4 -1
- package/src/cover/block.json +3 -0
- package/src/cover/constants.js +1 -0
- package/src/cover/deprecated.js +182 -4
- package/src/cover/edit/block-controls.js +1 -1
- package/src/cover/edit/cover-placeholder.js +0 -3
- package/src/cover/edit/index.js +57 -24
- package/src/cover/edit/inspector-controls.js +46 -1
- package/src/cover/editor.scss +4 -5
- package/src/cover/save.js +29 -20
- package/src/cover/style.scss +40 -10
- package/src/cover/test/__snapshots__/edit.native.js.snap +9 -9
- package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
- package/src/cover/test/edit.js +1 -3
- package/src/cover/test/edit.native.js +4 -4
- package/src/cover/test/transforms.native.js +4 -4
- package/src/details/block.json +1 -0
- package/src/file/edit.js +2 -3
- package/src/gallery/constants.js +1 -0
- package/src/gallery/edit.js +26 -3
- package/src/gallery/utils.js +23 -2
- package/src/html/edit.js +7 -1
- package/src/html/preview.js +3 -2
- package/src/image/block.json +1 -1
- package/src/image/edit.js +1 -1
- package/src/image/editor.scss +4 -0
- package/src/image/image.js +200 -109
- package/src/image/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/latest-posts/edit.js +3 -8
- package/src/latest-posts/editor.scss +0 -11
- package/src/latest-posts/index.php +1 -1
- package/src/media-text/style.scss +1 -1
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/navigation/edit/menu-inspector-controls.js +2 -2
- package/src/navigation/edit/navigation-menu-selector.js +2 -2
- package/src/navigation/editor.scss +1 -0
- package/src/navigation/index.php +1 -1
- package/src/paragraph/edit.js +2 -2
- package/src/post-content/block.json +14 -1
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-template/block.json +2 -1
- package/src/post-template/edit.js +19 -0
- package/src/post-time-to-read/edit.js +2 -2
- package/src/post-time-to-read/index.php +1 -1
- package/src/query/block.json +1 -1
- package/src/query/edit/inspector-controls/index.js +2 -2
- package/src/query/edit/inspector-controls/order-control.js +2 -2
- package/src/query/edit/pattern-selection-modal.js +0 -3
- package/src/query/edit/query-content.js +9 -17
- package/src/query/test/utils.js +59 -1
- package/src/query/utils.js +29 -0
- package/src/query-title/edit.js +2 -2
- package/src/rss/index.php +1 -1
- package/src/search/edit.js +28 -25
- package/src/search/index.php +2 -2
- package/src/separator/test/__snapshots__/transforms.native.js.snap +6 -0
- package/src/separator/test/transforms.native.js +1 -1
- package/src/separator/transforms.js +11 -0
- package/src/social-links/edit.js +0 -1
- package/src/spacer/index.js +2 -0
- package/src/spacer/test/__snapshots__/transforms.native.js.snap +6 -0
- package/src/spacer/test/transforms.native.js +1 -1
- package/src/spacer/transforms.js +20 -0
- package/src/table/edit.js +0 -1
- package/src/table-of-contents/edit.js +2 -6
- package/src/template-part/edit/index.js +2 -5
- package/src/template-part/edit/selection-modal.js +0 -3
- package/src/video/edit.js +1 -1
- package/src/video/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/video/tracks-editor.js +2 -4
- package/tsconfig.tsbuildinfo +1 -1
- /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","isSingleSelected","hasFixedLayout","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","children","cells","tag","CellTag","scope","colspan","rowspan","undefined","colSpan","rowSpan","className","value","onFocus","isEmpty","length","ref","group","label","alignmentControls","nextAlign","hasArrowIndicator","controls","__nextHasNoMarginBottom","checked","style","border","showColors","instructions","onSubmit","__next40pxDefaultSize","min","variant","showToolbarButton"],"sources":["@wordpress/block-library/src/table/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\nimport { Caption } from '../utils/caption';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected: isSingleSelected,\n} ) {\n\tconst { hasFixedLayout, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td div[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<CellTag\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CellTag>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\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={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ isEmpty ? (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\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\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\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\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) : (\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Table caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","isSingleSelected","hasFixedLayout","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","children","cells","tag","CellTag","scope","colspan","rowspan","undefined","colSpan","rowSpan","className","value","onFocus","isEmpty","length","ref","group","label","alignmentControls","nextAlign","controls","__nextHasNoMarginBottom","checked","style","border","showColors","instructions","onSubmit","__next40pxDefaultSize","min","variant","showToolbarButton"],"sources":["@wordpress/block-library/src/table/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\nimport { Caption } from '../utils/caption';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected: isSingleSelected,\n} ) {\n\tconst { hasFixedLayout, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td div[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<CellTag\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CellTag>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\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={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ isEmpty ? (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\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\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\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\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) : (\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Table caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -47,17 +47,12 @@ export default function TableOfContentsEdit({
|
|
|
47
47
|
|
|
48
48
|
// If a user clicks to a link prevent redirection and show a warning.
|
|
49
49
|
const {
|
|
50
|
-
createWarningNotice
|
|
51
|
-
removeNotice
|
|
50
|
+
createWarningNotice
|
|
52
51
|
} = useDispatch(noticeStore);
|
|
53
|
-
let noticeId;
|
|
54
52
|
const showRedirectionPreventedNotice = event => {
|
|
55
53
|
event.preventDefault();
|
|
56
|
-
// Remove previous warning if any, to show one at a time per block.
|
|
57
|
-
removeNotice(noticeId);
|
|
58
|
-
noticeId = `block-library/core/table-of-contents/redirection-prevented/${instanceId}`;
|
|
59
54
|
createWarningNotice(__('Links are disabled in the editor.'), {
|
|
60
|
-
id:
|
|
55
|
+
id: `block-library/core/table-of-contents/redirection-prevented/${instanceId}`,
|
|
61
56
|
type: 'snackbar'
|
|
62
57
|
});
|
|
63
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","
|
|
1
|
+
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","children","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\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={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,6 @@ import { serialize } from '@wordpress/blocks';
|
|
|
5
5
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
6
|
import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls, __experimentalBlockPatternsList as BlockPatternsList, BlockControls } from '@wordpress/block-editor';
|
|
7
7
|
import { PanelBody, Spinner, Modal, MenuItem, ToolbarButton } from '@wordpress/components';
|
|
8
|
-
import { useAsyncList } from '@wordpress/compose';
|
|
9
8
|
import { __, sprintf } from '@wordpress/i18n';
|
|
10
9
|
import { store as coreStore } from '@wordpress/core-data';
|
|
11
10
|
import { useState } from '@wordpress/element';
|
|
@@ -57,7 +56,6 @@ function TemplatesList({
|
|
|
57
56
|
// edit function!
|
|
58
57
|
const blockPatterns = useAlternativeBlockPatterns(area, clientId);
|
|
59
58
|
const canReplace = isEntityAvailable && !!blockPatterns.length && (area === 'header' || area === 'footer');
|
|
60
|
-
const shownTemplates = useAsyncList(blockPatterns);
|
|
61
59
|
if (!canReplace) {
|
|
62
60
|
return null;
|
|
63
61
|
}
|
|
@@ -66,9 +64,8 @@ function TemplatesList({
|
|
|
66
64
|
children: /*#__PURE__*/_jsx(BlockPatternsList, {
|
|
67
65
|
label: __('Templates'),
|
|
68
66
|
blockPatterns: blockPatterns,
|
|
69
|
-
shownPatterns: shownTemplates,
|
|
70
67
|
onClickPattern: onSelect,
|
|
71
|
-
|
|
68
|
+
showTitlesAsTooltip: true
|
|
72
69
|
})
|
|
73
70
|
});
|
|
74
71
|
}
|
|
@@ -151,7 +148,7 @@ export default function TemplatePartEdit({
|
|
|
151
148
|
return /*#__PURE__*/_jsx(TagName, {
|
|
152
149
|
...blockProps,
|
|
153
150
|
children: /*#__PURE__*/_jsx(Warning, {
|
|
154
|
-
children: sprintf(/* translators: %s: Template part slug */
|
|
151
|
+
children: sprintf(/* translators: %s: Template part slug. */
|
|
155
152
|
__('Template part has been deleted or is unavailable: %s'), slug)
|
|
156
153
|
})
|
|
157
154
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["serialize","useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","BlockControls","PanelBody","Spinner","Modal","MenuItem","ToolbarButton","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","hasReplacements","length","canReplace","onClick","children","TemplatesList","clientId","onSelect","blockPatterns","shownTemplates","title","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","editEntityRecord","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canUserEdit","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canUserEdit","canUser","kind","name","id","Object","keys","areaObject","blockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","type","uniqueId","group","postId","postType","defaultWrapper","onOpenSelectionModal","selectedClientIds","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\tconst shownTemplates = useAsyncList( blockPatterns );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tshownPatterns={ shownTemplates }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t\tcanUserEdit,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst _canUserEdit = hasResolvedEntity\n\t\t\t\t? select( coreStore ).canUser( 'update', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\t\tid: templatePartId,\n\t\t\t\t } )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t\tcanUserEdit: !! _canUserEdit,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable &&\n\t\t\t\t\tonNavigateToEntityRecord &&\n\t\t\t\t\tcanUserEdit && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["serialize","useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","BlockControls","PanelBody","Spinner","Modal","MenuItem","ToolbarButton","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","hasReplacements","length","canReplace","onClick","children","TemplatesList","clientId","onSelect","blockPatterns","title","label","onClickPattern","showTitlesAsTooltip","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","editEntityRecord","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canUserEdit","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canUserEdit","canUser","kind","name","id","Object","keys","areaObject","blockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","type","uniqueId","group","postId","postType","defaultWrapper","onOpenSelectionModal","selectedClientIds","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitlesAsTooltip\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t\tcanUserEdit,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst _canUserEdit = hasResolvedEntity\n\t\t\t\t? select( coreStore ).canUser( 'update', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\t\tid: templatePartId,\n\t\t\t\t } )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t\tcanUserEdit: !! _canUserEdit,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable &&\n\t\t\t\t\tonNavigateToEntityRecord &&\n\t\t\t\t\tcanUserEdit && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,yBAAyB,EACzBC,aAAa,EACbC,OAAO,EACPC,KAAK,IAAIC,gBAAgB,EACzBC,iBAAiB,EACjBC,eAAe,EACfC,iBAAiB,EACjBC,+BAA+B,IAAIC,iBAAiB,EACpDC,aAAa,QACP,yBAAyB;AAChC,SACCC,SAAS,EACTC,OAAO,EACPC,KAAK,EACLC,QAAQ,EACRC,aAAa,QACP,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASd,KAAK,IAAIe,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAAShB,KAAK,IAAIiB,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,eAAe;AACnD,OAAOC,0BAA0B,MAAM,mBAAmB;AAC1D,SAASC,4BAA4B,QAAQ,qBAAqB;AAClE,OAAOC,uBAAuB,MAAM,gBAAgB;AACpD,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SACCC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,mBAAmB,QACb,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEvB,SAASC,aAAaA,CAAE;EACvBC,iBAAiB;EACjBC,IAAI;EACJC,cAAc;EACdC,2BAA2B;EAC3BC;AACD,CAAC,EAAG;EACH;EACA;EACA,MAAM;IAAEC;EAAc,CAAC,GAAGd,2BAA2B,CACpDU,IAAI,EACJC,cACD,CAAC;EACD,MAAMI,eAAe,GAAG,CAAC,CAAED,aAAa,CAACE,MAAM;EAC/C,MAAMC,UAAU,GACfR,iBAAiB,IACjBM,eAAe,KACbL,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,CAAE;EAE3C,IAAK,CAAEO,UAAU,EAAG;IACnB,OAAO,IAAI;EACZ;EAEA,oBACCd,IAAA,CAAChB,QAAQ;IACR+B,OAAO,EAAGA,CAAA,KAAM;MACfL,8BAA8B,CAAE,IAAK,CAAC;IACvC,CAAG;IACH,iBAAgBD,2BAA6B;IAC7C,iBAAc,QAAQ;IAAAO,QAAA,EAEpB9B,EAAE,CAAE,SAAU;EAAC,CACR,CAAC;AAEb;AAEA,SAAS+B,aAAaA,CAAE;EAAEV,IAAI;EAAEW,QAAQ;EAAEZ,iBAAiB;EAAEa;AAAS,CAAC,EAAG;EACzE;EACA;EACA,MAAMC,aAAa,GAAGxB,2BAA2B,CAAEW,IAAI,EAAEW,QAAS,CAAC;EACnE,MAAMJ,UAAU,GACfR,iBAAiB,IACjB,CAAC,CAAEc,aAAa,CAACP,MAAM,KACrBN,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,CAAE;EAE3C,IAAK,CAAEO,UAAU,EAAG;IACnB,OAAO,IAAI;EACZ;EAEA,oBACCd,IAAA,CAACnB,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,QAAS,CAAG;IAAA8B,QAAA,eAClChB,IAAA,CAACrB,iBAAiB;MACjB2C,KAAK,EAAGpC,EAAE,CAAE,WAAY,CAAG;MAC3BkC,aAAa,EAAGA,aAAe;MAC/BG,cAAc,EAAGJ,QAAU;MAC3BK,mBAAmB;IAAA,CACnB;EAAC,CACQ,CAAC;AAEd;AAEA,eAAe,SAASC,gBAAgBA,CAAE;EACzCC,UAAU;EACVC,aAAa;EACbT;AACD,CAAC,EAAG;EACH,MAAM;IAAEU;EAAoB,CAAC,GAAG3D,WAAW,CAAEqB,YAAa,CAAC;EAC3D,MAAM;IAAEuC;EAAiB,CAAC,GAAG5D,WAAW,CAAEmB,SAAU,CAAC;EACrD,MAAM0C,YAAY,GAAG9D,SAAS,CAC3B+D,MAAM,IAAMA,MAAM,CAAE3C,SAAU,CAAC,CAAC4C,eAAe,CAAC,CAAC,EAAEC,UAAU,EAC/D,EACD,CAAC;EACD,MAAM;IAAEC,IAAI;IAAEC,KAAK,GAAGL,YAAY;IAAEM,OAAO;IAAEC,MAAM,GAAG,CAAC;EAAE,CAAC,GAAGX,UAAU;EACvE,MAAMlB,cAAc,GAAGb,oBAAoB,CAAEwC,KAAK,EAAED,IAAK,CAAC;EAC1D,MAAMI,kBAAkB,GAAG9D,eAAe,CAAEgC,cAAe,CAAC;EAC5D,MAAM,CAAEC,2BAA2B,EAAEC,8BAA8B,CAAE,GACpErB,QAAQ,CAAE,KAAM,CAAC;EAElB,MAAM;IACLkD,UAAU;IACVC,cAAc;IACdC,SAAS;IACTlC,IAAI;IACJmC,wBAAwB;IACxBrB,KAAK;IACLsB;EACD,CAAC,GAAG3E,SAAS,CACV+D,MAAM,IAAM;IACb,MAAM;MAAEa,qBAAqB;MAAEC;IAAsB,CAAC,GACrDd,MAAM,CAAE3C,SAAU,CAAC;IACpB,MAAM;MAAE0D,aAAa;MAAEC;IAAY,CAAC,GAAGhB,MAAM,CAAEzD,gBAAiB,CAAC;IAEjE,MAAM0E,aAAa,GAAG,CACrB,UAAU,EACV,kBAAkB,EAClBxC,cAAc,CACd;IACD,MAAMyC,YAAY,GAAGzC,cAAc,GAChCoC,qBAAqB,CAAE,GAAGI,aAAc,CAAC,GACzC,IAAI;IACP,MAAME,KAAK,GAAGD,YAAY,EAAE1C,IAAI,IAAImB,UAAU,CAACnB,IAAI;IACnD,MAAM4C,iBAAiB,GAAG3C,cAAc,GACrCqC,qBAAqB,CACrB,uBAAuB,EACvBG,aACA,CAAC,GACD,KAAK;IAER,MAAMI,YAAY,GAAGD,iBAAiB,GACnCpB,MAAM,CAAE3C,SAAU,CAAC,CAACiE,OAAO,CAAE,QAAQ,EAAE;MACvCC,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAE,kBAAkB;MACxBC,EAAE,EAAEhD;IACJ,CAAE,CAAC,GACH,KAAK;IAER,OAAO;MACNgC,cAAc,EAAEM,aAAa,CAAE5B,QAAS,CAAC,GAAG,CAAC;MAC7CqB,UAAU,EAAEY,iBAAiB;MAC7BV,SAAS,EACRU,iBAAiB,KACf,CAAEF,YAAY,IACfQ,MAAM,CAACC,IAAI,CAAET,YAAa,CAAC,CAACpC,MAAM,KAAK,CAAC,CAAE;MAC5CN,IAAI,EAAE2C,KAAK;MACXR,wBAAwB,EACvBK,WAAW,CAAC,CAAC,CAACL,wBAAwB;MACvCrB,KAAK,EAAE4B,YAAY,EAAE5B,KAAK;MAC1BsB,WAAW,EAAE,CAAC,CAAES;IACjB,CAAC;EACF,CAAC,EACD,CAAE5C,cAAc,EAAEkB,UAAU,CAACnB,IAAI,EAAEW,QAAQ,CAC5C,CAAC;EAED,MAAMyC,UAAU,GAAG7D,mBAAmB,CAAES,IAAK,CAAC;EAC9C,MAAMqD,UAAU,GAAGzF,aAAa,CAAC,CAAC;EAClC,MAAM0F,aAAa,GAAG,CAAE3B,IAAI;EAC5B,MAAM5B,iBAAiB,GAAG,CAAEuD,aAAa,IAAI,CAAEpB,SAAS,IAAIF,UAAU;EACtE,MAAMuB,OAAO,GAAG1B,OAAO,IAAIuB,UAAU,CAACvB,OAAO;EAE7C,MAAM2B,eAAe,GAAG,MAAQC,OAAO,IAAM;IAC5C,MAAMnC,gBAAgB,CACrB,UAAU,EACV,kBAAkB,EAClBrB,cAAc,EACd;MACCyD,MAAM,EAAED,OAAO,CAACC,MAAM;MACtBC,OAAO,EAAEnG,SAAS,CAAEiG,OAAO,CAACC,MAAO;IACpC,CACD,CAAC;IACDrC,mBAAmB,CAClBzC,OAAO,CACN;IACAD,EAAE,CAAE,6BAA8B,CAAC,EACnCmC,KAAK,IAAIa,IACV,CAAC,EACD;MACCiC,IAAI,EAAE;IACP,CACD,CAAC;EACF,CAAC;;EAED;EACA;EACA,IACC,CAAE3B,cAAc,KACZN,IAAI,IAAI,CAAEC,KAAK,IAAQD,IAAI,IAAIO,SAAW,CAAE,EAC/C;IACD,oBACCzC,IAAA,CAAC8D,OAAO;MAAA,GAAMF,UAAU;MAAA5C,QAAA,eACvBhB,IAAA,CAAC5B,OAAO;QAAA4C,QAAA,EACL7B,OAAO,CACR;QACAD,EAAE,CACD,sDACD,CAAC,EACDgD,IACD;MAAC,CACO;IAAC,CACF,CAAC;EAEZ;EAEA,IAAK5B,iBAAiB,IAAIgC,kBAAkB,EAAG;IAC9C,oBACCtC,IAAA,CAAC8D,OAAO;MAAA,GAAMF,UAAU;MAAA5C,QAAA,eACvBhB,IAAA,CAAC5B,OAAO;QAAA4C,QAAA,EACL9B,EAAE,CAAE,yCAA0C;MAAC,CACzC;IAAC,CACF,CAAC;EAEZ;EAEA,oBACCgB,KAAA,CAAAE,SAAA;IAAAY,QAAA,gBACCd,KAAA,CAAC3B,iBAAiB;MAAC6F,QAAQ,EAAG5D,cAAgB;MAAAQ,QAAA,GAC3CV,iBAAiB,IAClBoC,wBAAwB,IACxBC,WAAW,iBACV3C,IAAA,CAACpB,aAAa;QAACyF,KAAK,EAAC,OAAO;QAAArD,QAAA,eAC3BhB,IAAA,CAACf,aAAa;UACb8B,OAAO,EAAGA,CAAA,KACT2B,wBAAwB,CAAE;YACzB4B,MAAM,EAAE9D,cAAc;YACtB+D,QAAQ,EAAE;UACX,CAAE,CACF;UAAAvD,QAAA,EAEC9B,EAAE,CAAE,MAAO;QAAC,CACA;MAAC,CACF,CACf,EACAyD,WAAW,iBACZ3C,IAAA,CAACvB,iBAAiB;QAAC4F,KAAK,EAAC,UAAU;QAAArD,QAAA,eAClChB,IAAA,CAACP,4BAA4B;UAC5B2C,OAAO,EAAGA,OAAS;UACnBT,aAAa,EAAGA,aAAe;UAC/BrB,iBAAiB,EAAGA,iBAAmB;UACvCE,cAAc,EAAGA,cAAgB;UACjCgE,cAAc,EAAGb,UAAU,CAACvB,OAAS;UACrCI,cAAc,EAAGA;QAAgB,CACjC;MAAC,CACgB,CACnB,EACCqB,aAAa,iBACd7D,IAAA,CAAC8D,OAAO;QAAA,GAAMF,UAAU;QAAA5C,QAAA,eACvBhB,IAAA,CAACT,uBAAuB;UACvBgB,IAAI,EAAGmB,UAAU,CAACnB,IAAM;UACxBC,cAAc,EAAGA,cAAgB;UACjCU,QAAQ,EAAGA,QAAU;UACrBS,aAAa,EAAGA,aAAe;UAC/B8C,oBAAoB,EAAGA,CAAA,KACtB/D,8BAA8B,CAAE,IAAK;QACrC,CACD;MAAC,CACM,CACT,eACDV,IAAA,CAAC9B,yBAAyB;QAAA8C,QAAA,EACvBA,CAAE;UAAE0D;QAAkB,CAAC,KAAM;UAC9B;UACA;UACA,IACC,EACCA,iBAAiB,CAAC7D,MAAM,KAAK,CAAC,IAC9BK,QAAQ,KAAKwD,iBAAiB,CAAE,CAAC,CAAE,CACnC,EACA;YACD,OAAO,IAAI;UACZ;UAEA,oBACC1E,IAAA,CAACK,aAAa;YAEZC,iBAAiB;YACjBC,IAAI;YACJW,QAAQ;YACRV,cAAc;YACdC,2BAA2B;YAC3BC;UAA8B,CAE/B,CAAC;QAEJ;MAAC,CACyB,CAAC,eAE5BV,IAAA,CAACvB,iBAAiB;QAAAuC,QAAA,eACjBhB,IAAA,CAACiB,aAAa;UACbV,IAAI,EAAGA,IAAM;UACbW,QAAQ,EAAGA,QAAU;UACrBZ,iBAAiB,EAAGA,iBAAmB;UACvCa,QAAQ,EAAK6C,OAAO,IAAMD,eAAe,CAAEC,OAAQ;QAAG,CACtD;MAAC,CACgB,CAAC,EAElB1D,iBAAiB,iBAClBN,IAAA,CAACN,uBAAuB;QACvB0C,OAAO,EAAG0B,OAAS;QACnBF,UAAU,EAAGA,UAAY;QACzBU,MAAM,EAAG9D,cAAgB;QACzBgC,cAAc,EAAGA,cAAgB;QACjCH,MAAM,EAAGA;MAAQ,CACjB,CACD,EACC,CAAEwB,aAAa,IAAI,CAAEtB,UAAU,iBAChCvC,IAAA,CAAC8D,OAAO;QAAA,GAAMF,UAAU;QAAA5C,QAAA,eACvBhB,IAAA,CAAClB,OAAO,IAAE;MAAC,CACH,CACT;IAAA,CACiB,CAAC,EAClB2B,2BAA2B,iBAC5BT,IAAA,CAACjB,KAAK;MACL4F,gBAAgB,EAAC,6CAA6C;MAC9DtD,KAAK,EAAGlC,OAAO;MACd;MACAD,EAAE,CAAE,aAAc,CAAC,EACnByE,UAAU,CAACrC,KAAK,CAACsD,WAAW,CAAC,CAC9B,CAAG;MACHC,cAAc,EAAGA,CAAA,KAChBnE,8BAA8B,CAAE,KAAM,CACtC;MACDoE,YAAY;MAAA9D,QAAA,eAEZhB,IAAA,CAACR,0BAA0B;QAC1BgB,cAAc,EAAGA,cAAgB;QACjCU,QAAQ,EAAGA,QAAU;QACrBX,IAAI,EAAGA,IAAM;QACboB,aAAa,EAAGA,aAAe;QAC/BoD,OAAO,EAAGA,CAAA,KACTrE,8BAA8B,CAAE,KAAM;MACtC,CACD;IAAC,CACI,CACP;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
|
|
@@ -5,7 +5,6 @@ import { useMemo, useState } from '@wordpress/element';
|
|
|
5
5
|
import { __, sprintf } from '@wordpress/i18n';
|
|
6
6
|
import { store as noticesStore } from '@wordpress/notices';
|
|
7
7
|
import { useDispatch } from '@wordpress/data';
|
|
8
|
-
import { useAsyncList } from '@wordpress/compose';
|
|
9
8
|
import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
10
9
|
import { SearchControl, __experimentalHStack as HStack } from '@wordpress/components';
|
|
11
10
|
|
|
@@ -33,7 +32,6 @@ export default function TemplatePartSelectionModal({
|
|
|
33
32
|
const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
|
|
34
33
|
return searchPatterns(partsAsPatterns, searchValue);
|
|
35
34
|
}, [templateParts, searchValue]);
|
|
36
|
-
const shownTemplateParts = useAsyncList(filteredTemplateParts);
|
|
37
35
|
const blockPatterns = useAlternativeBlockPatterns(area, clientId);
|
|
38
36
|
const filteredBlockPatterns = useMemo(() => {
|
|
39
37
|
return searchPatterns(blockPatterns, searchValue);
|
|
@@ -71,7 +69,6 @@ export default function TemplatePartSelectionModal({
|
|
|
71
69
|
children: __('Existing template parts')
|
|
72
70
|
}), /*#__PURE__*/_jsx(BlockPatternsList, {
|
|
73
71
|
blockPatterns: filteredTemplateParts,
|
|
74
|
-
shownPatterns: shownTemplateParts,
|
|
75
72
|
onClickPattern: pattern => {
|
|
76
73
|
onTemplatePartSelect(pattern.templatePart);
|
|
77
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","
|
|
1
|
+
{"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","mapTemplatePartToBlockPattern","searchPatterns","jsx","_jsx","jsxs","_jsxs","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","blockPatterns","filteredBlockPatterns","createSuccessNotice","onTemplatePartSelect","slug","theme","undefined","title","rendered","type","hasTemplateParts","length","hasBlockPatterns","className","children","__nextHasNoMarginBottom","onChange","value","label","placeholder","onClickPattern","pattern","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -127,7 +127,7 @@ function VideoEdit({
|
|
|
127
127
|
withIllustration: !isSingleSelected,
|
|
128
128
|
icon: icon,
|
|
129
129
|
label: __('Video'),
|
|
130
|
-
instructions: __('
|
|
130
|
+
instructions: __('Drag and drop a video, upload, or choose from your library.'),
|
|
131
131
|
children: content
|
|
132
132
|
});
|
|
133
133
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","useRef","useEffect","useState","__","sprintf","useInstanceId","useDispatch","video","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","VideoCommonSettings","TracksEditor","Tracks","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","blob","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","placeholder","content","withIllustration","label","instructions","children","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","group","mediaId","mediaURL","onReset","title","VisualLabel","render","open","__next40pxDefaultSize","variant","onClick","ref","hidden","isDisabled","showToolbarButton"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","useRef","useEffect","useState","__","sprintf","useInstanceId","useDispatch","video","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","VideoCommonSettings","TracksEditor","Tracks","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","blob","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","placeholder","content","withIllustration","label","instructions","children","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","group","mediaId","mediaURL","onReset","title","VisualLabel","render","open","__next40pxDefaultSize","variant","onClick","ref","hidden","isDisabled","showToolbarButton"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
4
|
+
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
5
5
|
import { NavigableMenu, MenuItem, FormFileUpload, MenuGroup, ToolbarGroup, ToolbarButton, Dropdown, Button, TextControl, SelectControl, __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
6
|
import { MediaUpload, MediaUploadCheck, store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
7
|
import { upload, media } from '@wordpress/icons';
|
|
@@ -48,7 +48,7 @@ function TrackList({
|
|
|
48
48
|
variant: "tertiary",
|
|
49
49
|
onClick: () => onEditPress(index),
|
|
50
50
|
"aria-label": sprintf(/* translators: %s: Label of the video text track e.g: "French subtitles" */
|
|
51
|
-
|
|
51
|
+
_x('Edit %s', 'text tracks'), track.label),
|
|
52
52
|
children: __('Edit')
|
|
53
53
|
})]
|
|
54
54
|
}, index);
|
|
@@ -185,8 +185,6 @@ export default function TracksEditor({
|
|
|
185
185
|
onToggle
|
|
186
186
|
}) => /*#__PURE__*/_jsx(ToolbarGroup, {
|
|
187
187
|
children: /*#__PURE__*/_jsx(ToolbarButton, {
|
|
188
|
-
label: __('Text tracks'),
|
|
189
|
-
showTooltip: true,
|
|
190
188
|
"aria-expanded": isOpen,
|
|
191
189
|
"aria-haspopup": "true",
|
|
192
190
|
onClick: onToggle,
|