@wordpress/block-library 9.16.0 → 9.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +2 -2
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/categories/edit.js +115 -37
  5. package/build/categories/edit.js.map +1 -1
  6. package/build/comments/edit/comments-inspector-controls.js +6 -5
  7. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  8. package/build/comments-pagination/index.js +5 -0
  9. package/build/comments-pagination/index.js.map +1 -1
  10. package/build/cover/edit/inspector-controls.js +2 -9
  11. package/build/cover/edit/inspector-controls.js.map +1 -1
  12. package/build/details/edit.js +16 -2
  13. package/build/details/edit.js.map +1 -1
  14. package/build/details/index.js +9 -0
  15. package/build/details/index.js.map +1 -1
  16. package/build/details/save.js +2 -0
  17. package/build/details/save.js.map +1 -1
  18. package/build/embed/transforms.js +5 -2
  19. package/build/embed/transforms.js.map +1 -1
  20. package/build/form/variations.js +1 -1
  21. package/build/form/variations.js.map +1 -1
  22. package/build/group/edit.js +2 -9
  23. package/build/group/edit.js.map +1 -1
  24. package/build/home-link/edit.js +1 -2
  25. package/build/home-link/edit.js.map +1 -1
  26. package/build/latest-comments/edit.js +73 -26
  27. package/build/latest-comments/edit.js.map +1 -1
  28. package/build/latest-posts/constants.js +2 -1
  29. package/build/latest-posts/constants.js.map +1 -1
  30. package/build/latest-posts/edit.js +91 -38
  31. package/build/latest-posts/edit.js.map +1 -1
  32. package/build/list-item/index.js +1 -1
  33. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  34. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  35. package/build/navigation/edit/use-generate-default-navigation-title.js +4 -4
  36. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  37. package/build/navigation-link/edit.js +14 -19
  38. package/build/navigation-link/edit.js.map +1 -1
  39. package/build/navigation-submenu/index.js +7 -0
  40. package/build/navigation-submenu/index.js.map +1 -1
  41. package/build/page-list/edit.js +1 -1
  42. package/build/page-list/edit.js.map +1 -1
  43. package/build/paragraph/edit.js +4 -14
  44. package/build/paragraph/edit.js.map +1 -1
  45. package/build/pattern/index.js +1 -1
  46. package/build/post-content/index.js +1 -0
  47. package/build/post-content/index.js.map +1 -1
  48. package/build/post-date/edit.js +1 -1
  49. package/build/post-date/edit.js.map +1 -1
  50. package/build/post-featured-image/edit.js +0 -6
  51. package/build/post-featured-image/edit.js.map +1 -1
  52. package/build/post-navigation-link/variations.js +2 -2
  53. package/build/post-navigation-link/variations.js.map +1 -1
  54. package/build/post-terms/edit.js +1 -0
  55. package/build/post-terms/edit.js.map +1 -1
  56. package/build/post-time-to-read/index.js +1 -1
  57. package/build/query/edit/query-content.js +2 -6
  58. package/build/query/edit/query-content.js.map +1 -1
  59. package/build/query-no-results/index.js +1 -1
  60. package/build/query-pagination-numbers/edit.js +1 -1
  61. package/build/query-pagination-numbers/edit.js.map +1 -1
  62. package/build/query-title/edit.js +1 -0
  63. package/build/query-title/edit.js.map +1 -1
  64. package/build/read-more/edit.js +25 -7
  65. package/build/read-more/edit.js.map +1 -1
  66. package/build/search/edit.js +67 -49
  67. package/build/search/edit.js.map +1 -1
  68. package/build/separator/edit.js +2 -4
  69. package/build/separator/edit.js.map +1 -1
  70. package/build/spacer/controls.js +13 -9
  71. package/build/spacer/controls.js.map +1 -1
  72. package/build/spacer/edit.js +23 -21
  73. package/build/spacer/edit.js.map +1 -1
  74. package/build/template-part/edit/advanced-controls.js +2 -9
  75. package/build/template-part/edit/advanced-controls.js.map +1 -1
  76. package/build/utils/messages.js +22 -0
  77. package/build/utils/messages.js.map +1 -0
  78. package/build/video/edit-common-settings.js +1 -1
  79. package/build/video/edit-common-settings.js.map +1 -1
  80. package/build-module/archives/edit.js +2 -2
  81. package/build-module/archives/edit.js.map +1 -1
  82. package/build-module/categories/edit.js +116 -38
  83. package/build-module/categories/edit.js.map +1 -1
  84. package/build-module/comments/edit/comments-inspector-controls.js +5 -4
  85. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  86. package/build-module/comments-pagination/index.js +5 -0
  87. package/build-module/comments-pagination/index.js.map +1 -1
  88. package/build-module/cover/edit/inspector-controls.js +1 -8
  89. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  90. package/build-module/details/edit.js +17 -3
  91. package/build-module/details/edit.js.map +1 -1
  92. package/build-module/details/index.js +9 -0
  93. package/build-module/details/index.js.map +1 -1
  94. package/build-module/details/save.js +2 -0
  95. package/build-module/details/save.js.map +1 -1
  96. package/build-module/embed/transforms.js +5 -2
  97. package/build-module/embed/transforms.js.map +1 -1
  98. package/build-module/form/variations.js +1 -1
  99. package/build-module/form/variations.js.map +1 -1
  100. package/build-module/group/edit.js +1 -8
  101. package/build-module/group/edit.js.map +1 -1
  102. package/build-module/home-link/edit.js +1 -2
  103. package/build-module/home-link/edit.js.map +1 -1
  104. package/build-module/latest-comments/edit.js +74 -27
  105. package/build-module/latest-comments/edit.js.map +1 -1
  106. package/build-module/latest-posts/constants.js +1 -0
  107. package/build-module/latest-posts/constants.js.map +1 -1
  108. package/build-module/latest-posts/edit.js +93 -40
  109. package/build-module/latest-posts/edit.js.map +1 -1
  110. package/build-module/list-item/index.js +1 -1
  111. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  112. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  113. package/build-module/navigation/edit/use-generate-default-navigation-title.js +4 -4
  114. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  115. package/build-module/navigation-link/edit.js +15 -20
  116. package/build-module/navigation-link/edit.js.map +1 -1
  117. package/build-module/navigation-submenu/index.js +7 -0
  118. package/build-module/navigation-submenu/index.js.map +1 -1
  119. package/build-module/page-list/edit.js +1 -1
  120. package/build-module/page-list/edit.js.map +1 -1
  121. package/build-module/paragraph/edit.js +5 -15
  122. package/build-module/paragraph/edit.js.map +1 -1
  123. package/build-module/pattern/index.js +1 -1
  124. package/build-module/post-content/index.js +1 -0
  125. package/build-module/post-content/index.js.map +1 -1
  126. package/build-module/post-date/edit.js +1 -1
  127. package/build-module/post-date/edit.js.map +1 -1
  128. package/build-module/post-featured-image/edit.js +0 -6
  129. package/build-module/post-featured-image/edit.js.map +1 -1
  130. package/build-module/post-navigation-link/variations.js +2 -2
  131. package/build-module/post-navigation-link/variations.js.map +1 -1
  132. package/build-module/post-terms/edit.js +1 -0
  133. package/build-module/post-terms/edit.js.map +1 -1
  134. package/build-module/post-time-to-read/index.js +1 -1
  135. package/build-module/query/edit/query-content.js +1 -5
  136. package/build-module/query/edit/query-content.js.map +1 -1
  137. package/build-module/query-no-results/index.js +1 -1
  138. package/build-module/query-pagination-numbers/edit.js +1 -1
  139. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  140. package/build-module/query-title/edit.js +1 -0
  141. package/build-module/query-title/edit.js.map +1 -1
  142. package/build-module/read-more/edit.js +26 -8
  143. package/build-module/read-more/edit.js.map +1 -1
  144. package/build-module/search/edit.js +68 -50
  145. package/build-module/search/edit.js.map +1 -1
  146. package/build-module/separator/edit.js +1 -3
  147. package/build-module/separator/edit.js.map +1 -1
  148. package/build-module/spacer/controls.js +13 -9
  149. package/build-module/spacer/controls.js.map +1 -1
  150. package/build-module/spacer/edit.js +24 -22
  151. package/build-module/spacer/edit.js.map +1 -1
  152. package/build-module/template-part/edit/advanced-controls.js +1 -8
  153. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  154. package/build-module/utils/messages.js +15 -0
  155. package/build-module/utils/messages.js.map +1 -0
  156. package/build-module/video/edit-common-settings.js +1 -1
  157. package/build-module/video/edit-common-settings.js.map +1 -1
  158. package/build-style/editor-rtl.css +8 -45
  159. package/build-style/editor.css +8 -45
  160. package/build-style/gallery/editor-rtl.css +0 -44
  161. package/build-style/gallery/editor.css +0 -44
  162. package/build-style/navigation-link/editor-rtl.css +3 -0
  163. package/build-style/navigation-link/editor.css +3 -0
  164. package/build-style/paragraph/editor-rtl.css +4 -0
  165. package/build-style/paragraph/editor.css +4 -0
  166. package/build-style/post-featured-image/editor-rtl.css +1 -1
  167. package/build-style/post-featured-image/editor.css +1 -1
  168. package/package.json +35 -35
  169. package/src/archives/edit.js +2 -2
  170. package/src/categories/edit.js +133 -45
  171. package/src/comments/edit/comments-inspector-controls.js +5 -8
  172. package/src/comments-pagination/block.json +5 -0
  173. package/src/cover/edit/inspector-controls.js +1 -21
  174. package/src/details/block.json +9 -0
  175. package/src/details/edit.js +18 -2
  176. package/src/details/save.js +6 -2
  177. package/src/embed/transforms.js +3 -1
  178. package/src/form/variations.js +1 -1
  179. package/src/gallery/editor.scss +0 -56
  180. package/src/group/edit.js +1 -20
  181. package/src/home-link/edit.js +0 -6
  182. package/src/latest-comments/edit.js +93 -33
  183. package/src/latest-posts/constants.js +1 -0
  184. package/src/latest-posts/edit.js +119 -44
  185. package/src/list/test/edit.native.js +9 -9
  186. package/src/list-item/block.json +1 -1
  187. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  188. package/src/navigation/edit/use-generate-default-navigation-title.js +4 -4
  189. package/src/navigation-link/edit.js +25 -29
  190. package/src/navigation-link/editor.scss +27 -18
  191. package/src/navigation-submenu/index.js +7 -0
  192. package/src/navigation-submenu/index.php +21 -4
  193. package/src/page-list/edit.js +52 -50
  194. package/src/paragraph/edit.js +3 -18
  195. package/src/paragraph/editor.scss +7 -0
  196. package/src/pattern/block.json +1 -1
  197. package/src/post-content/block.json +1 -0
  198. package/src/post-date/edit.js +1 -3
  199. package/src/post-featured-image/edit.js +2 -15
  200. package/src/post-featured-image/editor.scss +2 -2
  201. package/src/post-navigation-link/variations.js +2 -2
  202. package/src/post-terms/edit.js +1 -0
  203. package/src/post-time-to-read/block.json +1 -1
  204. package/src/query/edit/query-content.js +1 -11
  205. package/src/query-no-results/block.json +1 -1
  206. package/src/query-pagination-numbers/edit.js +1 -1
  207. package/src/query-title/edit.js +1 -0
  208. package/src/read-more/edit.js +35 -11
  209. package/src/search/edit.js +99 -74
  210. package/src/separator/edit.js +1 -6
  211. package/src/spacer/controls.js +10 -9
  212. package/src/spacer/edit.js +25 -23
  213. package/src/template-part/edit/advanced-controls.js +1 -21
  214. package/src/utils/messages.js +31 -0
  215. package/src/video/edit-common-settings.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","createBlock","useSelect","useDispatch","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","TextControl","TextareaControl","ToolbarButton","Tooltip","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","useInnerBlocksProps","isURL","prependHTTP","safeDecodeURI","useState","useEffect","useRef","__unstableStripHTML","stripHTML","decodeEntities","link","linkIcon","addSubmenu","coreStore","useMergeRefs","usePrevious","LinkUI","updateAttributes","getColors","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","select","getEntityRecord","status","isInvalid","isDraft","getMissingText","missingText","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","children","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","tooltipText","icon","shortcut","currentTarget","text","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","trim","onClose","window","document","activeElement","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\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}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reusing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {\n\tconst { label, url, description, title, rel } = attributes;\n\treturn (\n\t\t<ToolsPanel label={ __( 'Settings' ) }>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! url }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! title }\n\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { title: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\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 label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\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\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\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\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\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\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\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\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( '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} ),\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\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\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-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsLabelFieldFocused={ setIsLabelFieldFocused }\n\t\t\t\t/>\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<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\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{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\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={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, 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\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\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</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","createBlock","useSelect","useDispatch","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","useInnerBlocksProps","isURL","prependHTTP","safeDecodeURI","useState","useEffect","useRef","__unstableStripHTML","stripHTML","decodeEntities","link","linkIcon","addSubmenu","coreStore","useMergeRefs","usePrevious","LinkUI","updateAttributes","getColors","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","select","getEntityRecord","status","isInvalid","isDraft","getMissingText","missingText","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","children","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","icon","shortcut","currentTarget","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","trim","onClose","window","document","activeElement","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\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\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\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}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reusing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {\n\tconst { label, url, description, title, rel } = attributes;\n\treturn (\n\t\t<ToolsPanel label={ __( 'Settings' ) }>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! url }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! title }\n\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { title: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\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 label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\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\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\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\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\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\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\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\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( '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} ),\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\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\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-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsLabelFieldFocused={ setIsLabelFieldFocused }\n\t\t\t\t/>\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<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__label',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t\t\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\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{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\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={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, 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\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\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</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { page, addSubmenu } from '@wordpress/icons';
5
+ import { _x } from '@wordpress/i18n';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
@@ -105,6 +106,12 @@ export const settings = {
105
106
  return label;
106
107
  },
107
108
  edit,
109
+ example: {
110
+ attributes: {
111
+ label: _x('About', 'Example link text for Navigation Submenu'),
112
+ type: 'page'
113
+ }
114
+ },
108
115
  save,
109
116
  transforms
110
117
  };
@@ -1 +1 @@
1
- {"version":3,"names":["page","addSubmenu","initBlock","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","rel","id","opensInNewTab","url","kind","isTopLevelItem","usesContext","supports","reusable","html","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","edit","save","transforms","settings","icon","context","__experimentalLabel","customName","init"],"sources":["@wordpress/block-library/src/navigation-submenu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { page, addSubmenu } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: ( { context } ) => {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn page;\n\t\t}\n\t\treturn addSubmenu;\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { label } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's menu label as the label.\n\t\t// If the menu label is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || label ) ) {\n\t\t\treturn attributes?.metadata?.name || label;\n\t\t}\n\n\t\treturn label;\n\t},\n\tedit,\n\tsave,\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,UAAU,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;IAAA;IAAAA,IAAA;MAAAA,IAAA;IAAA;IAAAJ,WAAA;MAAAI,IAAA;IAAA;IAAAC,GAAA;MAAAD,IAAA;IAAA;IAAAE,EAAA;MAAAF,IAAA;IAAA;IAAAG,aAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,GAAA;MAAAJ,IAAA;IAAA;IAAAP,KAAA;MAAAO,IAAA;IAAA;IAAAK,IAAA;MAAAL,IAAA;IAAA;IAAAM,cAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,WAAA;EAAAC,QAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAC,6BAAA;QAAAR,QAAA;MAAA;IAAA;IAAAS,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEnC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMoC,QAAQ,GAAG;EACvBC,IAAI,EAAEA,CAAE;IAAEC;EAAQ,CAAC,KAAM;IACxB,IAAKA,OAAO,KAAK,WAAW,EAAG;MAC9B,OAAO5C,IAAI;IACZ;IACA,OAAOC,UAAU;EAClB,CAAC;EACD4C,mBAAmBA,CAAEjC,UAAU,EAAE;IAAEgC;EAAQ,CAAC,EAAG;IAC9C,MAAM;MAAE/B;IAAM,CAAC,GAAGD,UAAU;IAE5B,MAAMkC,UAAU,GAAGlC,UAAU,EAAET,QAAQ,EAAEG,IAAI;;IAE7C;IACA;IACA,IAAKsC,OAAO,KAAK,WAAW,KAAME,UAAU,IAAIjC,KAAK,CAAE,EAAG;MACzD,OAAOD,UAAU,EAAET,QAAQ,EAAEG,IAAI,IAAIO,KAAK;IAC3C;IAEA,OAAOA,KAAK;EACb,CAAC;EACD0B,IAAI;EACJC,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAM7C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEuC;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["page","addSubmenu","_x","initBlock","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","rel","id","opensInNewTab","url","kind","isTopLevelItem","usesContext","supports","reusable","html","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","edit","save","transforms","settings","icon","context","__experimentalLabel","customName","example","init"],"sources":["@wordpress/block-library/src/navigation-submenu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { page, addSubmenu } from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: ( { context } ) => {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn page;\n\t\t}\n\t\treturn addSubmenu;\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { label } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's menu label as the label.\n\t\t// If the menu label is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || label ) ) {\n\t\t\treturn attributes?.metadata?.name || label;\n\t\t}\n\n\t\treturn label;\n\t},\n\tedit,\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'About', 'Example link text for Navigation Submenu' ),\n\t\t\ttype: 'page',\n\t\t},\n\t},\n\tsave,\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,UAAU,QAAQ,kBAAkB;AACnD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;IAAA;IAAAA,IAAA;MAAAA,IAAA;IAAA;IAAAJ,WAAA;MAAAI,IAAA;IAAA;IAAAC,GAAA;MAAAD,IAAA;IAAA;IAAAE,EAAA;MAAAF,IAAA;IAAA;IAAAG,aAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,GAAA;MAAAJ,IAAA;IAAA;IAAAP,KAAA;MAAAO,IAAA;IAAA;IAAAK,IAAA;MAAAL,IAAA;IAAA;IAAAM,cAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,WAAA;EAAAC,QAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAC,6BAAA;QAAAR,QAAA;MAAA;IAAA;IAAAS,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEnC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMoC,QAAQ,GAAG;EACvBC,IAAI,EAAEA,CAAE;IAAEC;EAAQ,CAAC,KAAM;IACxB,IAAKA,OAAO,KAAK,WAAW,EAAG;MAC9B,OAAO7C,IAAI;IACZ;IACA,OAAOC,UAAU;EAClB,CAAC;EACD6C,mBAAmBA,CAAEjC,UAAU,EAAE;IAAEgC;EAAQ,CAAC,EAAG;IAC9C,MAAM;MAAE/B;IAAM,CAAC,GAAGD,UAAU;IAE5B,MAAMkC,UAAU,GAAGlC,UAAU,EAAET,QAAQ,EAAEG,IAAI;;IAE7C;IACA;IACA,IAAKsC,OAAO,KAAK,WAAW,KAAME,UAAU,IAAIjC,KAAK,CAAE,EAAG;MACzD,OAAOD,UAAU,EAAET,QAAQ,EAAEG,IAAI,IAAIO,KAAK;IAC3C;IAEA,OAAOA,KAAK;EACb,CAAC;EACD0B,IAAI;EACJQ,OAAO,EAAE;IACRnC,UAAU,EAAE;MACXC,KAAK,EAAEZ,EAAE,CAAE,OAAO,EAAE,0CAA2C,CAAC;MAChEa,IAAI,EAAE;IACP;EACD,CAAC;EACD0B,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMO,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEuC;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -251,7 +251,7 @@ export default function PageListEdit({
251
251
  });
252
252
  }, [isNested, setAttributes]);
253
253
  return /*#__PURE__*/_jsxs(_Fragment, {
254
- children: [/*#__PURE__*/_jsx(InspectorControls, {
254
+ children: [(pagesTree.length > 0 || allowConvertToLinks) && /*#__PURE__*/_jsx(InspectorControls, {
255
255
  children: /*#__PURE__*/_jsxs(ToolsPanel, {
256
256
  label: __('Settings'),
257
257
  resetAll: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","children","className","status","isDismissible","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","dropdownMenuProps","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","textColor","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockParents","navigationBlockParents","convertToNavigationLinks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","options","help","gridColumn","variant","accessibleWhenDisabled","disabled","onClick","group","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Parent Page' ) }\n\t\t\t\t\t\t\thasValue={ () => parentPageID !== 0 }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tparentPageID: value ?? 0,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SACCC,iBAAiB,EACjBC,aAAa,EACbC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,KAAK,IAAIC,gBAAgB,EACzBC,OAAO,QACD,yBAAyB;AAChC,SACCC,aAAa,EACbC,OAAO,EACPC,MAAM,EACNC,eAAe,EACfC,MAAM,EACNC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,OAAO,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,oBAAoB;AAC9E,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,2BAA2B,QAAQ,mCAAmC;AAC/E,SACCC,kBAAkB,EAClBC,mBAAmB,QACb,0BAA0B;AACjC,SAASC,8BAA8B,QAAQ,gBAAgB;;AAE/D;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,cAAc,GAAG,GAAG;AAC1B,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AACrB,SAASC,YAAYA,CAAE;EACtBC,UAAU;EACVC,gBAAgB;EAChBC,gBAAgB;EAChBC,SAAS;EACTC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,IAAK,CAAEH,gBAAgB,EAAG;IACzB,oBACCV,IAAA;MAAA,GAAUQ,UAAU;MAAAM,QAAA,eACnBd,IAAA;QAAKe,SAAS,EAAC,iDAAiD;QAAAD,QAAA,eAC/Dd,IAAA,CAACtB,OAAO;UAACqC,SAAS,EAAC;QAAuC,CAAE;MAAC,CACzD;IAAC,CACF,CAAC;EAER;EAEA,IAAKH,KAAK,KAAK,IAAI,EAAG;IACrB,oBACCZ,IAAA;MAAA,GAAUQ,UAAU;MAAAM,QAAA,eACnBd,IAAA,CAACrB,MAAM;QAACqC,MAAM,EAAC,SAAS;QAACC,aAAa,EAAG,KAAO;QAAAH,QAAA,EAC7C5B,EAAE,CAAE,mCAAoC;MAAC,CACpC;IAAC,CACL,CAAC;EAER;EAEA,IAAK0B,KAAK,CAACM,MAAM,KAAK,CAAC,EAAG;IACzB,oBACClB,IAAA;MAAA,GAAUQ,UAAU;MAAAM,QAAA,eACnBd,IAAA,CAACrB,MAAM;QAACqC,MAAM,EAAC,MAAM;QAACC,aAAa,EAAG,KAAO;QAAAH,QAAA,EAC1C5B,EAAE,CAAE,mCAAoC;MAAC,CACpC;IAAC,CACL,CAAC;EAER;EAEA,IAAKyB,SAAS,CAACO,MAAM,KAAK,CAAC,EAAG;IAC7B,MAAMC,iBAAiB,GAAGP,KAAK,CAACQ,IAAI,CACjCC,IAAI,IAAMA,IAAI,CAACC,EAAE,KAAKT,YACzB,CAAC;IAED,IAAKM,iBAAiB,EAAEI,KAAK,EAAEC,QAAQ,EAAG;MACzC,oBACCxB,IAAA;QAAA,GAAUQ,UAAU;QAAAM,QAAA,eACnBd,IAAA,CAACxB,OAAO;UAAAsC,QAAA,EACL3B,OAAO;UACR;UACAD,EAAE,CAAE,uCAAwC,CAAC,EAC7CiC,iBAAiB,CAACI,KAAK,CAACC,QACzB;QAAC,CACO;MAAC,CACN,CAAC;IAER;IAEA,oBACCxB,IAAA;MAAA,GAAUQ,UAAU;MAAAM,QAAA,eACnBd,IAAA,CAACrB,MAAM;QAACqC,MAAM,EAAC,SAAS;QAACC,aAAa,EAAG,KAAO;QAAAH,QAAA,EAC7C5B,EAAE,CAAE,mCAAoC;MAAC,CACpC;IAAC,CACL,CAAC;EAER;EAEA,IAAK0B,KAAK,CAACM,MAAM,GAAG,CAAC,EAAG;IACvB,oBAAOlB,IAAA;MAAA,GAASS;IAAgB,CAAO,CAAC;EACzC;AACD;AAEA,eAAe,SAASgB,YAAYA,CAAE;EACrCC,OAAO;EACPC,QAAQ;EACRC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAM;IAAEhB;EAAa,CAAC,GAAGe,UAAU;EACnC,MAAM,CAAEE,MAAM,EAAEC,OAAO,CAAE,GAAG1C,QAAQ,CAAE,KAAM,CAAC;EAC7C,MAAM2C,SAAS,GAAGzC,WAAW,CAAE,MAAMwC,OAAO,CAAE,IAAK,CAAC,EAAE,EAAG,CAAC;EAC1D,MAAME,UAAU,GAAGA,CAAA,KAAMF,OAAO,CAAE,KAAM,CAAC;EACzC,MAAMG,iBAAiB,GAAGpC,8BAA8B,CAAC,CAAC;EAE1D,MAAM;IAAEqC,OAAO,EAAEvB,KAAK;IAAEwB,WAAW,EAAE1B;EAAiB,CAAC,GAAGlB,gBAAgB,CACzE,UAAU,EACV,MAAM,EACN;IACC6C,QAAQ,EAAEhC,cAAc;IACxBiC,OAAO,EAAE,CAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAE;IAClE;IACA;IACA;IACAC,OAAO,EAAE,YAAY;IACrBC,KAAK,EAAE;EACR,CACD,CAAC;EAED,MAAMC,mBAAmB,GACxB,iBAAiB,IAAIf,OAAO,IAC5Bd,KAAK,EAAEM,MAAM,GAAG,CAAC,IACjBN,KAAK,EAAEM,MAAM,IAAIb,cAAc;EAEhC,MAAMqC,eAAe,GAAGtD,OAAO,CAAE,MAAM;IACtC,IAAKwB,KAAK,KAAK,IAAI,EAAG;MACrB,OAAO,IAAI+B,GAAG,CAAC,CAAC;IACjB;;IAEA;IACA;IACA;IACA,MAAMC,WAAW,GAAGhC,KAAK,CAACiC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAM;MAC3C,IAAKD,CAAC,CAACE,UAAU,KAAKD,CAAC,CAACC,UAAU,EAAG;QACpC,OAAOF,CAAC,CAACvB,KAAK,CAACC,QAAQ,CAACyB,aAAa,CAAEF,CAAC,CAACxB,KAAK,CAACC,QAAS,CAAC;MAC1D;MACA,OAAOsB,CAAC,CAACE,UAAU,GAAGD,CAAC,CAACC,UAAU;IACnC,CAAE,CAAC;IAEH,OAAOJ,WAAW,CAACM,MAAM,CAAE,CAAEC,WAAW,EAAE9B,IAAI,KAAM;MACnD,MAAM;QAAE+B;MAAO,CAAC,GAAG/B,IAAI;MACvB,IAAK8B,WAAW,CAACE,GAAG,CAAED,MAAO,CAAC,EAAG;QAChCD,WAAW,CAACG,GAAG,CAAEF,MAAO,CAAC,CAACG,IAAI,CAAElC,IAAK,CAAC;MACvC,CAAC,MAAM;QACN8B,WAAW,CAACK,GAAG,CAAEJ,MAAM,EAAE,CAAE/B,IAAI,CAAG,CAAC;MACpC;MACA,OAAO8B,WAAW;IACnB,CAAC,EAAE,IAAIR,GAAG,CAAC,CAAE,CAAC;EACf,CAAC,EAAE,CAAE/B,KAAK,CAAG,CAAC;EAEd,MAAMJ,UAAU,GAAGrC,aAAa,CAAE;IACjC4C,SAAS,EAAEhD,IAAI,CAAE,oBAAoB,EAAE;MACtC,gBAAgB,EAAE,CAAC,CAAE2D,OAAO,CAAC+B,SAAS;MACtC,CAAEpF,iBAAiB,CAAE,OAAO,EAAEqD,OAAO,CAAC+B,SAAU,CAAC,GAChD,CAAC,CAAE/B,OAAO,CAAC+B,SAAS;MACrB,gBAAgB,EAAE,CAAC,CAAE/B,OAAO,CAACgC,eAAe;MAC5C,CAAErF,iBAAiB,CAClB,kBAAkB,EAClBqD,OAAO,CAACgC,eACT,CAAC,GAAI,CAAC,CAAEhC,OAAO,CAACgC;IACjB,CAAE,CAAC;IACHC,KAAK,EAAE;MAAE,GAAGjC,OAAO,CAACiC,KAAK,EAAEC;IAAM;EAClC,CAAE,CAAC;EAEH,MAAMC,SAAS,GAAGzE,OAAO,CACxB,SAAS0E,aAAaA,CAAEC,QAAQ,GAAG,CAAC,EAAEC,KAAK,GAAG,CAAC,EAAG;IACjD,MAAMC,UAAU,GAAGvB,eAAe,CAACY,GAAG,CAAES,QAAS,CAAC;IAElD,IAAK,CAAEE,UAAU,EAAE/C,MAAM,EAAG;MAC3B,OAAO,EAAE;IACV;IAEA,OAAO+C,UAAU,CAACf,MAAM,CAAE,CAAEgB,IAAI,EAAE7C,IAAI,KAAM;MAC3C,MAAM8C,WAAW,GAAGzB,eAAe,CAACW,GAAG,CAAEhC,IAAI,CAACC,EAAG,CAAC;MAClD,MAAM8C,IAAI,GAAG;QACZC,KAAK,EAAEhD,IAAI,CAACC,EAAE;QACdgD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAEP,KAAM,CAAC,GAAG3C,IAAI,CAACE,KAAK,CAACC,QAAQ;QACjDgD,OAAO,EAAEnD,IAAI,CAACE,KAAK,CAACC;MACrB,CAAC;MACD0C,IAAI,CAACX,IAAI,CAAEa,IAAK,CAAC;MACjB,IAAKD,WAAW,EAAG;QAClBD,IAAI,CAACX,IAAI,CAAE,GAAGO,aAAa,CAAEzC,IAAI,CAACC,EAAE,EAAE0C,KAAK,GAAG,CAAE,CAAE,CAAC;MACpD;MACA,OAAOE,IAAI;IACZ,CAAC,EAAE,EAAG,CAAC;EACR,CAAC,EACD,CAAExB,eAAe,CAClB,CAAC;EAED,MAAM/B,SAAS,GAAGvB,OAAO,CACxB,SAASqF,YAAYA,CAAEV,QAAQ,GAAGlD,YAAY,EAAG;IAChD,MAAMoD,UAAU,GAAGvB,eAAe,CAACY,GAAG,CAAES,QAAS,CAAC;IAElD,IAAK,CAAEE,UAAU,EAAE/C,MAAM,EAAG;MAC3B,OAAO,EAAE;IACV;IAEA,OAAO+C,UAAU,CAACf,MAAM,CAAE,CAAEwB,QAAQ,EAAErD,IAAI,KAAM;MAC/C,MAAM8C,WAAW,GAAGzB,eAAe,CAACW,GAAG,CAAEhC,IAAI,CAACC,EAAG,CAAC;MAClD,MAAMqD,SAAS,GAAG;QACjBrD,EAAE,EAAED,IAAI,CAACC,EAAE;QACXgD,KAAK;QACJ;QACAjD,IAAI,CAACE,KAAK,EAAEC,QAAQ,EAAEoD,IAAI,CAAC,CAAC,KAAK,EAAE,GAChCvD,IAAI,CAACE,KAAK,EAAEC,QAAQ,GACpBtC,EAAE,CAAE,YAAa,CAAC;QACtBqC,KAAK;QACJ;QACAF,IAAI,CAACE,KAAK,EAAEC,QAAQ,EAAEoD,IAAI,CAAC,CAAC,KAAK,EAAE,GAChCvD,IAAI,CAACE,KAAK,EAAEC,QAAQ,GACpBtC,EAAE,CAAE,YAAa,CAAC;QACtB2F,IAAI,EAAExD,IAAI,CAACyD,GAAG;QACdX;MACD,CAAC;MACD,IAAIC,IAAI,GAAG,IAAI;MACf,MAAMtD,QAAQ,GAAG2D,YAAY,CAAEpD,IAAI,CAACC,EAAG,CAAC;MACxC8C,IAAI,GAAGpG,WAAW,CACjB,qBAAqB,EACrB2G,SAAS,EACT7D,QACD,CAAC;MACD4D,QAAQ,CAACnB,IAAI,CAAEa,IAAK,CAAC;MAErB,OAAOM,QAAQ;IAChB,CAAC,EAAE,EAAG,CAAC;EACR,CAAC,EACD,CAAEhC,eAAe,EAAE7B,YAAY,CAChC,CAAC;EAED,MAAM;IACLkE,QAAQ;IACRC,gBAAgB;IAChBC,cAAc;IACdC,eAAe;IACfC;EACD,CAAC,GAAG1F,SAAS,CACV2F,MAAM,IAAM;IACb,MAAM;MACLC,0BAA0B;MAC1BC,qBAAqB;MACrBC;IACD,CAAC,GAAGH,MAAM,CAAE7G,gBAAiB,CAAC;IAC9B,MAAMiH,YAAY,GAAGH,0BAA0B,CAC9C1D,QAAQ,EACR,yBAAyB,EACzB,IACD,CAAC;IACD,MAAM8D,sBAAsB,GAAGJ,0BAA0B,CACxD1D,QAAQ,EACR,iBAAiB,EACjB,IACD,CAAC;IACD,OAAO;MACNoD,QAAQ,EAAES,YAAY,CAACtE,MAAM,GAAG,CAAC;MACjCiE,mBAAmB,EAAEM,sBAAsB,CAACvE,MAAM,GAAG,CAAC;MACtD8D,gBAAgB,EAAEM,qBAAqB,CAAE3D,QAAQ,EAAE,IAAK,CAAC;MACzDuD,eAAe,EAAEK,oBAAoB,CAAE5D,QAAQ,EAAE,IAAK,CAAC;MACvDsD,cAAc,EAAEQ,sBAAsB,CAAE,CAAC;IAC1C,CAAC;EACF,CAAC,EACD,CAAE9D,QAAQ,CACX,CAAC;EAED,MAAM+D,wBAAwB,GAAG/F,2BAA2B,CAAE;IAC7DgC,QAAQ;IACRf,KAAK;IACLqE,cAAc;IACdpE;EACD,CAAE,CAAC;EAEH,MAAMJ,gBAAgB,GAAGrC,mBAAmB,CAAEoC,UAAU,EAAE;IACzDmF,cAAc,EAAE,KAAK;IACrBC,yBAAyB,EAAE,IAAI;IAC/BC,YAAY,EAAEV,mBAAmB,GAAG,KAAK,GAAG,KAAK;IACjDW,OAAO,EAAExF,IAAI;IACbyF,QAAQ,EAAEzF,IAAI;IACd+D,KAAK,EAAE1D;EACR,CAAE,CAAC;EAEH,MAAM;IAAEqF;EAAY,CAAC,GAAGtG,WAAW,CAAEnB,gBAAiB,CAAC;EAEvDe,SAAS,CAAE,MAAM;IAChB,IAAK0F,gBAAgB,IAAIE,eAAe,EAAG;MAC1ClD,SAAS,CAAC,CAAC;MACXgE,WAAW,CAAEf,cAAe,CAAC;IAC9B;EACD,CAAC,EAAE,CACFD,gBAAgB,EAChBE,eAAe,EACfD,cAAc,EACde,WAAW,EACXhE,SAAS,CACR,CAAC;EAEH1C,SAAS,CAAE,MAAM;IAChBuC,aAAa,CAAE;MAAEkD;IAAS,CAAE,CAAC;EAC9B,CAAC,EAAE,CAAEA,QAAQ,EAAElD,aAAa,CAAG,CAAC;EAEhC,oBACC3B,KAAA,CAAAE,SAAA;IAAAU,QAAA,gBACCd,IAAA,CAAC/B,iBAAiB;MAAA6C,QAAA,eACjBZ,KAAA,CAACnB,UAAU;QACVuF,KAAK,EAAGpF,EAAE,CAAE,UAAW,CAAG;QAC1B+G,QAAQ,EAAGA,CAAA,KAAM;UAChBpE,aAAa,CAAE;YAAEhB,YAAY,EAAE;UAAE,CAAE,CAAC;QACrC,CAAG;QACHqB,iBAAiB,EAAGA,iBAAmB;QAAApB,QAAA,GAErC+C,SAAS,CAAC3C,MAAM,GAAG,CAAC,iBACrBlB,IAAA,CAACf,cAAc;UACdqF,KAAK,EAAGpF,EAAE,CAAE,aAAc,CAAG;UAC7BgH,QAAQ,EAAGA,CAAA,KAAMrF,YAAY,KAAK,CAAG;UACrCsF,UAAU,EAAGA,CAAA,KACZtE,aAAa,CAAE;YAAEhB,YAAY,EAAE;UAAE,CAAE,CACnC;UACDuF,gBAAgB;UAAAtF,QAAA,eAEhBd,IAAA,CAACpB,eAAe;YACfyH,uBAAuB;YACvBC,qBAAqB;YACrBvF,SAAS,EAAC,gCAAgC;YAC1CuD,KAAK,EAAGpF,EAAE,CAAE,QAAS,CAAG;YACxBmF,KAAK,EAAGxD,YAAc;YACtB0F,OAAO,EAAG1C,SAAW;YACrBkC,QAAQ,EAAK1B,KAAK,IACjBxC,aAAa,CAAE;cACdhB,YAAY,EAAEwD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI;YACxB,CAAE,CACF;YACDmC,IAAI,EAAGtH,EAAE,CACR,0CACD;UAAG,CACH;QAAC,CACa,CAChB,EAECuD,mBAAmB,iBACpBvC,KAAA;UAAKyD,KAAK,EAAG;YAAE8C,UAAU,EAAE;UAAS,CAAG;UAAA3F,QAAA,gBACtCd,IAAA;YAAAc,QAAA,EAAKlB;UAAkB,CAAK,CAAC,eAC7BI,IAAA,CAACnB,MAAM;YACNyH,qBAAqB;YACrBI,OAAO,EAAC,SAAS;YACjBC,sBAAsB;YACtBC,QAAQ,EAAG,CAAElG,gBAAkB;YAC/BmG,OAAO,EAAGnB,wBAA0B;YAAA5E,QAAA,EAElC5B,EAAE,CAAE,MAAO;UAAC,CACP,CAAC;QAAA,CACL,CACL;MAAA,CACU;IAAC,CACK,CAAC,EAClBuD,mBAAmB,iBACpBvC,KAAA,CAAAE,SAAA;MAAAU,QAAA,gBACCd,IAAA,CAAC9B,aAAa;QAAC4I,KAAK,EAAC,OAAO;QAAAhG,QAAA,eAC3Bd,IAAA,CAACvB,aAAa;UACb8C,KAAK,EAAGrC,EAAE,CAAE,MAAO,CAAG;UACtB2H,OAAO,EAAG7E,SAAW;UAAAlB,QAAA,EAEnB5B,EAAE,CAAE,MAAO;QAAC,CACA;MAAC,CACF,CAAC,EACd4C,MAAM,iBACP9B,IAAA,CAACH,mBAAmB;QACnBgH,OAAO,EAAGnB,wBAA0B;QACpCqB,OAAO,EAAG9E,UAAY;QACtB2E,QAAQ,EAAG,CAAElG;MAAkB,CAC/B,CACD;IAAA,CACA,CACF,eACDV,IAAA,CAACO,YAAY;MACZC,UAAU,EAAGA,UAAY;MACzBC,gBAAgB,EAAGA,gBAAkB;MACrCC,gBAAgB,EAAGA,gBAAkB;MACrCC,SAAS,EAAGA,SAAW;MACvBC,KAAK,EAAGA,KAAO;MACfC,YAAY,EAAGA;IAAc,CAC7B,CAAC;EAAA,CACD,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["clsx","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","children","className","status","isDismissible","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","dropdownMenuProps","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","textColor","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockParents","navigationBlockParents","convertToNavigationLinks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","options","help","gridColumn","variant","accessibleWhenDisabled","disabled","onClick","group","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ ( pagesTree.length > 0 || allowConvertToLinks ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Parent Page' ) }\n\t\t\t\t\t\t\t\thasValue={ () => parentPageID !== 0 }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tparentPageID: value ?? 0,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,15 +8,13 @@ import clsx from 'clsx';
8
8
  */
9
9
  import { __, _x, isRTL } from '@wordpress/i18n';
10
10
  import { ToolbarButton, ToggleControl, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
11
- import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, useSettings, useBlockEditingMode, store as blockEditorStore } from '@wordpress/block-editor';
12
- import { useSelect } from '@wordpress/data';
11
+ import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, useSettings, useBlockEditingMode } from '@wordpress/block-editor';
13
12
  import { getBlockSupport } from '@wordpress/blocks';
14
13
  import { formatLtr } from '@wordpress/icons';
15
14
  /**
16
15
  * Internal dependencies
17
16
  */
18
17
  import { useOnEnter } from './use-enter';
19
- import { unlock } from '../lock-unlock';
20
18
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
21
19
  function ParagraphRTLControl({
22
20
  direction,
@@ -97,12 +95,12 @@ function ParagraphBlock({
97
95
  isSelected: isSingleSelected,
98
96
  name
99
97
  }) {
100
- const isZoomOut = useSelect(select => unlock(select(blockEditorStore)).isZoomOut());
101
98
  const {
102
99
  align,
103
100
  content,
104
101
  direction,
105
- dropCap
102
+ dropCap,
103
+ placeholder
106
104
  } = attributes;
107
105
  const blockProps = useBlockProps({
108
106
  ref: useOnEnter({
@@ -118,14 +116,6 @@ function ParagraphBlock({
118
116
  }
119
117
  });
120
118
  const blockEditingMode = useBlockEditingMode();
121
- let {
122
- placeholder
123
- } = attributes;
124
- if (isZoomOut) {
125
- placeholder = '';
126
- } else if (!placeholder) {
127
- placeholder = __('Type / to choose a block');
128
- }
129
119
  return /*#__PURE__*/_jsxs(_Fragment, {
130
120
  children: [blockEditingMode === 'default' && /*#__PURE__*/_jsxs(BlockControls, {
131
121
  group: "block",
@@ -159,8 +149,8 @@ function ParagraphBlock({
159
149
  onRemove: onRemove,
160
150
  "aria-label": RichText.isEmpty(content) ? __('Empty block; start writing or type forward slash to choose a block') : __('Block: Paragraph'),
161
151
  "data-empty": RichText.isEmpty(content),
162
- placeholder: placeholder,
163
- "data-custom-placeholder": placeholder && !isZoomOut ? true : undefined,
152
+ placeholder: placeholder || __('Type / to choose a block'),
153
+ "data-custom-placeholder": placeholder ? true : undefined,
164
154
  __unstableEmbedURLOnPaste: true,
165
155
  __unstableAllowPrefixTransformations: true
166
156
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","useBlockEditingMode","store","blockEditorStore","useSelect","getBlockSupport","formatLtr","useOnEnter","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","DropCapControl","clientId","attributes","setAttributes","name","isDropCapFeatureEnabled","dropCap","helpText","isDropCapControlEnabledByDefault","group","children","hasValue","label","isShownByDefault","onDeselect","resetAllFilter","panelId","__nextHasNoMarginBottom","checked","onChange","help","disabled","ParagraphBlock","mergeBlocks","onReplace","onRemove","isSelected","isSingleSelected","isZoomOut","select","content","blockProps","ref","className","style","blockEditingMode","placeholder","value","newAlign","newDirection","identifier","tagName","newContent","onMerge","isEmpty","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { formatLtr } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\nimport { unlock } from '../lock-unlock';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction DropCapControl( { clientId, attributes, setAttributes, name } ) {\n\t// Please do not add a useSelect call to the paragraph block unconditionally.\n\t// Every useSelect added to a (frequently used) block will degrade load\n\t// and type performance. By moving it within InspectorControls, the subscription is\n\t// now only added for the selected block(s).\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\n\tif ( ! isDropCapFeatureEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst { align, dropCap } = attributes;\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( 'Show a large initial letter.' );\n\t}\n\n\tconst isDropCapControlEnabledByDefault = getBlockSupport(\n\t\tname,\n\t\t'typography.defaultControls.dropCap',\n\t\tfalse\n\t);\n\n\treturn (\n\t\t<InspectorControls group=\"typography\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! dropCap }\n\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\tisShownByDefault={ isDropCapControlEnabledByDefault }\n\t\t\t\tonDeselect={ () => setAttributes( { dropCap: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\tchecked={ !! dropCap }\n\t\t\t\t\tonChange={ () => setAttributes( { dropCap: ! dropCap } ) }\n\t\t\t\t\thelp={ helpText }\n\t\t\t\t\tdisabled={ hasDropCapDisabled( align ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n\tisSelected: isSingleSelected,\n\tname,\n} ) {\n\tconst isZoomOut = useSelect( ( select ) =>\n\t\tunlock( select( blockEditorStore ) ).isZoomOut()\n\t);\n\n\tconst { align, content, direction, dropCap } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tref: useOnEnter( { clientId, content } ),\n\t\tclassName: clsx( {\n\t\t\t'has-drop-cap': hasDropCapDisabled( align ) ? false : dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\tlet { placeholder } = attributes;\n\tif ( isZoomOut ) {\n\t\tplaceholder = '';\n\t} else if ( ! placeholder ) {\n\t\tplaceholder = __( 'Type / to choose a block' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t\t\t\tdropCap: hasDropCapDisabled( newAlign )\n\t\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t\t: dropCap,\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<ParagraphRTLControl\n\t\t\t\t\t\tdirection={ direction }\n\t\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<DropCapControl\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tRichText.isEmpty( content )\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Block: Paragraph' )\n\t\t\t\t}\n\t\t\t\tdata-empty={ RichText.isEmpty( content ) }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tdata-custom-placeholder={\n\t\t\t\t\tplaceholder && ! isZoomOut ? true : undefined\n\t\t\t\t}\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","useBlockEditingMode","getBlockSupport","formatLtr","useOnEnter","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","DropCapControl","clientId","attributes","setAttributes","name","isDropCapFeatureEnabled","dropCap","helpText","isDropCapControlEnabledByDefault","group","children","hasValue","label","isShownByDefault","onDeselect","resetAllFilter","panelId","__nextHasNoMarginBottom","checked","onChange","help","disabled","ParagraphBlock","mergeBlocks","onReplace","onRemove","isSelected","isSingleSelected","content","placeholder","blockProps","ref","className","style","blockEditingMode","value","newAlign","newDirection","identifier","tagName","newContent","onMerge","isEmpty","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { formatLtr } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction DropCapControl( { clientId, attributes, setAttributes, name } ) {\n\t// Please do not add a useSelect call to the paragraph block unconditionally.\n\t// Every useSelect added to a (frequently used) block will degrade load\n\t// and type performance. By moving it within InspectorControls, the subscription is\n\t// now only added for the selected block(s).\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\n\tif ( ! isDropCapFeatureEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst { align, dropCap } = attributes;\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( 'Show a large initial letter.' );\n\t}\n\n\tconst isDropCapControlEnabledByDefault = getBlockSupport(\n\t\tname,\n\t\t'typography.defaultControls.dropCap',\n\t\tfalse\n\t);\n\n\treturn (\n\t\t<InspectorControls group=\"typography\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! dropCap }\n\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\tisShownByDefault={ isDropCapControlEnabledByDefault }\n\t\t\t\tonDeselect={ () => setAttributes( { dropCap: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\tchecked={ !! dropCap }\n\t\t\t\t\tonChange={ () => setAttributes( { dropCap: ! dropCap } ) }\n\t\t\t\t\thelp={ helpText }\n\t\t\t\t\tdisabled={ hasDropCapDisabled( align ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n\tisSelected: isSingleSelected,\n\tname,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tref: useOnEnter( { clientId, content } ),\n\t\tclassName: clsx( {\n\t\t\t'has-drop-cap': hasDropCapDisabled( align ) ? false : dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t\t\t\tdropCap: hasDropCapDisabled( newAlign )\n\t\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t\t: dropCap,\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<ParagraphRTLControl\n\t\t\t\t\t\tdirection={ direction }\n\t\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<DropCapControl\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tRichText.isEmpty( content )\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Block: Paragraph' )\n\t\t\t\t}\n\t\t\t\tdata-empty={ RichText.isEmpty( content ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\tdata-custom-placeholder={ placeholder ? true : undefined }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ const metadata = {
6
6
  $schema: "https://schemas.wp.org/trunk/block.json",
7
7
  apiVersion: 3,
8
8
  name: "core/pattern",
9
- title: "Pattern placeholder",
9
+ title: "Pattern Placeholder",
10
10
  category: "theme",
11
11
  description: "Show a block pattern.",
12
12
  supports: {
@@ -44,6 +44,7 @@ const metadata = {
44
44
  },
45
45
  color: {
46
46
  gradients: true,
47
+ heading: true,
47
48
  link: true,
48
49
  __experimentalDefaultControls: {
49
50
  background: false,
@@ -1 +1 @@
1
- {"version":3,"names":["postContent","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","usesContext","example","viewportWidth","supports","align","html","layout","background","backgroundImage","backgroundSize","__experimentalDefaultControls","dimensions","minHeight","spacing","blockGap","padding","margin","color","gradients","link","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","edit","settings","init"],"sources":["@wordpress/block-library/src/post-content/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,UAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAN,6BAAA;QAAAM,MAAA;QAAAD,OAAA;MAAA;IAAA;IAAAE,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAT,6BAAA;QAAAH,UAAA;QAAAa,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAnB,6BAAA;QAAAY,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAd,KAAA;MAAAe,KAAA;MAAAC,KAAA;MAAAvB,6BAAA;QAAAqB,MAAA;QAAAd,KAAA;QAAAe,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAExC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMyC,QAAQ,GAAG;EACvB9C,IAAI;EACJ6C;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE4C;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["postContent","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","usesContext","example","viewportWidth","supports","align","html","layout","background","backgroundImage","backgroundSize","__experimentalDefaultControls","dimensions","minHeight","spacing","blockGap","padding","margin","color","gradients","heading","link","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","edit","settings","init"],"sources":["@wordpress/block-library/src/post-content/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,UAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAN,6BAAA;QAAAM,MAAA;QAAAD,OAAA;MAAA;IAAA;IAAAE,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAV,6BAAA;QAAAH,UAAA;QAAAc,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAApB,6BAAA;QAAAa,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAf,KAAA;MAAAgB,KAAA;MAAAC,KAAA;MAAAxB,6BAAA;QAAAsB,MAAA;QAAAf,KAAA;QAAAgB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEzC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM0C,QAAQ,GAAG;EACvB/C,IAAI;EACJ8C;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAM/C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE6C;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -124,7 +124,7 @@ export default function PostDateEdit({
124
124
  },
125
125
  dropdownMenuProps: dropdownMenuProps,
126
126
  children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
127
- hasValue: () => format !== undefined && format !== siteFormat,
127
+ hasValue: () => !!format,
128
128
  label: __('Date Format'),
129
129
  onDeselect: () => setAttributes({
130
130
  format: undefined