@wordpress/block-library 8.14.0 → 8.16.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/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/index.js +3 -0
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit.js +2 -30
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +2 -1
- package/build/block/index.js.map +1 -1
- package/build/buttons/edit.js +2 -2
- package/build/buttons/edit.js.map +1 -1
- package/build/column/edit.native.js +1 -4
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -0
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/deprecated.js +4 -2
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/index.js +2 -1
- package/build/cover/index.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +37 -13
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/file/index.js +1 -2
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/file/view-interactivity.js +23 -0
- package/build/file/view-interactivity.js.map +1 -0
- package/build/file/view.js +1 -15
- package/build/file/view.js.map +1 -1
- package/build/footnotes/edit.js +31 -1
- package/build/footnotes/edit.js.map +1 -1
- package/build/footnotes/format.js +119 -23
- package/build/footnotes/format.js.map +1 -1
- package/build/footnotes/index.js +45 -4
- package/build/footnotes/index.js.map +1 -1
- package/build/gallery/edit.js +8 -6
- package/build/gallery/edit.js.map +1 -1
- package/build/image/deprecated.js +106 -2
- package/build/image/deprecated.js.map +1 -1
- package/build/image/image.js +2 -2
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -1
- package/build/image/index.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +1 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +2 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/edit.js +4 -4
- package/build/list/edit.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +10 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/media-text/media-container.native.js +2 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/missing/edit.native.js +7 -5
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/constants.js +10 -4
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +16 -2
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +2 -2
- package/build/navigation/edit/inner-blocks.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 +4 -4
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -15
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/index.js +2 -3
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +33 -45
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view-interactivity.js +185 -0
- package/build/navigation/view-interactivity.js.map +1 -0
- package/build/navigation/view-modal.js +125 -0
- package/build/navigation/view-modal.js.map +1 -0
- package/build/navigation/view.js +71 -163
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +12 -7
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +2 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +28 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/preformatted/index.js +4 -0
- package/build/preformatted/index.js.map +1 -1
- package/build/query-pagination/edit.js +1 -1
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-title/edit.js +43 -1
- package/build/query-title/edit.js.map +1 -1
- package/build/quote/transforms.js +8 -0
- package/build/quote/transforms.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +4 -3
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/search/view.js +166 -62
- package/build/search/view.js.map +1 -1
- package/build/site-logo/edit.js +1 -0
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/icons/index.js +13 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/icons/threads.js +25 -0
- package/build/social-link/icons/threads.js.map +1 -0
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/import-controls.js +1 -1
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/index.js +3 -0
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit.js +4 -29
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +2 -1
- package/build-module/block/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -2
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/column/edit.native.js +1 -4
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -0
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/deprecated.js +4 -2
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/index.js +2 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +37 -14
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/file/index.js +1 -2
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/view-interactivity.js +19 -0
- package/build-module/file/view-interactivity.js.map +1 -0
- package/build-module/file/view.js +2 -15
- package/build-module/file/view.js.map +1 -1
- package/build-module/footnotes/edit.js +29 -2
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/footnotes/format.js +120 -25
- package/build-module/footnotes/format.js.map +1 -1
- package/build-module/footnotes/index.js +45 -4
- package/build-module/footnotes/index.js.map +1 -1
- package/build-module/gallery/edit.js +8 -6
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/image/deprecated.js +107 -3
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/image.js +2 -2
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -1
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +3 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/edit.js +4 -4
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +10 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/media-text/media-container.native.js +2 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/missing/edit.native.js +8 -6
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/constants.js +8 -3
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +17 -3
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -2
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +4 -4
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -14
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/index.js +2 -3
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +35 -47
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view-interactivity.js +182 -0
- package/build-module/navigation/view-interactivity.js.map +1 -0
- package/build-module/navigation/view-modal.js +120 -0
- package/build-module/navigation/view-modal.js.map +1 -0
- package/build-module/navigation/view.js +72 -163
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +12 -7
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +2 -2
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +27 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/preformatted/index.js +4 -0
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +1 -1
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-title/edit.js +44 -3
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/quote/transforms.js +8 -0
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +4 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +1 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/search/view.js +166 -62
- package/build-module/search/view.js.map +1 -1
- package/build-module/site-logo/edit.js +1 -0
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/icons/threads.js +15 -0
- package/build-module/social-link/icons/threads.js.map +1 -0
- package/build-module/social-link/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +2 -2
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-style/details/style-rtl.css +4 -2
- package/build-style/details/style.css +4 -2
- package/build-style/footnotes/style-rtl.css +4 -3
- package/build-style/footnotes/style.css +4 -3
- package/build-style/navigation/style-rtl.css +14 -2
- package/build-style/navigation/style.css +14 -2
- package/build-style/preformatted/style-rtl.css +2 -1
- package/build-style/preformatted/style.css +2 -1
- package/build-style/query-pagination/style-rtl.css +4 -2
- package/build-style/query-pagination/style.css +4 -2
- package/build-style/social-links/style-rtl.css +7 -0
- package/build-style/social-links/style.css +7 -0
- package/build-style/style-rtl.css +36 -10
- package/build-style/style.css +36 -10
- package/build-style/video/style-rtl.css +1 -0
- package/build-style/video/style.css +1 -0
- package/package.json +33 -32
- package/src/audio/test/__snapshots__/edit.native.js.snap +118 -33
- package/src/avatar/block.json +3 -0
- package/src/avatar/edit.js +1 -0
- package/src/block/block.json +2 -1
- package/src/block/edit.js +1 -39
- package/src/block/editor.native.scss +2 -2
- package/src/buttons/edit.js +2 -2
- package/src/buttons/test/edit.native.js +4 -0
- package/src/column/edit.native.js +4 -10
- package/src/column/editor.native.scss +0 -4
- package/src/columns/edit.js +1 -0
- package/src/columns/test/edit.native.js +5 -0
- package/src/comment-author-avatar/edit.js +1 -0
- package/src/comment-template/index.php +7 -2
- package/src/cover/block.json +2 -1
- package/src/cover/deprecated.js +2 -0
- package/src/cover/test/edit.native.js +8 -0
- package/src/embed/embed-placeholder.native.js +80 -47
- package/src/embed/styles.native.scss +54 -18
- package/src/embed/test/index.native.js +13 -5
- package/src/file/block.json +1 -2
- package/src/file/index.php +20 -2
- package/src/file/inspector.js +1 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +119 -33
- package/src/file/view-interactivity.js +18 -0
- package/src/file/view.js +5 -14
- package/src/footnotes/block.json +44 -2
- package/src/footnotes/edit.js +33 -2
- package/src/footnotes/format.js +90 -25
- package/src/footnotes/index.js +0 -1
- package/src/footnotes/index.php +207 -0
- package/src/footnotes/style.scss +6 -3
- package/src/gallery/edit.js +42 -38
- package/src/gallery/test/index.native.js +31 -18
- package/src/heading/test/index.native.js +4 -0
- package/src/home-link/index.php +15 -2
- package/src/image/block.json +2 -1
- package/src/image/deprecated.js +109 -3
- package/src/image/image.js +2 -2
- package/src/image/index.php +45 -8
- package/src/image/test/edit.native.js +1 -2
- package/src/index.js +5 -1
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-posts/edit.js +2 -0
- package/src/list/edit.js +6 -4
- package/src/list/test/edit.native.js +134 -33
- package/src/list-item/hooks/use-merge.js +12 -5
- package/src/media-text/media-container.native.js +1 -0
- package/src/missing/edit.native.js +12 -10
- package/src/missing/style.native.scss +19 -12
- package/src/missing/test/__snapshots__/edit.native.js.snap +42 -13
- package/src/navigation/block.json +2 -3
- package/src/navigation/constants.js +12 -6
- package/src/navigation/edit/index.js +29 -1
- package/src/navigation/edit/inner-blocks.js +2 -2
- package/src/navigation/edit/menu-inspector-controls.js +1 -1
- package/src/navigation/edit/navigation-menu-selector.js +8 -4
- package/src/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +17 -21
- package/src/navigation/index.php +50 -18
- package/src/navigation/style.scss +27 -8
- package/src/navigation/use-navigation-menu.js +39 -63
- package/src/navigation/view-interactivity.js +196 -0
- package/src/navigation/view-modal.js +127 -0
- package/src/navigation/view.js +96 -185
- package/src/navigation-link/edit.js +61 -47
- package/src/navigation-submenu/edit.js +2 -2
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +1 -0
- package/src/paragraph/test/edit.native.js +81 -35
- package/src/pattern/edit.js +21 -0
- package/src/pattern/index.php +13 -1
- package/src/post-template/index.php +6 -2
- package/src/post-title/index.php +8 -3
- package/src/preformatted/block.json +4 -0
- package/src/preformatted/style.scss +4 -1
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +2 -0
- package/src/pullquote/test/edit.native.js +12 -4
- package/src/query-pagination/edit.js +17 -14
- package/src/query-title/edit.js +48 -6
- package/src/quote/test/__snapshots__/transforms.native.js.snap +10 -0
- package/src/quote/test/edit.native.js +12 -4
- package/src/quote/test/transforms.native.js +5 -1
- package/src/quote/transforms.js +13 -0
- package/src/rss/edit.js +3 -0
- package/src/search/block.json +1 -0
- package/src/search/edit.js +4 -3
- package/src/search/index.php +26 -4
- package/src/search/test/__snapshots__/edit.native.js.snap +70 -0
- package/src/search/view.js +171 -67
- package/src/site-logo/edit.js +1 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/icons/threads.js +10 -0
- package/src/social-link/index.php +4 -0
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +4 -0
- package/src/social-link/variations.js +7 -0
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/import-controls.js +2 -2
- package/src/template-part/edit/index.js +1 -1
- package/src/template-part/index.php +7 -16
- package/src/text-columns/edit.js +1 -0
- package/src/video/style.scss +1 -0
- package/build/gallery/shared-icon.native.js +0 -38
- package/build/gallery/shared-icon.native.js.map +0 -1
- package/build-module/gallery/shared-icon.native.js +0 -24
- package/build-module/gallery/shared-icon.native.js.map +0 -1
- package/src/gallery/shared-icon.native.js +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","type","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","blockEditorStore","isLinkOpen","setIsLinkOpen","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","pagesPermissions","postsPermissions","isAtMaxNesting","isTopLevelItem","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","userCanCreate","canCreate","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","isKeyboardEvent","primary","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","__experimentalDefaultBlock","__experimentalDirectInsert","__experimentalCaptureToolbars","renderAppender","InnerBlocks","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","linkIcon","displayShortcut","removeSubmenu","labelValue","urlValue","descriptionValue","titleValue","relValue","updatedValue"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { placeCaretAtHorizontalEdge } from '@wordpress/dom';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { useResourcePermissions } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { name } from './block.json';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, type, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelItem,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length >=\n\t\t\t\t\tmaxNestingLevel,\n\t\t\t\tisTopLevelItem:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length === 0,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelItem );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks = isAtMaxNesting\n\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t )\n\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tisDisabled={ ! canConvertToLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\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<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\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\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\thasCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","type","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","blockEditorStore","isLinkOpen","setIsLinkOpen","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","pagesPermissions","postsPermissions","isAtMaxNesting","isTopLevelItem","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","userCanCreate","canCreate","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","isKeyboardEvent","primary","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","InnerBlocks","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","linkIcon","displayShortcut","removeSubmenu","labelValue","urlValue","descriptionValue","titleValue","relValue","updatedValue"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { placeCaretAtHorizontalEdge } from '@wordpress/dom';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { useResourcePermissions } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { name } from './block.json';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, type, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelItem,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length >=\n\t\t\t\t\tmaxNestingLevel,\n\t\t\t\tisTopLevelItem:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length === 0,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelItem );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks = isAtMaxNesting\n\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t )\n\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tisDisabled={ ! canConvertToLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\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<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\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\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\thasCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
package/build/pattern/edit.js
CHANGED
|
@@ -13,9 +13,15 @@ var _data = require("@wordpress/data");
|
|
|
13
13
|
|
|
14
14
|
var _blockEditor = require("@wordpress/block-editor");
|
|
15
15
|
|
|
16
|
+
var _lockUnlock = require("../lock-unlock");
|
|
17
|
+
|
|
16
18
|
/**
|
|
17
19
|
* WordPress dependencies
|
|
18
20
|
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Internal dependencies
|
|
24
|
+
*/
|
|
19
25
|
const PatternEdit = ({
|
|
20
26
|
attributes,
|
|
21
27
|
clientId
|
|
@@ -24,7 +30,14 @@ const PatternEdit = ({
|
|
|
24
30
|
const {
|
|
25
31
|
replaceBlocks,
|
|
26
32
|
__unstableMarkNextChangeAsNotPersistent
|
|
27
|
-
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
33
|
+
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
34
|
+
const {
|
|
35
|
+
setBlockEditingMode
|
|
36
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store));
|
|
37
|
+
const {
|
|
38
|
+
getBlockRootClientId,
|
|
39
|
+
getBlockEditingMode
|
|
40
|
+
} = (0, _lockUnlock.unlock)((0, _data.useSelect)(_blockEditor.store)); // Run this effect when the component loads.
|
|
28
41
|
// This adds the Pattern's contents to the post.
|
|
29
42
|
// This change won't be saved.
|
|
30
43
|
// It will continue to pull from the pattern file unless changes are made to its respective template part.
|
|
@@ -37,16 +50,27 @@ const PatternEdit = ({
|
|
|
37
50
|
// because nested pattern blocks cannot be inserted if the parent block supports
|
|
38
51
|
// inner blocks but doesn't have blockSettings in the state.
|
|
39
52
|
window.queueMicrotask(() => {
|
|
40
|
-
// Clone blocks from the pattern before insertion to ensure they receive
|
|
53
|
+
const rootClientId = getBlockRootClientId(clientId); // Clone blocks from the pattern before insertion to ensure they receive
|
|
41
54
|
// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.
|
|
55
|
+
|
|
42
56
|
const clonedBlocks = selectedPattern.blocks.map(block => (0, _blocks.cloneBlock)(block));
|
|
57
|
+
const rootEditingMode = getBlockEditingMode(rootClientId); // Temporarily set the root block to default mode to allow replacing the pattern.
|
|
58
|
+
// This could happen when the page is disabling edits of non-content blocks.
|
|
59
|
+
|
|
60
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
61
|
+
|
|
62
|
+
setBlockEditingMode(rootClientId, 'default');
|
|
63
|
+
|
|
64
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
65
|
+
|
|
66
|
+
replaceBlocks(clientId, clonedBlocks); // Restore the root block's original mode.
|
|
43
67
|
|
|
44
68
|
__unstableMarkNextChangeAsNotPersistent();
|
|
45
69
|
|
|
46
|
-
|
|
70
|
+
setBlockEditingMode(rootClientId, rootEditingMode);
|
|
47
71
|
});
|
|
48
72
|
}
|
|
49
|
-
}, [clientId, selectedPattern?.blocks, __unstableMarkNextChangeAsNotPersistent, replaceBlocks]);
|
|
73
|
+
}, [clientId, selectedPattern?.blocks, __unstableMarkNextChangeAsNotPersistent, replaceBlocks, getBlockEditingMode, setBlockEditingMode, getBlockRootClientId]);
|
|
50
74
|
const props = (0, _blockEditor.useBlockProps)();
|
|
51
75
|
return (0, _element.createElement)("div", { ...props
|
|
52
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/pattern/edit.js"],"names":["PatternEdit","attributes","clientId","selectedPattern","select","blockEditorStore","__experimentalGetParsedPattern","slug","replaceBlocks","__unstableMarkNextChangeAsNotPersistent","blocks","window","queueMicrotask","clonedBlocks","map","block","props"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/pattern/edit.js"],"names":["PatternEdit","attributes","clientId","selectedPattern","select","blockEditorStore","__experimentalGetParsedPattern","slug","replaceBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","getBlockRootClientId","getBlockEditingMode","blocks","window","queueMicrotask","rootClientId","clonedBlocks","map","block","rootEditingMode","props"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AAQA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGA,MAAMA,WAAW,GAAG,CAAE;AAAEC,EAAAA,UAAF;AAAcC,EAAAA;AAAd,CAAF,KAAgC;AACnD,QAAMC,eAAe,GAAG,qBACrBC,MAAF,IACCA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,8BAA3B,CACCL,UAAU,CAACM,IADZ,CAFsB,EAKvB,CAAEN,UAAU,CAACM,IAAb,CALuB,CAAxB;AAQA,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MACL,uBAAaJ,kBAAb,CADD;AAEA,QAAM;AAAEK,IAAAA;AAAF,MAA0B,wBAAQ,uBAAaL,kBAAb,CAAR,CAAhC;AACA,QAAM;AAAEM,IAAAA,oBAAF;AAAwBC,IAAAA;AAAxB,MAAgD,wBACrD,qBAAWP,kBAAX,CADqD,CAAtD,CAZmD,CAgBnD;AACA;AACA;AACA;;AACA,0BAAW,MAAM;AAChB,QAAKF,eAAe,EAAEU,MAAtB,EAA+B;AAC9B;AACA;AACA;AACA;AACA;AACAC,MAAAA,MAAM,CAACC,cAAP,CAAuB,MAAM;AAC5B,cAAMC,YAAY,GAAGL,oBAAoB,CAAET,QAAF,CAAzC,CAD4B,CAE5B;AACA;;AACA,cAAMe,YAAY,GAAGd,eAAe,CAACU,MAAhB,CAAuBK,GAAvB,CAA8BC,KAAF,IAChD,wBAAYA,KAAZ,CADoB,CAArB;AAGA,cAAMC,eAAe,GAAGR,mBAAmB,CAAEI,YAAF,CAA3C,CAP4B,CAQ5B;AACA;;AACAP,QAAAA,uCAAuC;;AACvCC,QAAAA,mBAAmB,CAAEM,YAAF,EAAgB,SAAhB,CAAnB;;AACAP,QAAAA,uCAAuC;;AACvCD,QAAAA,aAAa,CAAEN,QAAF,EAAYe,YAAZ,CAAb,CAb4B,CAc5B;;AACAR,QAAAA,uCAAuC;;AACvCC,QAAAA,mBAAmB,CAAEM,YAAF,EAAgBI,eAAhB,CAAnB;AACA,OAjBD;AAkBA;AACD,GA1BD,EA0BG,CACFlB,QADE,EAEFC,eAAe,EAAEU,MAFf,EAGFJ,uCAHE,EAIFD,aAJE,EAKFI,mBALE,EAMFF,mBANE,EAOFC,oBAPE,CA1BH;AAoCA,QAAMU,KAAK,GAAG,iCAAd;AAEA,SAAO,wCAAUA;AAAV,IAAP;AACA,CA3DD;;eA6DerB,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst { replaceBlocks, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { setBlockEditingMode } = unlock( useDispatch( blockEditorStore ) );\n\tconst { getBlockRootClientId, getBlockEditingMode } = unlock(\n\t\tuseSelect( blockEditorStore )\n\t);\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( selectedPattern?.blocks ) {\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock( block )\n\t\t\t\t);\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\tselectedPattern?.blocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/preformatted/index.js"],"names":["name","metadata","settings","icon","example","attributes","content","transforms","edit","save","merge","attributesToMerge","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/preformatted/index.js"],"names":["name","metadata","settings","icon","example","attributes","content","transforms","edit","save","merge","attributesToMerge","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,mBADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACX;AACA;AACAC,MAAAA,OAAO,EAAE,cACR,wQADQ;AAGT;;AANW;AADJ,GAFc;AAYvBC,EAAAA,UAAU,EAAVA,mBAZuB;AAavBC,EAAAA,IAAI,EAAJA,aAbuB;AAcvBC,EAAAA,IAAI,EAAJA,aAduB;;AAevBC,EAAAA,KAAK,CAAEL,UAAF,EAAcM,iBAAd,EAAkC;AACtC,WAAO;AACNL,MAAAA,OAAO,EAAED,UAAU,CAACC,OAAX,GAAqBK,iBAAiB,CAACL;AAD1C,KAAP;AAGA;;AAnBsB,CAAjB;;;AAsBA,MAAMM,IAAI,GAAG,MAAM,wBAAW;AAAEZ,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { preformatted as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Sample content for the Preformatted block. Can be replaced with a more locale-adequate work.\n\t\t\tcontent: __(\n\t\t\t\t'EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\\nWindow, very small in the distance, illuminated.\\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -50,7 +50,7 @@ function QueryPaginationEdit({
|
|
|
50
50
|
return innerBlocks?.find(innerBlock => {
|
|
51
51
|
return ['core/query-pagination-next', 'core/query-pagination-previous'].includes(innerBlock.name);
|
|
52
52
|
});
|
|
53
|
-
}, []);
|
|
53
|
+
}, [clientId]);
|
|
54
54
|
const blockProps = (0, _blockEditor.useBlockProps)();
|
|
55
55
|
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
|
|
56
56
|
template: TEMPLATE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-pagination/edit.js"],"names":["TEMPLATE","ALLOWED_BLOCKS","QueryPaginationEdit","attributes","paginationArrow","showLabel","setAttributes","clientId","hasNextPreviousBlocks","select","getBlocks","blockEditorStore","innerBlocks","find","innerBlock","includes","name","blockProps","innerBlocksProps","template","allowedBlocks","value"],"mappings":";;;;;;;AAYA;;AATA;;AACA;;AAMA;;AACA;;AAMA;;AACA;;AAlBA;AACA;AACA;;AAYA;AACA;AACA;AAIA,MAAMA,QAAQ,GAAG,CAChB,CAAE,gCAAF,CADgB,EAEhB,CAAE,+BAAF,CAFgB,EAGhB,CAAE,4BAAF,CAHgB,CAAjB;AAKA,MAAMC,cAAc,GAAG,CACtB,gCADsB,EAEtB,+BAFsB,EAGtB,4BAHsB,CAAvB;;AAMe,SAASC,mBAAT,CAA8B;AAC5CC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GADgC;AAE5CC,EAAAA,aAF4C;AAG5CC,EAAAA;AAH4C,CAA9B,EAIX;AACH,QAAMC,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-pagination/edit.js"],"names":["TEMPLATE","ALLOWED_BLOCKS","QueryPaginationEdit","attributes","paginationArrow","showLabel","setAttributes","clientId","hasNextPreviousBlocks","select","getBlocks","blockEditorStore","innerBlocks","find","innerBlock","includes","name","blockProps","innerBlocksProps","template","allowedBlocks","value"],"mappings":";;;;;;;AAYA;;AATA;;AACA;;AAMA;;AACA;;AAMA;;AACA;;AAlBA;AACA;AACA;;AAYA;AACA;AACA;AAIA,MAAMA,QAAQ,GAAG,CAChB,CAAE,gCAAF,CADgB,EAEhB,CAAE,+BAAF,CAFgB,EAGhB,CAAE,4BAAF,CAHgB,CAAjB;AAKA,MAAMC,cAAc,GAAG,CACtB,gCADsB,EAEtB,+BAFsB,EAGtB,4BAHsB,CAAvB;;AAMe,SAASC,mBAAT,CAA8B;AAC5CC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GADgC;AAE5CC,EAAAA,aAF4C;AAG5CC,EAAAA;AAH4C,CAA9B,EAIX;AACH,QAAMC,qBAAqB,GAAG,qBAC3BC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAgBD,MAAM,CAAEE,kBAAF,CAA5B;AACA,UAAMC,WAAW,GAAGF,SAAS,CAAEH,QAAF,CAA7B;AACA;AACH;AACA;AACA;;AACG,WAAOK,WAAW,EAAEC,IAAb,CAAqBC,UAAF,IAAkB;AAC3C,aAAO,CACN,4BADM,EAEN,gCAFM,EAGLC,QAHK,CAGKD,UAAU,CAACE,IAHhB,CAAP;AAIA,KALM,CAAP;AAMA,GAd4B,EAe7B,CAAET,QAAF,CAf6B,CAA9B;AAiBA,QAAMU,UAAU,GAAG,iCAAnB;AACA,QAAMC,gBAAgB,GAAG,sCAAqBD,UAArB,EAAiC;AACzDE,IAAAA,QAAQ,EAAEnB,QAD+C;AAEzDoB,IAAAA,aAAa,EAAEnB;AAF0C,GAAjC,CAAzB,CAnBG,CAuBH;;AACA,0BAAW,MAAM;AAChB,QAAKG,eAAe,KAAK,MAApB,IAA8B,CAAEC,SAArC,EAAiD;AAChDC,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAE;AAAb,OAAF,CAAb;AACA;AACD,GAJD,EAIG,CAAED,eAAF,EAAmBE,aAAnB,EAAkCD,SAAlC,CAJH;AAKA,SACC,qDACGG,qBAAqB,IACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,0DAAD;AACC,IAAA,KAAK,EAAGJ,eADT;AAEC,IAAA,QAAQ,EAAKiB,KAAF,IAAa;AACvBf,MAAAA,aAAa,CAAE;AAAEF,QAAAA,eAAe,EAAEiB;AAAnB,OAAF,CAAb;AACA;AAJF,IADD,EAOGjB,eAAe,KAAK,MAApB,IACD,4BAAC,wDAAD;AACC,IAAA,KAAK,EAAGC,SADT;AAEC,IAAA,QAAQ,EAAKgB,KAAF,IAAa;AACvBf,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAEgB;AAAb,OAAF,CAAb;AACA;AAJF,IARF,CADD,CAFF,EAqBC,wCAAUH;AAAV,IArBD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { QueryPaginationArrowControls } from './query-pagination-arrow-controls';\nimport { QueryPaginationLabelControl } from './query-pagination-label-control';\n\nconst TEMPLATE = [\n\t[ 'core/query-pagination-previous' ],\n\t[ 'core/query-pagination-numbers' ],\n\t[ 'core/query-pagination-next' ],\n];\nconst ALLOWED_BLOCKS = [\n\t'core/query-pagination-previous',\n\t'core/query-pagination-numbers',\n\t'core/query-pagination-next',\n];\n\nexport default function QueryPaginationEdit( {\n\tattributes: { paginationArrow, showLabel },\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst hasNextPreviousBlocks = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\t\t\t/**\n\t\t\t * Show the `paginationArrow` and `showLabel` controls only if a\n\t\t\t * `QueryPaginationNext/Previous` block exists.\n\t\t\t */\n\t\t\treturn innerBlocks?.find( ( innerBlock ) => {\n\t\t\t\treturn [\n\t\t\t\t\t'core/query-pagination-next',\n\t\t\t\t\t'core/query-pagination-previous',\n\t\t\t\t].includes( innerBlock.name );\n\t\t\t} );\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t} );\n\t// Always show label text if paginationArrow is set to 'none'.\n\tuseEffect( () => {\n\t\tif ( paginationArrow === 'none' && ! showLabel ) {\n\t\t\tsetAttributes( { showLabel: true } );\n\t\t}\n\t}, [ paginationArrow, setAttributes, showLabel ] );\n\treturn (\n\t\t<>\n\t\t\t{ hasNextPreviousBlocks && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<QueryPaginationArrowControls\n\t\t\t\t\t\t\tvalue={ paginationArrow }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { paginationArrow: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ paginationArrow !== 'none' && (\n\t\t\t\t\t\t\t<QueryPaginationLabelControl\n\t\t\t\t\t\t\t\tvalue={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { showLabel: value } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<nav { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -17,6 +17,8 @@ var _components = require("@wordpress/components");
|
|
|
17
17
|
|
|
18
18
|
var _i18n = require("@wordpress/i18n");
|
|
19
19
|
|
|
20
|
+
var _data = require("@wordpress/data");
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* External dependencies
|
|
22
24
|
*/
|
|
@@ -36,6 +38,22 @@ function QueryTitleEdit({
|
|
|
36
38
|
},
|
|
37
39
|
setAttributes
|
|
38
40
|
}) {
|
|
41
|
+
const {
|
|
42
|
+
archiveTypeTitle,
|
|
43
|
+
archiveNameLabel
|
|
44
|
+
} = (0, _data.useSelect)(select => {
|
|
45
|
+
const {
|
|
46
|
+
getSettings
|
|
47
|
+
} = select(_blockEditor.store);
|
|
48
|
+
const {
|
|
49
|
+
__experimentalArchiveTitleNameLabel,
|
|
50
|
+
__experimentalArchiveTitleTypeLabel
|
|
51
|
+
} = getSettings();
|
|
52
|
+
return {
|
|
53
|
+
archiveTypeTitle: __experimentalArchiveTitleTypeLabel,
|
|
54
|
+
archiveNameLabel: __experimentalArchiveTitleNameLabel
|
|
55
|
+
};
|
|
56
|
+
});
|
|
39
57
|
const TagName = `h${level}`;
|
|
40
58
|
const blockProps = (0, _blockEditor.useBlockProps)({
|
|
41
59
|
className: (0, _classnames.default)('wp-block-query-title__placeholder', {
|
|
@@ -51,6 +69,30 @@ function QueryTitleEdit({
|
|
|
51
69
|
let titleElement;
|
|
52
70
|
|
|
53
71
|
if (type === 'archive') {
|
|
72
|
+
let title;
|
|
73
|
+
|
|
74
|
+
if (archiveTypeTitle) {
|
|
75
|
+
if (showPrefix) {
|
|
76
|
+
if (archiveNameLabel) {
|
|
77
|
+
title = (0, _i18n.sprintf)(
|
|
78
|
+
/* translators: 1: Archive type title e.g: "Category", 2: Label of the archive e.g: "Shoes" */
|
|
79
|
+
(0, _i18n.__)('%1$s: %2$s'), archiveTypeTitle, archiveNameLabel);
|
|
80
|
+
} else {
|
|
81
|
+
title = (0, _i18n.sprintf)(
|
|
82
|
+
/* translators: %s: Archive type title e.g: "Category", "Tag"... */
|
|
83
|
+
(0, _i18n.__)('%s: Name'), archiveTypeTitle);
|
|
84
|
+
}
|
|
85
|
+
} else if (archiveNameLabel) {
|
|
86
|
+
title = archiveNameLabel;
|
|
87
|
+
} else {
|
|
88
|
+
title = (0, _i18n.sprintf)(
|
|
89
|
+
/* translators: %s: Archive type title e.g: "Category", "Tag"... */
|
|
90
|
+
(0, _i18n.__)('%s name'), archiveTypeTitle);
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
title = showPrefix ? (0, _i18n.__)('Archive type: Name') : (0, _i18n.__)('Archive title');
|
|
94
|
+
}
|
|
95
|
+
|
|
54
96
|
titleElement = (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
|
|
55
97
|
title: (0, _i18n.__)('Settings')
|
|
56
98
|
}, (0, _element.createElement)(_components.ToggleControl, {
|
|
@@ -61,7 +103,7 @@ function QueryTitleEdit({
|
|
|
61
103
|
}),
|
|
62
104
|
checked: showPrefix
|
|
63
105
|
}))), (0, _element.createElement)(TagName, { ...blockProps
|
|
64
|
-
},
|
|
106
|
+
}, title));
|
|
65
107
|
}
|
|
66
108
|
|
|
67
109
|
if (type === 'search') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showPrefix","showSearchTerm","setAttributes","TagName","blockProps","className","includes","titleElement","newLevel","nextAlign"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeTitle","archiveNameLabel","select","getSettings","blockEditorStore","__experimentalArchiveTitleNameLabel","__experimentalArchiveTitleTypeLabel","TagName","blockProps","className","includes","titleElement","title","newLevel","nextAlign"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign, showPrefix, showSearchTerm },\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeTitle, archiveNameLabel } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst {\n\t\t\t__experimentalArchiveTitleNameLabel,\n\t\t\t__experimentalArchiveTitleTypeLabel,\n\t\t} = getSettings();\n\t\treturn {\n\t\t\tarchiveTypeTitle: __experimentalArchiveTitleTypeLabel,\n\t\t\tarchiveNameLabel: __experimentalArchiveTitleNameLabel,\n\t\t};\n\t} );\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeTitle ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\tarchiveTypeTitle,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeTitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -97,6 +97,14 @@ const transforms = {
|
|
|
97
97
|
style
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
+
}, {
|
|
101
|
+
type: 'block',
|
|
102
|
+
blocks: ['core/paragraph'],
|
|
103
|
+
transform: ({
|
|
104
|
+
citation
|
|
105
|
+
}, innerBlocks) => citation ? [...innerBlocks, (0, _blocks.createBlock)('core/paragraph', {
|
|
106
|
+
content: citation
|
|
107
|
+
})] : innerBlocks
|
|
100
108
|
}, {
|
|
101
109
|
type: 'block',
|
|
102
110
|
blocks: ['core/group'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","content","prefix","schema","blockquote","children","selector","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","length","includes","name","some","__experimentalConvert","map","block","attributes","innerBlocks","to","every","join","ungroup"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","content","prefix","schema","blockquote","children","selector","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","length","includes","name","some","__experimentalConvert","map","block","attributes","innerBlocks","to","every","join","ungroup"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { value, citation, anchor, fontSize, style } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{\n\t\t\t\t\t\tcitation,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t},\n\t\t\t\t\t[ createBlock( 'core/paragraph', { content: value } ) ]\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'prefix',\n\t\t\tprefix: '>',\n\t\t\ttransform: ( content ) =>\n\t\t\t\tcreateBlock( 'core/quote', {}, [\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t\t\t] ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: () => ( {\n\t\t\t\tblockquote: {\n\t\t\t\t\tchildren: '*',\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tselector: 'blockquote',\n\t\t\ttransform: ( node, handler ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t// Don't try to parse any `cite` out of this content.\n\t\t\t\t\t// * There may be more than one cite.\n\t\t\t\t\t// * There may be more attribution text than just the cite.\n\t\t\t\t\t// * If the cite is nested in the quoted text, it's wrong to\n\t\t\t\t\t// remove it.\n\t\t\t\t\t{},\n\t\t\t\t\thandler( {\n\t\t\t\t\t\tHTML: node.innerHTML,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch: ( {}, blocks ) => {\n\t\t\t\t// When a single block is selected make the tranformation\n\t\t\t\t// available only to specific blocks that make sense.\n\t\t\t\tif ( blocks.length === 1 ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t'core/list',\n\t\t\t\t\t\t'core/pullquote',\n\t\t\t\t\t].includes( blocks[ 0 ].name );\n\t\t\t\t}\n\t\t\t\treturn ! blocks.some( ( { name } ) => name === 'core/quote' );\n\t\t\t},\n\t\t\t__experimentalConvert: ( blocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) =>\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\tisMatch: ( {}, block ) => {\n\t\t\t\treturn block.innerBlocks.every(\n\t\t\t\t\t( { name } ) => name === 'core/paragraph'\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ citation, anchor, fontSize, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst value = innerBlocks\n\t\t\t\t\t.map( ( { attributes } ) => `${ attributes.content }` )\n\t\t\t\t\t.join( '<br>' );\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue,\n\t\t\t\t\tcitation,\n\t\t\t\t\tanchor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { citation }, innerBlocks ) =>\n\t\t\t\tcitation\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: innerBlocks,\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { citation, anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ anchor },\n\t\t\t\t\tcitation\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: innerBlocks\n\t\t\t\t),\n\t\t},\n\t],\n\tungroup: ( { citation }, innerBlocks ) =>\n\t\tcitation\n\t\t\t? [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t} ),\n\t\t\t ]\n\t\t\t: innerBlocks,\n};\n\nexport default transforms;\n"]}
|
package/build/rss/edit.js
CHANGED
|
@@ -114,6 +114,7 @@ function RSSEdit({
|
|
|
114
114
|
title: (0, _i18n.__)('Settings')
|
|
115
115
|
}, (0, _element.createElement)(_components.RangeControl, {
|
|
116
116
|
__nextHasNoMarginBottom: true,
|
|
117
|
+
__next40pxDefaultSize: true,
|
|
117
118
|
label: (0, _i18n.__)('Number of items'),
|
|
118
119
|
value: itemsToShow,
|
|
119
120
|
onChange: value => setAttributes({
|
|
@@ -139,6 +140,7 @@ function RSSEdit({
|
|
|
139
140
|
onChange: toggleAttribute('displayExcerpt')
|
|
140
141
|
}), displayExcerpt && (0, _element.createElement)(_components.RangeControl, {
|
|
141
142
|
__nextHasNoMarginBottom: true,
|
|
143
|
+
__next40pxDefaultSize: true,
|
|
142
144
|
label: (0, _i18n.__)('Max number of words in excerpt'),
|
|
143
145
|
value: excerptLength,
|
|
144
146
|
onChange: value => setAttributes({
|
|
@@ -149,6 +151,7 @@ function RSSEdit({
|
|
|
149
151
|
required: true
|
|
150
152
|
}), blockLayout === 'grid' && (0, _element.createElement)(_components.RangeControl, {
|
|
151
153
|
__nextHasNoMarginBottom: true,
|
|
154
|
+
__next40pxDefaultSize: true,
|
|
152
155
|
label: (0, _i18n.__)('Columns'),
|
|
153
156
|
value: columns,
|
|
154
157
|
onChange: value => setAttributes({
|
package/build/rss/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/rss/edit.js"],"names":["DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","RSSEdit","attributes","setAttributes","isEditing","setIsEditing","feedURL","blockLayout","columns","displayAuthor","displayDate","displayExcerpt","excerptLength","itemsToShow","toggleAttribute","propName","value","onSubmitURL","event","preventDefault","blockProps","rss","toolbarControls","icon","edit","title","onClick","list","isActive","grid"],"mappings":";;;;;;;;;AAmBA;;AAhBA;;AAKA;;AAYA;;AACA;;AACA;;AACA;;AAvBA;AACA;AACA;AAuBA,MAAMA,iBAAiB,GAAG,CAA1B;AACA,MAAMC,iBAAiB,GAAG,EAA1B;;AAEe,SAASC,OAAT,CAAkB;AAAEC,EAAAA,UAAF;AAAcC,EAAAA;AAAd,CAAlB,EAAkD;AAChE,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,CAAEH,UAAU,CAACI,OAAvB,CAApC;AAEA,QAAM;AACLC,IAAAA,WADK;AAELC,IAAAA,OAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,WAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA,aANK;AAOLN,IAAAA,OAPK;AAQLO,IAAAA;AARK,MASFX,UATJ;;AAWA,WAASY,eAAT,CAA0BC,QAA1B,EAAqC;AACpC,WAAO,MAAM;AACZ,YAAMC,KAAK,GAAGd,UAAU,CAAEa,QAAF,CAAxB;AAEAZ,MAAAA,aAAa,CAAE;AAAE,SAAEY,QAAF,GAAc,CAAEC;AAAlB,OAAF,CAAb;AACA,KAJD;AAKA;;AAED,WAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC7BA,IAAAA,KAAK,CAACC,cAAN;;AAEA,QAAKb,OAAL,EAAe;AACdH,MAAAA,aAAa,CAAE;AAAEG,QAAAA,OAAO,EAAE,sBAAaA,OAAb;AAAX,OAAF,CAAb;AACAD,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA;AACD;;AAED,QAAMe,UAAU,GAAG,iCAAnB;;AAEA,MAAKhB,SAAL,EAAiB;AAChB,WACC,wCAAUgB;AAAV,OACC,4BAAC,uBAAD;AAAa,MAAA,IAAI,EAAGC,UAApB;AAA0B,MAAA,KAAK,EAAC;AAAhC,OACC;AACC,MAAA,QAAQ,EAAGJ,WADZ;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC,4BAAC,gCAAD;AAAQ,MAAA,IAAI;AAAZ,OACC,4BAAC,sCAAD;AACC,MAAA,qBAAqB,MADtB;AAEC,MAAA,WAAW,EAAG,cAAI,iBAAJ,CAFf;AAGC,MAAA,KAAK,EAAGX,OAHT;AAIC,MAAA,QAAQ,EAAKU,KAAF,IACVb,aAAa,CAAE;AAAEG,QAAAA,OAAO,EAAEU;AAAX,OAAF,CALf;AAOC,MAAA,SAAS,EAAC;AAPX,MADD,EAUC,4BAAC,kBAAD;AAAQ,MAAA,OAAO,EAAC,SAAhB;AAA0B,MAAA,IAAI,EAAC;AAA/B,OACG,cAAI,SAAJ,CADH,CAVD,CAJD,CADD,CADD,CADD;AAyBA;;AAED,QAAMM,eAAe,GAAG,CACvB;AACCC,IAAAA,IAAI,EAAEC,WADP;AAECC,IAAAA,KAAK,EAAE,cAAI,cAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAMrB,YAAY,CAAE,IAAF;AAH5B,GADuB,EAMvB;AACCkB,IAAAA,IAAI,EAAEI,WADP;AAECF,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAMvB,aAAa,CAAE;AAAEI,MAAAA,WAAW,EAAE;AAAf,KAAF,CAH7B;AAICqB,IAAAA,QAAQ,EAAErB,WAAW,KAAK;AAJ3B,GANuB,EAYvB;AACCgB,IAAAA,IAAI,EAAEM,WADP;AAECJ,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAMvB,aAAa,CAAE;AAAEI,MAAAA,WAAW,EAAE;AAAf,KAAF,CAH7B;AAICqB,IAAAA,QAAQ,EAAErB,WAAW,KAAK;AAJ3B,GAZuB,CAAxB;AAoBA,SACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,wBAAD;AAAc,IAAA,QAAQ,EAAGe;AAAzB,IADD,CADD,EAIC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,iBAAJ,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/rss/edit.js"],"names":["DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","RSSEdit","attributes","setAttributes","isEditing","setIsEditing","feedURL","blockLayout","columns","displayAuthor","displayDate","displayExcerpt","excerptLength","itemsToShow","toggleAttribute","propName","value","onSubmitURL","event","preventDefault","blockProps","rss","toolbarControls","icon","edit","title","onClick","list","isActive","grid"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { grid, list, edit, rss } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { prependHTTP } from '@wordpress/url';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t} = attributes;\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTP( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps();\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ rss } label=\"RSS\">\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack wrap>\n\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t{ __( 'Use URL' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: edit,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ 6 }\n\t\t\t\t\t\t\trequired\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<div { ...blockProps }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/rss\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
package/build/search/edit.js
CHANGED
|
@@ -77,9 +77,9 @@ function SearchEdit({
|
|
|
77
77
|
const {
|
|
78
78
|
__unstableMarkNextChangeAsNotPersistent
|
|
79
79
|
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
80
|
-
(0, _element.useEffect)(() => {
|
|
81
|
-
if (!insertedInNavigationBlock) return; // This side-effect should not create an undo level.
|
|
82
80
|
|
|
81
|
+
if (insertedInNavigationBlock) {
|
|
82
|
+
// This side-effect should not create an undo level.
|
|
83
83
|
__unstableMarkNextChangeAsNotPersistent();
|
|
84
84
|
|
|
85
85
|
setAttributes({
|
|
@@ -87,7 +87,8 @@ function SearchEdit({
|
|
|
87
87
|
buttonUseIcon: true,
|
|
88
88
|
buttonPosition: 'button-inside'
|
|
89
89
|
});
|
|
90
|
-
}
|
|
90
|
+
}
|
|
91
|
+
|
|
91
92
|
const borderRadius = style?.border?.radius;
|
|
92
93
|
const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes); // Check for old deprecated numerical border radius. Done as a separate
|
|
93
94
|
// check so that a borderRadius style won't overwrite the longhand
|