@wordpress/block-library 9.18.0 → 9.19.1

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 (133) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/cover/edit/index.js +3 -1
  3. package/build/cover/edit/index.js.map +1 -1
  4. package/build/form/edit.js +4 -2
  5. package/build/form/edit.js.map +1 -1
  6. package/build/image/view.js +4 -4
  7. package/build/image/view.js.map +1 -1
  8. package/build/latest-posts/edit.js +2 -1
  9. package/build/latest-posts/edit.js.map +1 -1
  10. package/build/navigation/use-template-part-area-label.js +7 -6
  11. package/build/navigation/use-template-part-area-label.js.map +1 -1
  12. package/build/navigation/view.js +2 -2
  13. package/build/navigation/view.js.map +1 -1
  14. package/build/navigation-link/edit.js +2 -1
  15. package/build/navigation-link/edit.js.map +1 -1
  16. package/build/navigation-submenu/edit.js +2 -1
  17. package/build/navigation-submenu/edit.js.map +1 -1
  18. package/build/post-author/edit.js +1 -1
  19. package/build/post-author/edit.js.map +1 -1
  20. package/build/post-author-name/edit.js +2 -2
  21. package/build/post-author-name/edit.js.map +1 -1
  22. package/build/post-comments-count/index.js +8 -1
  23. package/build/post-comments-count/index.js.map +1 -1
  24. package/build/post-navigation-link/edit.js +1 -1
  25. package/build/post-navigation-link/edit.js.map +1 -1
  26. package/build/query/edit/inspector-controls/index.js +2 -0
  27. package/build/query/edit/inspector-controls/index.js.map +1 -1
  28. package/build/query/edit/inspector-controls/order-control.js +3 -2
  29. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  30. package/build/query/utils.js +45 -0
  31. package/build/query/utils.js.map +1 -1
  32. package/build/query/view.js +2 -2
  33. package/build/query/view.js.map +1 -1
  34. package/build/query-total/index.js +2 -2
  35. package/build/query-total/index.js.map +1 -1
  36. package/build/search/view.js +2 -2
  37. package/build/search/view.js.map +1 -1
  38. package/build/site-logo/edit.js +2 -5
  39. package/build/site-logo/edit.js.map +1 -1
  40. package/build/template-part/edit/advanced-controls.js +1 -1
  41. package/build/template-part/edit/advanced-controls.js.map +1 -1
  42. package/build/template-part/edit/utils/hooks.js +1 -1
  43. package/build/template-part/edit/utils/hooks.js.map +1 -1
  44. package/build/video/edit-common-settings.js +10 -3
  45. package/build/video/edit-common-settings.js.map +1 -1
  46. package/build-module/cover/edit/index.js +3 -1
  47. package/build-module/cover/edit/index.js.map +1 -1
  48. package/build-module/form/edit.js +4 -2
  49. package/build-module/form/edit.js.map +1 -1
  50. package/build-module/image/view.js +5 -5
  51. package/build-module/image/view.js.map +1 -1
  52. package/build-module/latest-posts/edit.js +2 -1
  53. package/build-module/latest-posts/edit.js.map +1 -1
  54. package/build-module/navigation/use-template-part-area-label.js +7 -6
  55. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  56. package/build-module/navigation/view.js +3 -3
  57. package/build-module/navigation/view.js.map +1 -1
  58. package/build-module/navigation-link/edit.js +2 -1
  59. package/build-module/navigation-link/edit.js.map +1 -1
  60. package/build-module/navigation-submenu/edit.js +2 -1
  61. package/build-module/navigation-submenu/edit.js.map +1 -1
  62. package/build-module/post-author/edit.js +1 -1
  63. package/build-module/post-author/edit.js.map +1 -1
  64. package/build-module/post-author-name/edit.js +2 -2
  65. package/build-module/post-author-name/edit.js.map +1 -1
  66. package/build-module/post-comments-count/index.js +8 -1
  67. package/build-module/post-comments-count/index.js.map +1 -1
  68. package/build-module/post-navigation-link/edit.js +1 -1
  69. package/build-module/post-navigation-link/edit.js.map +1 -1
  70. package/build-module/query/edit/inspector-controls/index.js +3 -1
  71. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  72. package/build-module/query/edit/inspector-controls/order-control.js +3 -2
  73. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  74. package/build-module/query/utils.js +44 -0
  75. package/build-module/query/utils.js.map +1 -1
  76. package/build-module/query/view.js +3 -3
  77. package/build-module/query/view.js.map +1 -1
  78. package/build-module/query-total/index.js +2 -2
  79. package/build-module/query-total/index.js.map +1 -1
  80. package/build-module/search/view.js +3 -3
  81. package/build-module/search/view.js.map +1 -1
  82. package/build-module/site-logo/edit.js +2 -5
  83. package/build-module/site-logo/edit.js.map +1 -1
  84. package/build-module/template-part/edit/advanced-controls.js +1 -1
  85. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  86. package/build-module/template-part/edit/utils/hooks.js +1 -1
  87. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  88. package/build-module/video/edit-common-settings.js +10 -3
  89. package/build-module/video/edit-common-settings.js.map +1 -1
  90. package/build-style/editor-rtl.css +6 -9
  91. package/build-style/editor.css +6 -9
  92. package/build-style/navigation-link/editor-rtl.css +5 -9
  93. package/build-style/navigation-link/editor.css +5 -9
  94. package/build-style/post-comments-count/style-rtl.css +103 -0
  95. package/build-style/post-comments-count/style.css +103 -0
  96. package/build-style/pullquote/style-rtl.css +4 -0
  97. package/build-style/pullquote/style.css +4 -0
  98. package/build-style/social-link/editor-rtl.css +1 -0
  99. package/build-style/social-link/editor.css +1 -0
  100. package/build-style/style-rtl.css +8 -0
  101. package/build-style/style.css +8 -0
  102. package/package.json +35 -35
  103. package/src/cover/edit/index.js +2 -0
  104. package/src/cover/test/edit.js +6 -6
  105. package/src/form/edit.js +2 -0
  106. package/src/image/view.js +10 -5
  107. package/src/latest-posts/edit.js +1 -0
  108. package/src/navigation/use-template-part-area-label.js +6 -6
  109. package/src/navigation/view.js +8 -3
  110. package/src/navigation-link/edit.js +1 -0
  111. package/src/navigation-link/editor.scss +3 -24
  112. package/src/navigation-submenu/edit.js +1 -0
  113. package/src/post-author/edit.js +1 -1
  114. package/src/post-author-name/edit.js +4 -4
  115. package/src/post-comments-count/block.json +8 -1
  116. package/src/post-comments-count/style.scss +4 -0
  117. package/src/post-navigation-link/edit.js +1 -1
  118. package/src/pullquote/style.scss +4 -0
  119. package/src/query/edit/inspector-controls/index.js +3 -1
  120. package/src/query/edit/inspector-controls/order-control.js +9 -3
  121. package/src/query/utils.js +58 -0
  122. package/src/query/view.js +8 -3
  123. package/src/query-total/block.json +2 -2
  124. package/src/query-total/index.php +4 -2
  125. package/src/search/view.js +8 -3
  126. package/src/site-logo/edit.js +1 -5
  127. package/src/site-title/index.php +1 -1
  128. package/src/social-link/editor.scss +1 -0
  129. package/src/style.scss +1 -0
  130. package/src/template-part/edit/advanced-controls.js +1 -1
  131. package/src/template-part/edit/utils/hooks.js +1 -1
  132. package/src/template-part/index.php +3 -1
  133. package/src/video/edit-common-settings.js +11 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_element","_constants","_hooks","_jsxRuntime","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","useInstanceId","dropdownMenuProps","useToolsPanelDropdownMenuProps","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","useSelect","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","useDispatch","noticeStore","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","alignNone","positionLeft","positionCenter","positionRight","hasPosts","inspectorControls","jsxs","InspectorControls","children","__experimentalToolsPanel","resetAll","DEFAULT_EXCERPT_LENGTH","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked","onChange","RadioControl","selected","options","RangeControl","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","PanelBody","title","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","__experimentalToggleGroupControl","className","__experimentalToggleGroupControlOptionIcon","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","clsx","Placeholder","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","_x","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","createInterpolateElement","sprintf","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\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<RangeControl\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\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\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\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\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) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\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\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\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\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\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</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_element","_constants","_hooks","_jsxRuntime","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","useInstanceId","dropdownMenuProps","useToolsPanelDropdownMenuProps","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","useSelect","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","ignore_sticky","filter","value","imageDimensions","width","height","createWarningNotice","useDispatch","noticeStore","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","alignNone","positionLeft","positionCenter","positionRight","hasPosts","inspectorControls","jsxs","InspectorControls","children","__experimentalToolsPanel","resetAll","DEFAULT_EXCERPT_LENGTH","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked","onChange","RadioControl","selected","options","RangeControl","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","PanelBody","title","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","__experimentalToggleGroupControl","className","__experimentalToggleGroupControlOptionIcon","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","clsx","Placeholder","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","_x","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","createInterpolateElement","sprintf","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\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<RangeControl\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\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\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\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\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) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\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\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\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\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\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</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAOA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AASA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAKA,IAAAW,UAAA,GAAAX,OAAA;AAMA,IAAAY,MAAA,GAAAZ,OAAA;AAAgE,IAAAa,WAAA,GAAAb,OAAA;AAvDhE;AACA;AACA;;AAGA;AACA;AACA;;AAuCA;AACA;AACA;;AASA;AACA;AACA,GACA,MAAMc,qBAAqB,GAAG;EAC7BC,QAAQ,EAAE,CAAC,CAAC;EACZC,OAAO,EAAE;AACV,CAAC;AACD,MAAMC,gBAAgB,GAAG;EACxBF,QAAQ,EAAE,CAAC,CAAC;EACZG,mBAAmB,EAAE,CAAE,MAAM,CAAE;EAC/BF,OAAO,EAAE;AACV,CAAC;AAED,SAASG,uBAAuBA,CAAEC,IAAI,EAAEC,IAAI,EAAG;EAAA,IAAAC,qBAAA;EAC9C,MAAMC,KAAK,GAAGH,IAAI,CAACI,SAAS,GAAI,kBAAkB,CAAE,GAAI,GAAG,CAAE;EAE7D,OAAO;IACNC,GAAG,GAAAH,qBAAA,GACFC,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIN,IAAI,CAAE,EAAEO,UAAU,cAAAN,qBAAA,cAAAA,qBAAA,GACjDC,KAAK,EAAEK,UAAU;IAClBC,GAAG,EAAEN,KAAK,EAAEO;EACb,CAAC;AACF;AAEe,SAASC,eAAeA,CAAE;EAAEC,UAAU;EAAEC;AAAc,CAAC,EAAG;EAAA,IAAAC,qBAAA;EACxE,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEL,eAAgB,CAAC;EACnD,MAAMM,iBAAiB,GAAG,IAAAC,qCAA8B,EAAC,CAAC;EAE1D,MAAM;IACLC,WAAW;IACXC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,kBAAkB;IAClBC,eAAe;IACfC,aAAa;IACbC,UAAU;IACVC,OAAO;IACPC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC;EACD,CAAC,GAAGxB,UAAU;EACd,MAAM;IACLyB,UAAU;IACVC,WAAW;IACXC,iBAAiB;IACjBC,kBAAkB;IAClBC,cAAc;IACdC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACb,MAAM;MAAEC,gBAAgB;MAAEC;IAAS,CAAC,GAAGJ,MAAM,CAAEK,eAAU,CAAC;IAC1D,MAAMC,QAAQ,GAAGN,MAAM,CAAEO,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC;IACzD,MAAMC,MAAM,GACX/B,UAAU,IAAIA,UAAU,CAACgC,MAAM,GAAG,CAAC,GAChChC,UAAU,CAACiC,GAAG,CAAIC,GAAG,IAAMA,GAAG,CAACC,EAAG,CAAC,GACnC,EAAE;IACN,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,WAAW,CAC1CD,MAAM,CAACE,OAAO,CAAE;MACfvC,UAAU,EAAE+B,MAAM;MAClBS,MAAM,EAAEvC,cAAc;MACtBH,KAAK;MACL2C,OAAO,EAAE1C,OAAO;MAChB1B,QAAQ,EAAEwB,WAAW;MACrB6C,MAAM,EAAE,kBAAkB;MAC1BC,aAAa,EAAE;IAChB,CAAE,CAAC,CAACC,MAAM,CAAE,CAAE,GAAIC,KAAK,CAAE,KAAM,OAAOA,KAAK,KAAK,WAAY,CAC7D,CAAC;IAED,OAAO;MACN5B,iBAAiB,GAAAM,qBAAA,GAChBK,QAAQ,CAACkB,eAAe,GAAInC,qBAAqB,CAAE,EAChDoC,KAAK,cAAAxB,qBAAA,cAAAA,qBAAA,GAAI,CAAC;MACdL,kBAAkB,GAAAM,sBAAA,GACjBI,QAAQ,CAACkB,eAAe,GAAInC,qBAAqB,CAAE,EAChDqC,MAAM,cAAAxB,sBAAA,cAAAA,sBAAA,GAAI,CAAC;MACfT,UAAU,EAAEa,QAAQ,CAACb,UAAU;MAC/BC,WAAW,EAAES,gBAAgB,CAC5B,UAAU,EACV,MAAM,EACNW,gBACD,CAAC;MACDjB,cAAc,EAAEM,gBAAgB,CAC/B,UAAU,EACV,UAAU,EACVrD,qBACD,CAAC;MACDgD,UAAU,EAAEM,QAAQ,CAAEnD,gBAAiB;IACxC,CAAC;EACF,CAAC,EACD,CACCoC,qBAAqB,EACrBd,WAAW,EACXC,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,cAAc,CAEhB,CAAC;;EAED;EACA,MAAM;IAAEgD;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAY,CAAC;EAC1D,MAAMC,8BAA8B,GAAKC,KAAK,IAAM;IACnDA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBL,mBAAmB,CAAE,IAAAM,QAAE,EAAE,mCAAoC,CAAC,EAAE;MAC/DpB,EAAE,EAAE,yDAA0D1C,UAAU,EAAG;MAC3E+D,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,gBAAgB,GAAG1C,UAAU,CACjC6B,MAAM,CAAE,CAAE;IAAEc;EAAK,CAAC,KAAMA,IAAI,KAAK,MAAO,CAAC,CACzCzB,GAAG,CAAE,CAAE;IAAE0B,IAAI;IAAED;EAAK,CAAC,MAAQ;IAC7Bb,KAAK,EAAEa,IAAI;IACXE,KAAK,EAAED;EACR,CAAC,CAAG,CAAC;EACN,MAAME,mBAAmB,IAAArE,qBAAA,GACxB2B,cAAc,EAAE2C,MAAM,CACrB,CAAEC,WAAW,EAAEC,QAAQ,MAAQ;IAC9B,GAAGD,WAAW;IACd,CAAEC,QAAQ,CAACL,IAAI,GAAIK;EACpB,CAAC,CAAE,EACH,CAAC,CACF,CAAC,cAAAxE,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EACR,MAAMyE,gBAAgB,GAAKC,MAAM,IAAM;IACtC,MAAMC,eAAe,GAAGD,MAAM,CAACE,IAAI,CAChCC,KAAK,IACN,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAER,mBAAmB,CAAEQ,KAAK,CAC3D,CAAC;IACD,IAAKF,eAAe,EAAG;MACtB;IACD;IACA;IACA;IACA,MAAMG,aAAa,GAAGJ,MAAM,CAACjC,GAAG,CAAIoC,KAAK,IAAM;MAC9C,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAC7BR,mBAAmB,CAAEQ,KAAK,CAAE,GAC5BA,KAAK;IACT,CAAE,CAAC;IACH;IACA;IACA,IAAKC,aAAa,CAACC,QAAQ,CAAE,IAAK,CAAC,EAAG;MACrC,OAAO,KAAK;IACb;IACAhF,aAAa,CAAE;MAAES,UAAU,EAAEsE;IAAc,CAAE,CAAC;EAC/C,CAAC;EAED,MAAME,qBAAqB,GAAG,CAC7B;IACC3B,KAAK,EAAE,MAAM;IACb4B,IAAI,EAAEC,gBAAS;IACfd,KAAK,EAAE,IAAAL,QAAE,EAAE,MAAO;EACnB,CAAC,EACD;IACCV,KAAK,EAAE,MAAM;IACb4B,IAAI,EAAEE,mBAAY;IAClBf,KAAK,EAAE,IAAAL,QAAE,EAAE,MAAO;EACnB,CAAC,EACD;IACCV,KAAK,EAAE,QAAQ;IACf4B,IAAI,EAAEG,qBAAc;IACpBhB,KAAK,EAAE,IAAAL,QAAE,EAAE,QAAS;EACrB,CAAC,EACD;IACCV,KAAK,EAAE,OAAO;IACd4B,IAAI,EAAEI,oBAAa;IACnBjB,KAAK,EAAE,IAAAL,QAAE,EAAE,OAAQ;EACpB,CAAC,CACD;EAED,MAAMuB,QAAQ,GAAG,CAAC,CAAE9D,WAAW,EAAEgB,MAAM;EACvC,MAAM+C,iBAAiB,gBACtB,IAAA5G,WAAA,CAAA6G,IAAA,EAACtH,YAAA,CAAAuH,iBAAiB;IAAAC,QAAA,gBACjB,IAAA/G,WAAA,CAAA6G,IAAA,EAACzH,WAAA,CAAA4H,wBAAU;MACVvB,KAAK,EAAG,IAAAL,QAAE,EAAE,cAAe,CAAG;MAC9B6B,QAAQ,EAAGA,CAAA,KACV7F,aAAa,CAAE;QACda,kBAAkB,EAAE,KAAK;QACzBD,uBAAuB,EAAE,SAAS;QAClCM,aAAa,EAAE4E;MAChB,CAAE,CACF;MACD1F,iBAAiB,EAAGA,iBAAmB;MAAAuF,QAAA,gBAEvC,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAgI,4BAAc;QACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEpF,kBAAoB;QACxCwD,KAAK,EAAG,IAAAL,QAAE,EAAE,cAAe,CAAG;QAC9BkC,UAAU,EAAGA,CAAA,KACZlG,aAAa,CAAE;UAAEa,kBAAkB,EAAE;QAAM,CAAE,CAC7C;QACDsF,gBAAgB;QAAAR,QAAA,eAEhB,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAoI,aAAa;UACbC,uBAAuB;UACvBhC,KAAK,EAAG,IAAAL,QAAE,EAAE,cAAe,CAAG;UAC9BsC,OAAO,EAAGzF,kBAAoB;UAC9B0F,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YAAEa,kBAAkB,EAAEyC;UAAM,CAAE;QAC7C,CACD;MAAC,CACa,CAAC,EACfzC,kBAAkB,iBACnB,IAAAjC,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAgI,4BAAc;QACdC,QAAQ,EAAGA,CAAA,KAAMrF,uBAAuB,KAAK,SAAW;QACxDyD,KAAK,EAAG,IAAAL,QAAE,EAAE,MAAO,CAAG;QACtBkC,UAAU,EAAGA,CAAA,KACZlG,aAAa,CAAE;UACdY,uBAAuB,EAAE;QAC1B,CAAE,CACF;QACDuF,gBAAgB;QAAAR,QAAA,eAEhB,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAwI,YAAY;UACZnC,KAAK,EAAG,IAAAL,QAAE,EAAE,MAAO,CAAG;UACtByC,QAAQ,EAAG7F,uBAAyB;UACpC8F,OAAO,EAAG,CACT;YAAErC,KAAK,EAAE,IAAAL,QAAE,EAAE,SAAU,CAAC;YAAEV,KAAK,EAAE;UAAU,CAAC,EAC5C;YACCe,KAAK,EAAE,IAAAL,QAAE,EAAE,WAAY,CAAC;YACxBV,KAAK,EAAE;UACR,CAAC,CACC;UACHiD,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YACdY,uBAAuB,EAAE0C;UAC1B,CAAE;QACF,CACD;MAAC,CACa,CAChB,EACCzC,kBAAkB,IACnBD,uBAAuB,KAAK,SAAS,iBACpC,IAAAhC,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAgI,4BAAc;QACdC,QAAQ,EAAGA,CAAA,KACV/E,aAAa,KAAK4E,iCAClB;QACDzB,KAAK,EAAG,IAAAL,QAAE,EAAE,qBAAsB,CAAG;QACrCkC,UAAU,EAAGA,CAAA,KACZlG,aAAa,CAAE;UACdkB,aAAa,EAAE4E;QAChB,CAAE,CACF;QACDK,gBAAgB;QAAAR,QAAA,eAEhB,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAA2I,YAAY;UACZN,uBAAuB;UACvBO,qBAAqB;UACrBvC,KAAK,EAAG,IAAAL,QAAE,EAAE,qBAAsB,CAAG;UACrCV,KAAK,EAAGpC,aAAe;UACvBqF,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YAAEkB,aAAa,EAAEoC;UAAM,CAAE,CACxC;UACDuD,GAAG,EAAGC,6BAAoB;UAC1BC,GAAG,EAAGC;QAAoB,CAC1B;MAAC,CACa,CAChB;IAAA,CACS,CAAC,eAEb,IAAApI,WAAA,CAAA6G,IAAA,EAACzH,WAAA,CAAA4H,wBAAU;MACVvB,KAAK,EAAG,IAAAL,QAAE,EAAE,WAAY,CAAG;MAC3B6B,QAAQ,EAAGA,CAAA,KACV7F,aAAa,CAAE;QACde,aAAa,EAAE,KAAK;QACpBD,eAAe,EAAE;MAClB,CAAE,CACF;MACDV,iBAAiB,EAAGA,iBAAmB;MAAAuF,QAAA,gBAEvC,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAgI,4BAAc;QACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAElF,aAAe;QACnCsD,KAAK,EAAG,IAAAL,QAAE,EAAE,qBAAsB,CAAG;QACrCkC,UAAU,EAAGA,CAAA,KACZlG,aAAa,CAAE;UAAEe,aAAa,EAAE;QAAM,CAAE,CACxC;QACDoF,gBAAgB;QAAAR,QAAA,eAEhB,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAoI,aAAa;UACbC,uBAAuB;UACvBhC,KAAK,EAAG,IAAAL,QAAE,EAAE,qBAAsB,CAAG;UACrCsC,OAAO,EAAGvF,aAAe;UACzBwF,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YAAEe,aAAa,EAAEuC;UAAM,CAAE;QACxC,CACD;MAAC,CACa,CAAC,eACjB,IAAA1E,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAgI,4BAAc;QACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEnF,eAAiB;QACrCuD,KAAK,EAAG,IAAAL,QAAE,EAAE,mBAAoB,CAAG;QACnCkC,UAAU,EAAGA,CAAA,KACZlG,aAAa,CAAE;UAAEc,eAAe,EAAE;QAAM,CAAE,CAC1C;QACDqF,gBAAgB;QAAAR,QAAA,eAEhB,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAoI,aAAa;UACbC,uBAAuB;UACvBhC,KAAK,EAAG,IAAAL,QAAE,EAAE,mBAAoB,CAAG;UACnCsC,OAAO,EAAGxF,eAAiB;UAC3ByF,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YAAEc,eAAe,EAAEwC;UAAM,CAAE;QAC1C,CACD;MAAC,CACa,CAAC;IAAA,CACN,CAAC,eACb,IAAA1E,WAAA,CAAA6G,IAAA,EAACzH,WAAA,CAAAiJ,SAAS;MAACC,KAAK,EAAG,IAAAlD,QAAE,EAAE,gBAAiB,CAAG;MAAA2B,QAAA,gBAC1C,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAoI,aAAa;QACbC,uBAAuB;QACvBhC,KAAK,EAAG,IAAAL,QAAE,EAAE,wBAAyB,CAAG;QACxCsC,OAAO,EAAG3F,oBAAsB;QAChC4F,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;UAAEW,oBAAoB,EAAE2C;QAAM,CAAE;MAC/C,CACD,CAAC,EACA3C,oBAAoB,iBACrB,IAAA/B,WAAA,CAAA6G,IAAA,EAAA7G,WAAA,CAAAuI,QAAA;QAAAxB,QAAA,gBACC,IAAA/G,WAAA,CAAAmH,GAAA,EAAC5H,YAAA,CAAAiJ,8BAAgB;UAChBb,QAAQ,EAAKjD,KAAK,IAAM;YACvB,MAAM+D,QAAQ,GAAG,CAAC,CAAC;YACnB,IAAK/D,KAAK,CAACgE,cAAc,CAAE,OAAQ,CAAC,EAAG;cACtCD,QAAQ,CAAChG,sBAAsB,GAC9BiC,KAAK,CAACE,KAAK;YACb;YACA,IAAKF,KAAK,CAACgE,cAAc,CAAE,QAAS,CAAC,EAAG;cACvCD,QAAQ,CAAC/F,uBAAuB,GAC/BgC,KAAK,CAACG,MAAM;YACd;YACAzD,aAAa,CAAEqH,QAAS,CAAC;UAC1B,CAAG;UACHlD,IAAI,EAAG/C,qBAAuB;UAC9BoC,KAAK,EAAGnC,sBAAwB;UAChCoC,MAAM,EAAGnC,uBAAyB;UAClCiG,UAAU,EAAG7F,iBAAmB;UAChC8F,WAAW,EAAG7F,kBAAoB;UAClCuC,gBAAgB,EAAGA,gBAAkB;UACrCuD,aAAa,EAAG,IAAAzD,QAAE,EACjB,sCACD,CAAG;UACH0D,aAAa,EAAKpE,KAAK,IACtBtD,aAAa,CAAE;YACdoB,qBAAqB,EAAEkC,KAAK;YAC5BjC,sBAAsB,EAAEsG,SAAS;YACjCrG,uBAAuB,EAAEqG;UAC1B,CAAE;QACF,CACD,CAAC,eACF,IAAA/I,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAA4J,gCAAkB;UAClBC,SAAS,EAAC,6CAA6C;UACvDxB,uBAAuB;UACvBO,qBAAqB;UACrBvC,KAAK,EAAG,IAAAL,QAAE,EAAE,iBAAkB,CAAG;UACjCV,KAAK,EAAGnC,kBAAkB,IAAI,MAAQ;UACtCoF,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YACdmB,kBAAkB,EACjBmC,KAAK,KAAK,MAAM,GAAGA,KAAK,GAAGqE;UAC7B,CAAE,CACF;UAAAhC,QAAA,EAECV,qBAAqB,CAACvC,GAAG,CAC1B,CAAE;YAAEY,KAAK;YAAE4B,IAAI;YAAEb;UAAM,CAAC,KAAM;YAC7B,oBACC,IAAAzF,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAA8J,0CAA4B;cAE5BxE,KAAK,EAAGA,KAAO;cACf4B,IAAI,EAAGA,IAAM;cACbb,KAAK,EAAGA;YAAO,GAHTf,KAIN,CAAC;UAEJ,CACD;QAAC,CACkB,CAAC,eACrB,IAAA1E,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAoI,aAAa;UACbC,uBAAuB;UACvBhC,KAAK,EAAG,IAAAL,QAAE,EAAE,4BAA6B,CAAG;UAC5CsC,OAAO,EAAG/E,sBAAwB;UAClCgF,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;YACduB,sBAAsB,EAAE+B;UACzB,CAAE;QACF,CACD,CAAC;MAAA,CACD,CACF;IAAA,CACS,CAAC,eAEZ,IAAA1E,WAAA,CAAA6G,IAAA,EAACzH,WAAA,CAAAiJ,SAAS;MAACC,KAAK,EAAG,IAAAlD,QAAE,EAAE,uBAAwB,CAAG;MAAA2B,QAAA,gBACjD,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAA+J,aAAa;QACNxH,KAAK;QAAEC,OAAO;QACrBwH,aAAa,EAAG1H,WAAa;QAC7B2H,aAAa,EAAK3E,KAAK,IACtBtD,aAAa,CAAE;UAAEO,KAAK,EAAE+C;QAAM,CAAE,CAChC;QACD4E,eAAe,EAAK5E,KAAK,IACxBtD,aAAa,CAAE;UAAEQ,OAAO,EAAE8C;QAAM,CAAE,CAClC;QACD6E,qBAAqB,EAAK7E,KAAK,IAC9BtD,aAAa,CAAE;UAAEM,WAAW,EAAEgD;QAAM,CAAE,CACtC;QACDgB,mBAAmB,EAAGA,mBAAqB;QAC3C8D,gBAAgB,EAAG1D,gBAAkB;QACrC2D,kBAAkB,EAAG5H,UAAY;QACjC6H,cAAc,EAAKhF,KAAK,IACvBtD,aAAa,CAAE;UACdU,cAAc,EACb,EAAE,KAAK4C,KAAK,GAAGiF,MAAM,CAAEjF,KAAM,CAAC,GAAGqE;QACnC,CAAE,CACF;QACD9F,UAAU,EAAGA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAI;QAC/B2G,gBAAgB,EAAG9H;MAAgB,CACnC,CAAC,EAEAM,UAAU,KAAK,MAAM,iBACtB,IAAApC,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAA2I,YAAY;QACZN,uBAAuB;QACvBO,qBAAqB;QACrBvC,KAAK,EAAG,IAAAL,QAAE,EAAE,SAAU,CAAG;QACzBV,KAAK,EAAGrC,OAAS;QACjBsF,QAAQ,EAAKjD,KAAK,IACjBtD,aAAa,CAAE;UAAEiB,OAAO,EAAEqC;QAAM,CAAE,CAClC;QACDuD,GAAG,EAAG,CAAG;QACTE,GAAG,EACF,CAAExB,QAAQ,GACPkD,4BAAiB,GACjBC,IAAI,CAAC7B,GAAG,CACR4B,4BAAiB,EACjBhH,WAAW,CAACgB,MACZ,CACH;QACDkG,QAAQ;MAAA,CACR,CACD;IAAA,CACS,CAAC;EAAA,CACM,CACnB;EAED,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjChB,SAAS,EAAE,IAAAiB,aAAI,EAAE;MAChB,6BAA6B,EAAE,IAAI;MACnC,SAAS,EAAE9H,UAAU,KAAK,MAAM;MAChC,WAAW,EAAEF,eAAe;MAC5B,YAAY,EAAEC,aAAa;MAC3B,CAAE,WAAYE,OAAO,EAAG,GAAID,UAAU,KAAK;IAC5C,CAAE;EACH,CAAE,CAAC;EAEH,IAAK,CAAEuE,QAAQ,EAAG;IACjB,oBACC,IAAA3G,WAAA,CAAA6G,IAAA;MAAA,GAAUmD,UAAU;MAAAjD,QAAA,GACjBH,iBAAiB,eACnB,IAAA5G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAA+K,WAAW;QAAC7D,IAAI,EAAG8D,UAAK;QAAC3E,KAAK,EAAG,IAAAL,QAAE,EAAE,cAAe,CAAG;QAAA2B,QAAA,EACrD,CAAEsD,KAAK,CAACC,OAAO,CAAEzH,WAAY,CAAC,gBAC/B,IAAA7C,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAmL,OAAO,IAAE,CAAC,GAEX,IAAAnF,QAAE,EAAE,iBAAkB;MACtB,CACW,CAAC;IAAA,CACV,CAAC;EAER;;EAEA;EACA,MAAMoF,YAAY,GACjB3H,WAAW,CAACgB,MAAM,GAAGnC,WAAW,GAC7BmB,WAAW,CAAC4H,KAAK,CAAE,CAAC,EAAE/I,WAAY,CAAC,GACnCmB,WAAW;EAEf,MAAM6H,cAAc,GAAG,CACtB;IACCpE,IAAI,EAAEqE,WAAI;IACVrC,KAAK,EAAE,IAAAsC,QAAE,EAAE,WAAW,EAAE,oCAAqC,CAAC;IAC9DC,OAAO,EAAEA,CAAA,KAAMzJ,aAAa,CAAE;MAAEgB,UAAU,EAAE;IAAO,CAAE,CAAC;IACtD0I,QAAQ,EAAE1I,UAAU,KAAK;EAC1B,CAAC,EACD;IACCkE,IAAI,EAAEyE,WAAI;IACVzC,KAAK,EAAE,IAAAsC,QAAE,EAAE,WAAW,EAAE,oCAAqC,CAAC;IAC9DC,OAAO,EAAEA,CAAA,KAAMzJ,aAAa,CAAE;MAAEgB,UAAU,EAAE;IAAO,CAAE,CAAC;IACtD0I,QAAQ,EAAE1I,UAAU,KAAK;EAC1B,CAAC,CACD;EAED,MAAM4I,UAAU,GAAG,IAAArH,iBAAW,EAAC,CAAC,CAACsH,OAAO,CAACC,IAAI;EAE7C,oBACC,IAAAlL,WAAA,CAAA6G,IAAA,EAAA7G,WAAA,CAAAuI,QAAA;IAAAxB,QAAA,GACGH,iBAAiB,eACnB,IAAA5G,WAAA,CAAAmH,GAAA,EAAC5H,YAAA,CAAA4L,aAAa;MAAApE,QAAA,eACb,IAAA/G,WAAA,CAAAmH,GAAA,EAAC/H,WAAA,CAAAgM,YAAY;QAACC,QAAQ,EAAGX;MAAgB,CAAE;IAAC,CAC9B,CAAC,eAChB,IAAA1K,WAAA,CAAAmH,GAAA;MAAA,GAAS6C,UAAU;MAAAjD,QAAA,EAChByD,YAAY,CAAC1G,GAAG,CAAIvD,IAAI,IAAM;QAC/B,MAAM+K,YAAY,GAAG/K,IAAI,CAAC+H,KAAK,CAACiD,QAAQ,CAACC,IAAI,CAAC,CAAC;QAC/C,IAAIC,OAAO,GAAGlL,IAAI,CAACkL,OAAO,CAACF,QAAQ;QACnC,MAAMG,aAAa,GAAGzI,UAAU,EAAE0I,IAAI,CACnCtH,MAAM,IAAMA,MAAM,CAACL,EAAE,KAAKzD,IAAI,CAAC8D,MAClC,CAAC;QAED,MAAMuH,cAAc,GAAGC,QAAQ,CAACC,aAAa,CAAE,KAAM,CAAC;QACtDF,cAAc,CAACG,SAAS,GAAGN,OAAO;QAElCA,OAAO,GACNG,cAAc,CAACI,WAAW,IAC1BJ,cAAc,CAACK,SAAS,IACxB,EAAE;QAEH,MAAM;UAAErL,GAAG,EAAEsL,cAAc;UAAElL,GAAG,EAAEmL;QAAiB,CAAC,GACnD7L,uBAAuB,CAAEC,IAAI,EAAEiC,qBAAsB,CAAC;QACvD,MAAM4J,YAAY,GAAG,IAAAlC,aAAI,EAAE;UAC1B,uCAAuC,EAAE,IAAI;UAC7C,CAAE,QAAS3H,kBAAkB,EAAG,GAC/B,CAAC,CAAEA;QACL,CAAE,CAAC;QACH,MAAM8J,mBAAmB,GACxBtK,oBAAoB,IAAImK,cAAc;QACvC,MAAMI,aAAa,GAAGD,mBAAmB,iBACxC,IAAArM,WAAA,CAAAmH,GAAA;UACCoF,GAAG,EAAGL,cAAgB;UACtBlL,GAAG,EAAGmL,gBAAkB;UACxBK,KAAK,EAAG;YACPC,QAAQ,EAAEhK,sBAAsB;YAChCiK,SAAS,EAAEhK;UACZ;QAAG,CACH,CACD;QAED,MAAMiK,aAAa,GAClBrK,aAAa,GAAGmJ,OAAO,CAACD,IAAI,CAAC,CAAC,CAACoB,KAAK,CAAE,GAAI,CAAC,CAAC/I,MAAM,IAClDtD,IAAI,CAACkL,OAAO,CAACoB,GAAG,KAAK,EAAE;QAExB,MAAMC,WAAW,GAAGH,aAAa,gBAChC,IAAA3M,WAAA,CAAA6G,IAAA,EAAA7G,WAAA,CAAAuI,QAAA;UAAAxB,QAAA,GACG0E,OAAO,CACPD,IAAI,CAAC,CAAC,CACNoB,KAAK,CAAE,GAAG,EAAEtK,aAAc,CAAC,CAC3ByK,IAAI,CAAE,GAAI,CAAC,EACX,IAAAC,iCAAwB,EACzB,IAAAC,aAAO,EACN;UACA,IAAA7H,QAAE,EACD,uCACD,CAAC,EACDkG,YAAY,IAAI,IAAAlG,QAAE,EAAE,YAAa,CAClC,CAAC,EACD;YACC8H,CAAC;YAAA;YACA;YACA,IAAAlN,WAAA,CAAAmH,GAAA;cACC8B,SAAS,EAAC,kCAAkC;cAC5CkE,IAAI,EAAG5M,IAAI,CAAC6M,IAAM;cAClBC,GAAG,EAAC,qBAAqB;cACzBxC,OAAO,EACN5F;YACA,CACD,CACD;YACDqI,IAAI,eACH,IAAAtN,WAAA,CAAAmH,GAAA;cAAM8B,SAAS,EAAC;YAAoB,CAAE;UAExC,CACD,CAAC;QAAA,CACA,CAAC,GAEHwC,OACA;QAED,oBACC,IAAAzL,WAAA,CAAA6G,IAAA;UAAAE,QAAA,GACGsF,mBAAmB,iBACpB,IAAArM,WAAA,CAAAmH,GAAA;YAAK8B,SAAS,EAAGmD,YAAc;YAAArF,QAAA,EAC5BpE,sBAAsB,gBACvB,IAAA3C,WAAA,CAAAmH,GAAA;cACCgG,IAAI,EAAG5M,IAAI,CAAC6M,IAAM;cAClBC,GAAG,EAAC,qBAAqB;cACzBxC,OAAO,EACN5F,8BACA;cAAA8B,QAAA,EAECuF;YAAa,CACb,CAAC,GAEJA;UACA,CACG,CACL,eACD,IAAAtM,WAAA,CAAAmH,GAAA;YACC8B,SAAS,EAAC,mCAAmC;YAC7CkE,IAAI,EAAG5M,IAAI,CAAC6M,IAAM;YAClBC,GAAG,EAAC,qBAAqB;YACzBE,uBAAuB,EACtB,CAAC,CAAEjC,YAAY,GACZ;cACAkC,MAAM,EAAElC;YACR,CAAC,GACDvC,SACH;YACD8B,OAAO,EAAG5F,8BAAgC;YAAA8B,QAAA,EAExC,CAAEuE,YAAY,GAAG,IAAAlG,QAAE,EAAE,YAAa,CAAC,GAAG;UAAI,CAC1C,CAAC,EACFjD,aAAa,IAAIuJ,aAAa,iBAC/B,IAAA1L,WAAA,CAAAmH,GAAA;YAAK8B,SAAS,EAAC,oCAAoC;YAAAlC,QAAA,EAChD,IAAAkG,aAAO,EACR;YACA,IAAA7H,QAAE,EAAE,OAAQ,CAAC,EACbsG,aAAa,CAAClG,IACf;UAAC,CACG,CACL,EACCtD,eAAe,IAAI3B,IAAI,CAACkN,QAAQ,iBACjC,IAAAzN,WAAA,CAAAmH,GAAA;YACCuG,QAAQ,EAAG,IAAAC,YAAM,EAAE,GAAG,EAAEpN,IAAI,CAACkN,QAAS,CAAG;YACzCxE,SAAS,EAAC,kCAAkC;YAAAlC,QAAA,EAE1C,IAAA6G,cAAQ,EAAE5C,UAAU,EAAEzK,IAAI,CAACkN,QAAS;UAAC,CAClC,CACN,EACCxL,kBAAkB,IACnBD,uBAAuB,KAAK,SAAS,iBACpC,IAAAhC,WAAA,CAAAmH,GAAA;YAAK8B,SAAS,EAAC,qCAAqC;YAAAlC,QAAA,EACjD+F;UAAW,CACT,CACL,EACA7K,kBAAkB,IACnBD,uBAAuB,KAAK,WAAW,iBACtC,IAAAhC,WAAA,CAAAmH,GAAA;YACC8B,SAAS,EAAC,0CAA0C;YACpDsE,uBAAuB,EAAG;cACzBC,MAAM,EAAEjN,IAAI,CAACsN,OAAO,CAAChB,GAAG,CAACrB,IAAI,CAAC;YAC/B;UAAG,CACH,CACD;QAAA,GAhEOjL,IAAI,CAACyD,EAiEX,CAAC;MAEP,CAAE;IAAC,CACA,CAAC;EAAA,CACJ,CAAC;AAEL","ignoreList":[]}
@@ -35,22 +35,23 @@ function useTemplatePartAreaLabel(clientId) {
35
35
  if (!parentTemplatePartClientIds?.length) {
36
36
  return;
37
37
  }
38
- const defaultTemplatePartAreas = select(_coreData.store).getEntityRecord('root', '__unstableBase')?.default_template_part_areas || [];
39
- const definedAreas = defaultTemplatePartAreas.map(item => ({
40
- ...item,
41
- icon: (0, _getTemplatePartIcon.getTemplatePartIcon)(item.icon)
42
- }));
43
38
  const {
44
39
  getCurrentTheme,
45
40
  getEditedEntityRecord
46
41
  } = select(_coreData.store);
42
+ const currentTheme = getCurrentTheme();
43
+ const defaultTemplatePartAreas = currentTheme?.default_template_part_areas || [];
44
+ const definedAreas = defaultTemplatePartAreas.map(item => ({
45
+ ...item,
46
+ icon: (0, _getTemplatePartIcon.getTemplatePartIcon)(item.icon)
47
+ }));
47
48
  for (const templatePartClientId of parentTemplatePartClientIds) {
48
49
  const templatePartBlock = getBlock(templatePartClientId);
49
50
 
50
51
  // The 'area' usually isn't stored on the block, but instead
51
52
  // on the entity.
52
53
  const {
53
- theme = getCurrentTheme()?.stylesheet,
54
+ theme = currentTheme?.stylesheet,
54
55
  slug
55
56
  } = templatePartBlock.attributes;
56
57
  const templatePartEntityId = (0, _createTemplatePartId.createTemplatePartId)(theme, slug);
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_coreData","_data","_createTemplatePartId","_getTemplatePartIcon","useTemplatePartAreaLabel","clientId","useSelect","select","getBlock","getBlockParentsByBlockName","blockEditorStore","withAscendingResults","parentTemplatePartClientIds","length","defaultTemplatePartAreas","coreStore","getEntityRecord","default_template_part_areas","definedAreas","map","item","icon","getTemplatePartIcon","getCurrentTheme","getEditedEntityRecord","templatePartClientId","templatePartBlock","theme","stylesheet","slug","attributes","templatePartEntityId","createTemplatePartId","templatePartEntity","area","find","definedArea","label"],"sources":["@wordpress/block-library/src/navigation/use-template-part-area-label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\n\n// TODO: this util should perhaps be refactored somewhere like core-data.\nimport { createTemplatePartId } from '../template-part/edit/utils/create-template-part-id';\nimport { getTemplatePartIcon } from '../template-part/edit/utils/get-template-part-icon';\n\nexport default function useTemplatePartAreaLabel( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// Use the lack of a clientId as an opportunity to bypass the rest\n\t\t\t// of this hook.\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getBlock, getBlockParentsByBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst withAscendingResults = true;\n\t\t\tconst parentTemplatePartClientIds = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/template-part',\n\t\t\t\twithAscendingResults\n\t\t\t);\n\n\t\t\tif ( ! parentTemplatePartClientIds?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst defaultTemplatePartAreas =\n\t\t\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t\t\t?.default_template_part_areas || [];\n\n\t\t\tconst definedAreas = defaultTemplatePartAreas.map( ( item ) => ( {\n\t\t\t\t...item,\n\t\t\t\ticon: getTemplatePartIcon( item.icon ),\n\t\t\t} ) );\n\n\t\t\tconst { getCurrentTheme, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tfor ( const templatePartClientId of parentTemplatePartClientIds ) {\n\t\t\t\tconst templatePartBlock = getBlock( templatePartClientId );\n\n\t\t\t\t// The 'area' usually isn't stored on the block, but instead\n\t\t\t\t// on the entity.\n\t\t\t\tconst { theme = getCurrentTheme()?.stylesheet, slug } =\n\t\t\t\t\ttemplatePartBlock.attributes;\n\t\t\t\tconst templatePartEntityId = createTemplatePartId(\n\t\t\t\t\ttheme,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t\tconst templatePartEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template_part',\n\t\t\t\t\ttemplatePartEntityId\n\t\t\t\t);\n\n\t\t\t\t// Look up the `label` for the area in the defined areas so\n\t\t\t\t// that an internationalized label can be used.\n\t\t\t\tif ( templatePartEntity?.area ) {\n\t\t\t\t\treturn definedAreas.find(\n\t\t\t\t\t\t( definedArea ) =>\n\t\t\t\t\t\t\tdefinedArea.area !== 'uncategorized' &&\n\t\t\t\t\t\t\tdefinedArea.area === templatePartEntity.area\n\t\t\t\t\t)?.label;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAOA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAEA;;AAIe,SAASK,wBAAwBA,CAAEC,QAAQ,EAAG;EAC5D,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAM;IACb;IACA;IACA,IAAK,CAAEF,QAAQ,EAAG;MACjB;IACD;IAEA,MAAM;MAAEG,QAAQ;MAAEC;IAA2B,CAAC,GAC7CF,MAAM,CAAEG,kBAAiB,CAAC;IAE3B,MAAMC,oBAAoB,GAAG,IAAI;IACjC,MAAMC,2BAA2B,GAAGH,0BAA0B,CAC7DJ,QAAQ,EACR,oBAAoB,EACpBM,oBACD,CAAC;IAED,IAAK,CAAEC,2BAA2B,EAAEC,MAAM,EAAG;MAC5C;IACD;IAEA,MAAMC,wBAAwB,GAC7BP,MAAM,CAAEQ,eAAU,CAAC,CAACC,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EAC5DC,2BAA2B,IAAI,EAAE;IAErC,MAAMC,YAAY,GAAGJ,wBAAwB,CAACK,GAAG,CAAIC,IAAI,KAAQ;MAChE,GAAGA,IAAI;MACPC,IAAI,EAAE,IAAAC,wCAAmB,EAAEF,IAAI,CAACC,IAAK;IACtC,CAAC,CAAG,CAAC;IAEL,MAAM;MAAEE,eAAe;MAAEC;IAAsB,CAAC,GAC/CjB,MAAM,CAAEQ,eAAU,CAAC;IAEpB,KAAM,MAAMU,oBAAoB,IAAIb,2BAA2B,EAAG;MACjE,MAAMc,iBAAiB,GAAGlB,QAAQ,CAAEiB,oBAAqB,CAAC;;MAE1D;MACA;MACA,MAAM;QAAEE,KAAK,GAAGJ,eAAe,CAAC,CAAC,EAAEK,UAAU;QAAEC;MAAK,CAAC,GACpDH,iBAAiB,CAACI,UAAU;MAC7B,MAAMC,oBAAoB,GAAG,IAAAC,0CAAoB,EAChDL,KAAK,EACLE,IACD,CAAC;MACD,MAAMI,kBAAkB,GAAGT,qBAAqB,CAC/C,UAAU,EACV,kBAAkB,EAClBO,oBACD,CAAC;;MAED;MACA;MACA,IAAKE,kBAAkB,EAAEC,IAAI,EAAG;QAC/B,OAAOhB,YAAY,CAACiB,IAAI,CACrBC,WAAW,IACZA,WAAW,CAACF,IAAI,KAAK,eAAe,IACpCE,WAAW,CAACF,IAAI,KAAKD,kBAAkB,CAACC,IAC1C,CAAC,EAAEG,KAAK;MACT;IACD;EACD,CAAC,EACD,CAAEhC,QAAQ,CACX,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_blockEditor","require","_coreData","_data","_createTemplatePartId","_getTemplatePartIcon","useTemplatePartAreaLabel","clientId","useSelect","select","getBlock","getBlockParentsByBlockName","blockEditorStore","withAscendingResults","parentTemplatePartClientIds","length","getCurrentTheme","getEditedEntityRecord","coreStore","currentTheme","defaultTemplatePartAreas","default_template_part_areas","definedAreas","map","item","icon","getTemplatePartIcon","templatePartClientId","templatePartBlock","theme","stylesheet","slug","attributes","templatePartEntityId","createTemplatePartId","templatePartEntity","area","find","definedArea","label"],"sources":["@wordpress/block-library/src/navigation/use-template-part-area-label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\n\n// TODO: this util should perhaps be refactored somewhere like core-data.\nimport { createTemplatePartId } from '../template-part/edit/utils/create-template-part-id';\nimport { getTemplatePartIcon } from '../template-part/edit/utils/get-template-part-icon';\n\nexport default function useTemplatePartAreaLabel( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// Use the lack of a clientId as an opportunity to bypass the rest\n\t\t\t// of this hook.\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getBlock, getBlockParentsByBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst withAscendingResults = true;\n\t\t\tconst parentTemplatePartClientIds = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/template-part',\n\t\t\t\twithAscendingResults\n\t\t\t);\n\n\t\t\tif ( ! parentTemplatePartClientIds?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getCurrentTheme, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tconst currentTheme = getCurrentTheme();\n\t\t\tconst defaultTemplatePartAreas =\n\t\t\t\tcurrentTheme?.default_template_part_areas || [];\n\n\t\t\tconst definedAreas = defaultTemplatePartAreas.map( ( item ) => ( {\n\t\t\t\t...item,\n\t\t\t\ticon: getTemplatePartIcon( item.icon ),\n\t\t\t} ) );\n\n\t\t\tfor ( const templatePartClientId of parentTemplatePartClientIds ) {\n\t\t\t\tconst templatePartBlock = getBlock( templatePartClientId );\n\n\t\t\t\t// The 'area' usually isn't stored on the block, but instead\n\t\t\t\t// on the entity.\n\t\t\t\tconst { theme = currentTheme?.stylesheet, slug } =\n\t\t\t\t\ttemplatePartBlock.attributes;\n\t\t\t\tconst templatePartEntityId = createTemplatePartId(\n\t\t\t\t\ttheme,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t\tconst templatePartEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template_part',\n\t\t\t\t\ttemplatePartEntityId\n\t\t\t\t);\n\n\t\t\t\t// Look up the `label` for the area in the defined areas so\n\t\t\t\t// that an internationalized label can be used.\n\t\t\t\tif ( templatePartEntity?.area ) {\n\t\t\t\t\treturn definedAreas.find(\n\t\t\t\t\t\t( definedArea ) =>\n\t\t\t\t\t\t\tdefinedArea.area !== 'uncategorized' &&\n\t\t\t\t\t\t\tdefinedArea.area === templatePartEntity.area\n\t\t\t\t\t)?.label;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAOA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAEA;;AAIe,SAASK,wBAAwBA,CAAEC,QAAQ,EAAG;EAC5D,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAM;IACb;IACA;IACA,IAAK,CAAEF,QAAQ,EAAG;MACjB;IACD;IAEA,MAAM;MAAEG,QAAQ;MAAEC;IAA2B,CAAC,GAC7CF,MAAM,CAAEG,kBAAiB,CAAC;IAE3B,MAAMC,oBAAoB,GAAG,IAAI;IACjC,MAAMC,2BAA2B,GAAGH,0BAA0B,CAC7DJ,QAAQ,EACR,oBAAoB,EACpBM,oBACD,CAAC;IAED,IAAK,CAAEC,2BAA2B,EAAEC,MAAM,EAAG;MAC5C;IACD;IAEA,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CR,MAAM,CAAES,eAAU,CAAC;IAEpB,MAAMC,YAAY,GAAGH,eAAe,CAAC,CAAC;IACtC,MAAMI,wBAAwB,GAC7BD,YAAY,EAAEE,2BAA2B,IAAI,EAAE;IAEhD,MAAMC,YAAY,GAAGF,wBAAwB,CAACG,GAAG,CAAIC,IAAI,KAAQ;MAChE,GAAGA,IAAI;MACPC,IAAI,EAAE,IAAAC,wCAAmB,EAAEF,IAAI,CAACC,IAAK;IACtC,CAAC,CAAG,CAAC;IAEL,KAAM,MAAME,oBAAoB,IAAIb,2BAA2B,EAAG;MACjE,MAAMc,iBAAiB,GAAGlB,QAAQ,CAAEiB,oBAAqB,CAAC;;MAE1D;MACA;MACA,MAAM;QAAEE,KAAK,GAAGV,YAAY,EAAEW,UAAU;QAAEC;MAAK,CAAC,GAC/CH,iBAAiB,CAACI,UAAU;MAC7B,MAAMC,oBAAoB,GAAG,IAAAC,0CAAoB,EAChDL,KAAK,EACLE,IACD,CAAC;MACD,MAAMI,kBAAkB,GAAGlB,qBAAqB,CAC/C,UAAU,EACV,kBAAkB,EAClBgB,oBACD,CAAC;;MAED;MACA;MACA,IAAKE,kBAAkB,EAAEC,IAAI,EAAG;QAC/B,OAAOd,YAAY,CAACe,IAAI,CACrBC,WAAW,IACZA,WAAW,CAACF,IAAI,KAAK,eAAe,IACpCE,WAAW,CAACF,IAAI,KAAKD,kBAAkB,CAACC,IAC1C,CAAC,EAAEG,KAAK;MACT;IACD;EACD,CAAC,EACD,CAAEhC,QAAQ,CACX,CAAC;AACF","ignoreList":[]}
@@ -95,7 +95,7 @@ const {
95
95
  actions.openMenu('click');
96
96
  }
97
97
  },
98
- handleMenuKeydown(event) {
98
+ handleMenuKeydown: (0, _interactivity.withSyncEvent)(event => {
99
99
  const {
100
100
  type,
101
101
  firstFocusableElement,
@@ -121,7 +121,7 @@ const {
121
121
  }
122
122
  }
123
123
  }
124
- },
124
+ }),
125
125
  handleMenuFocusout(event) {
126
126
  const {
127
127
  modal,
@@ -1 +1 @@
1
- {"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown( event ) {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\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\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\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},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","withSyncEvent","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\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\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\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},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -194,7 +194,8 @@ function Controls({
194
194
  url: urlValue
195
195
  }, setAttributes, attributes);
196
196
  },
197
- autoComplete: "off"
197
+ autoComplete: "off",
198
+ type: "url"
198
199
  })
199
200
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
200
201
  hasValue: () => !!description,
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_data","_components","_keycodes","_i18n","_blockEditor","_url","_element","_dom","_htmlEntities","_icons","_coreData","_compose","_linkUi","_updateAttributes","_utils","_jsxRuntime","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","useState","useEffect","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","useSelect","select","getEntityRecord","coreStore","status","isInvalid","isDraft","getMissingText","missingText","__","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","jsxs","__experimentalToolsPanel","children","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","stripHTML","onChange","labelValue","autoComplete","onFocus","onBlur","safeDecodeURI","urlValue","updateAttributes","TextareaControl","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","useDispatch","blockEditorStore","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","useRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","usePrevious","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","createBlock","newSubmenu","isURL","prependHTTP","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","getColors","onKeyDown","isKeyboardEvent","primary","preventDefault","stopPropagation","blockProps","useBlockProps","useMergeRefs","className","clsx","getColorClassName","style","color","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","linkIcon","shortcut","displayShortcut","currentTarget","addSubmenu","InspectorControls","RichText","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","decodeEntities","trim","LinkUI","link","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":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAQA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AASA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,IAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAb,OAAA;AAKA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,iBAAA,GAAAf,OAAA;AACA,IAAAgB,MAAA,GAAAhB,OAAA;AAAqD,IAAAiB,WAAA,GAAAjB,OAAA;AA1CrD;AACA;AACA;;AAGA;AACA;AACA;;AA8BA;AACA;AACA;;AAKA,MAAMkB,aAAa,GAAG;EAAEC,IAAI,EAAE;AAAuB,CAAC;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAKC,UAAU,IAAM;EAC7C,MAAM,CAAEC,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEnE,IAAAC,kBAAS,EAAE,MAAM;IAChB,MAAM;MAAEC;IAAc,CAAC,GAAGL,UAAU,CAACM,OAAO;IAE5C,SAASC,eAAeA,CAAEC,KAAK,EAAG;MACjC;MACAC,eAAe,CAAED,KAAM,CAAC;IACzB;;IAEA;IACA,SAASE,aAAaA,CAAA,EAAG;MACxBR,mBAAmB,CAAE,KAAM,CAAC;IAC7B;IAEA,SAASO,eAAeA,CAAED,KAAK,EAAG;MACjC;MACA,IAAKR,UAAU,CAACM,OAAO,CAACK,QAAQ,CAAEH,KAAK,CAACI,MAAO,CAAC,EAAG;QAClDV,mBAAmB,CAAE,IAAK,CAAC;MAC5B,CAAC,MAAM;QACNA,mBAAmB,CAAE,KAAM,CAAC;MAC7B;IACD;;IAEA;IACA;IACA;IACAG,aAAa,CAACQ,gBAAgB,CAAE,WAAW,EAAEN,eAAgB,CAAC;IAC9DF,aAAa,CAACQ,gBAAgB,CAAE,SAAS,EAAEH,aAAc,CAAC;IAC1DL,aAAa,CAACQ,gBAAgB,CAAE,WAAW,EAAEJ,eAAgB,CAAC;IAE9D,OAAO,MAAM;MACZJ,aAAa,CAACS,mBAAmB,CAAE,WAAW,EAAEP,eAAgB,CAAC;MACjEF,aAAa,CAACS,mBAAmB,CAAE,SAAS,EAAEJ,aAAc,CAAC;MAC7DL,aAAa,CAACS,mBAAmB,CAAE,WAAW,EAAEL,eAAgB,CAAC;IAClE,CAAC;EACF,CAAC,EAAE,CAAET,UAAU,CAAG,CAAC;EAEnB,OAAOC,gBAAgB;AACxB,CAAC;AAED,MAAMc,gBAAgB,GAAGA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,EAAE,KAAM;EAC9C,MAAMC,UAAU,GACfH,IAAI,KAAK,WAAW,IAAIC,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,MAAM;EAC3D,MAAMG,KAAK,GAAGC,MAAM,CAACC,SAAS,CAAEJ,EAAG,CAAC;EACpC,MAAMK,UAAU,GAAG,IAAAC,eAAS,EACzBC,MAAM,IAAM;IACb,IAAK,CAAEN,UAAU,EAAG;MACnB,OAAO,IAAI;IACZ;IACA,MAAM;MAAEO;IAAgB,CAAC,GAAGD,MAAM,CAAEE,eAAU,CAAC;IAC/C,OAAOD,eAAe,CAAE,UAAU,EAAET,IAAI,EAAEC,EAAG,CAAC,EAAEU,MAAM;EACvD,CAAC,EACD,CAAET,UAAU,EAAEF,IAAI,EAAEC,EAAE,CACvB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMW,SAAS,GACdV,UAAU,IAAIC,KAAK,IAAIG,UAAU,IAAI,OAAO,KAAKA,UAAU;EAC5D,MAAMO,OAAO,GAAG,OAAO,KAAKP,UAAU;EAEtC,OAAO,CAAEM,SAAS,EAAEC,OAAO,CAAE;AAC9B,CAAC;AAED,SAASC,cAAcA,CAAEd,IAAI,EAAG;EAC/B,IAAIe,WAAW,GAAG,EAAE;EAEpB,QAASf,IAAI;IACZ,KAAK,MAAM;MACV;MACAe,WAAW,GAAG,IAAAC,QAAE,EAAE,aAAc,CAAC;MACjC;IACD,KAAK,MAAM;MACV;MACAD,WAAW,GAAG,IAAAC,QAAE,EAAE,aAAc,CAAC;MACjC;IACD,KAAK,UAAU;MACd;MACAD,WAAW,GAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAC;MACrC;IACD,KAAK,KAAK;MACT;MACAD,WAAW,GAAG,IAAAC,QAAE,EAAE,YAAa,CAAC;MAChC;IACD;MACC;MACAD,WAAW,GAAG,IAAAC,QAAE,EAAE,UAAW,CAAC;EAChC;EAEA,OAAOD,WAAW;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASE,QAAQA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAuB,CAAC,EAAG;EAC1E,MAAM;IAAEC,KAAK;IAAEC,GAAG;IAAEC,WAAW;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGP,UAAU;EAC1D,oBACC,IAAAvC,WAAA,CAAA+C,IAAA,EAAC7D,WAAA,CAAA8D,wBAAU;IAACN,KAAK,EAAG,IAAAL,QAAE,EAAE,UAAW,CAAG;IAAAY,QAAA,gBACrC,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAiE,4BAAc;MACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEV,KAAO;MAC3BA,KAAK,EAAG,IAAAL,QAAE,EAAE,MAAO,CAAG;MACtBgB,UAAU,EAAGA,CAAA,KAAMb,aAAa,CAAE;QAAEE,KAAK,EAAE;MAAG,CAAE,CAAG;MACnDY,gBAAgB;MAAAL,QAAA,eAEhB,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAqE,WAAW;QACXC,uBAAuB;QACvBC,qBAAqB;QACrBf,KAAK,EAAG,IAAAL,QAAE,EAAE,MAAO,CAAG;QACtBqB,KAAK,EAAGhB,KAAK,GAAG,IAAAiB,wBAAS,EAAEjB,KAAM,CAAC,GAAG,EAAI;QACzCkB,QAAQ,EAAKC,UAAU,IAAM;UAC5BrB,aAAa,CAAE;YAAEE,KAAK,EAAEmB;UAAW,CAAE,CAAC;QACvC,CAAG;QACHC,YAAY,EAAC,KAAK;QAClBC,OAAO,EAAGA,CAAA,KAAMtB,sBAAsB,CAAE,IAAK,CAAG;QAChDuB,MAAM,EAAGA,CAAA,KAAMvB,sBAAsB,CAAE,KAAM;MAAG,CAChD;IAAC,CACa,CAAC,eAEjB,IAAAzC,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAiE,4BAAc;MACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAET,GAAK;MACzBD,KAAK,EAAG,IAAAL,QAAE,EAAE,MAAO,CAAG;MACtBgB,UAAU,EAAGA,CAAA,KAAMb,aAAa,CAAE;QAAEG,GAAG,EAAE;MAAG,CAAE,CAAG;MACjDW,gBAAgB;MAAAL,QAAA,eAEhB,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAqE,WAAW;QACXC,uBAAuB;QACvBC,qBAAqB;QACrBf,KAAK,EAAG,IAAAL,QAAE,EAAE,MAAO,CAAG;QACtBqB,KAAK,EAAGf,GAAG,GAAG,IAAAsB,kBAAa,EAAEtB,GAAI,CAAC,GAAG,EAAI;QACzCiB,QAAQ,EAAKM,QAAQ,IAAM;UAC1B,IAAAC,kCAAgB,EACf;YAAExB,GAAG,EAAEuB;UAAS,CAAC,EACjB1B,aAAa,EACbD,UACD,CAAC;QACF,CAAG;QACHuB,YAAY,EAAC;MAAK,CAClB;IAAC,CACa,CAAC,eAEjB,IAAA9D,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAiE,4BAAc;MACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAER,WAAa;MACjCF,KAAK,EAAG,IAAAL,QAAE,EAAE,aAAc,CAAG;MAC7BgB,UAAU,EAAGA,CAAA,KAAMb,aAAa,CAAE;QAAEI,WAAW,EAAE;MAAG,CAAE,CAAG;MACzDU,gBAAgB;MAAAL,QAAA,eAEhB,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAkF,eAAe;QACfZ,uBAAuB;QACvBd,KAAK,EAAG,IAAAL,QAAE,EAAE,aAAc,CAAG;QAC7BqB,KAAK,EAAGd,WAAW,IAAI,EAAI;QAC3BgB,QAAQ,EAAKS,gBAAgB,IAAM;UAClC7B,aAAa,CAAE;YAAEI,WAAW,EAAEyB;UAAiB,CAAE,CAAC;QACnD,CAAG;QACHC,IAAI,EAAG,IAAAjC,QAAE,EACR,iFACD;MAAG,CACH;IAAC,CACa,CAAC,eAEjB,IAAArC,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAiE,4BAAc;MACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEP,KAAO;MAC3BH,KAAK,EAAG,IAAAL,QAAE,EAAE,iBAAkB,CAAG;MACjCgB,UAAU,EAAGA,CAAA,KAAMb,aAAa,CAAE;QAAEK,KAAK,EAAE;MAAG,CAAE,CAAG;MACnDS,gBAAgB;MAAAL,QAAA,eAEhB,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAqE,WAAW;QACXC,uBAAuB;QACvBC,qBAAqB;QACrBf,KAAK,EAAG,IAAAL,QAAE,EAAE,iBAAkB,CAAG;QACjCqB,KAAK,EAAGb,KAAK,IAAI,EAAI;QACrBe,QAAQ,EAAKW,UAAU,IAAM;UAC5B/B,aAAa,CAAE;YAAEK,KAAK,EAAE0B;UAAW,CAAE,CAAC;QACvC,CAAG;QACHT,YAAY,EAAC,KAAK;QAClBQ,IAAI,EAAG,IAAAjC,QAAE,EACR,iEACD;MAAG,CACH;IAAC,CACa,CAAC,eAEjB,IAAArC,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAiE,4BAAc;MACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEN,GAAK;MACzBJ,KAAK,EAAG,IAAAL,QAAE,EAAE,eAAgB,CAAG;MAC/BgB,UAAU,EAAGA,CAAA,KAAMb,aAAa,CAAE;QAAEM,GAAG,EAAE;MAAG,CAAE,CAAG;MACjDQ,gBAAgB;MAAAL,QAAA,eAEhB,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAAqE,WAAW;QACXC,uBAAuB;QACvBC,qBAAqB;QACrBf,KAAK,EAAG,IAAAL,QAAE,EAAE,eAAgB,CAAG;QAC/BqB,KAAK,EAAGZ,GAAG,IAAI,EAAI;QACnBc,QAAQ,EAAKY,QAAQ,IAAM;UAC1BhC,aAAa,CAAE;YAAEM,GAAG,EAAE0B;UAAS,CAAE,CAAC;QACnC,CAAG;QACHV,YAAY,EAAC,KAAK;QAClBQ,IAAI,EAAG,IAAAjC,QAAE,EACR,mEACD;MAAG,CACH;IAAC,CACa,CAAC;EAAA,CACN,CAAC;AAEf;AAEe,SAASoC,kBAAkBA,CAAE;EAC3ClC,UAAU;EACVmC,UAAU;EACVlC,aAAa;EACbmC,iBAAiB;EACjBC,WAAW;EACXC,SAAS;EACTC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEzD,EAAE;IAAEoB,KAAK;IAAErB,IAAI;IAAEsB,GAAG;IAAEC,WAAW;IAAExB;EAAK,CAAC,GAAGmB,UAAU;EAE9D,MAAM,CAAEN,SAAS,EAAEC,OAAO,CAAE,GAAGf,gBAAgB,CAAEC,IAAI,EAAEC,IAAI,EAAEC,EAAG,CAAC;EACjE,MAAM;IAAE0D;EAAgB,CAAC,GAAGF,OAAO;EAEnC,MAAM;IACLG,YAAY;IACZC,uCAAuC;IACvCC,WAAW;IACXC;EACD,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EACnC;EACA,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAjF,iBAAQ,EAAEmE,UAAU,IAAI,CAAE/B,GAAI,CAAC;EACrE;EACA,MAAM,CAAE8C,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAnF,iBAAQ,EAAE,IAAK,CAAC;EAClD;EACA;EACA,MAAM,CAAEoF,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAArF,iBAAQ,EAAE,IAAK,CAAC;EAC5D,MAAMsF,WAAW,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;EAClC,MAAMzF,gBAAgB,GAAGF,mBAAmB,CAAE0F,WAAY,CAAC;EAC3D,MAAME,oBAAoB,GAAG,IAAA1D,QAAE,EAAE,YAAa,CAAC;EAC/C,MAAM2D,GAAG,GAAG,IAAAF,eAAM,EAAC,CAAC;EACpB,MAAMG,SAAS,GAAG,IAAAH,eAAM,EAAC,CAAC;EAC1B,MAAMI,OAAO,GAAG,IAAAC,oBAAW,EAAExD,GAAI,CAAC;;EAElC;EACA;EACA,MAAM,CAAEyD,mBAAmB,EAAE3D,sBAAsB,CAAE,GAAG,IAAAlC,iBAAQ,EAAE,KAAM,CAAC;EAEzE,MAAM;IACL8F,cAAc;IACdC,cAAc;IACdC,uBAAuB;IACvBC;EACD,CAAC,GAAG,IAAA5E,eAAS,EACVC,MAAM,IAAM;IACb,MAAM;MACL4E,aAAa;MACbC,YAAY;MACZC,oBAAoB;MACpBC,qBAAqB;MACrBC;IACD,CAAC,GAAGhF,MAAM,CAAEyD,kBAAiB,CAAC;IAE9B,OAAO;MACNe,cAAc,EACbQ,0BAA0B,CAAE9B,QAAQ,EAAE,CACrC,sBAAsB,EACtB,yBAAyB,CACxB,CAAC,CAAC+B,MAAM,IAAI9B,eAAe;MAC9BsB,cAAc,EACbI,YAAY,CAAEC,oBAAoB,CAAE5B,QAAS,CAAE,CAAC,KAChD,iBAAiB;MAClBwB,uBAAuB,EAAEK,qBAAqB,CAC7C7B,QAAQ,EACR,IACD,CAAC;MACDyB,WAAW,EAAE,CAAC,CAAEC,aAAa,CAAE1B,QAAS;IACzC,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,EAAEC,eAAe,CAC5B,CAAC;EACD,MAAM;IAAE+B;EAAU,CAAC,GAAG,IAAAnF,eAAS,EAAE0D,kBAAiB,CAAC;;EAEnD;AACD;AACA;EACC,MAAM0B,kBAAkB,GAAGA,CAAA,KAAM;IAChC,IAAIC,WAAW,GAAGF,SAAS,CAAEhC,QAAS,CAAC;IACvC,IAAKkC,WAAW,CAACH,MAAM,KAAK,CAAC,EAAG;MAC/BG,WAAW,GAAG,CAAE,IAAAC,mBAAW,EAAE,sBAAuB,CAAC,CAAE;MACvD/B,WAAW,CAAE8B,WAAW,CAAE,CAAC,CAAE,CAAClC,QAAS,CAAC;IACzC;IACA,MAAMoC,UAAU,GAAG,IAAAD,mBAAW,EAC7B,yBAAyB,EACzB3E,UAAU,EACV0E,WACD,CAAC;IACDhC,YAAY,CAAEF,QAAQ,EAAEoC,UAAW,CAAC;EACrC,CAAC;EAED,IAAA3G,kBAAS,EAAE,MAAM;IAChB;IACA,IAAKgG,WAAW,EAAG;MAClB;MACA;MACAtB,uCAAuC,CAAC,CAAC;MACzC8B,kBAAkB,CAAC,CAAC;IACrB;EACD,CAAC,EAAE,CAAER,WAAW,CAAG,CAAC;;EAEpB;EACA,IAAAhG,kBAAS,EAAE,MAAM;IAChB;IACA,IACC,CAAE0F,OAAO,IACTvD,GAAG,IACH4C,UAAU,IACV,IAAA6B,UAAK,EAAE,IAAAC,gBAAW,EAAE3E,KAAM,CAAE,CAAC,IAC7B,aAAa,CAAC4E,IAAI,CAAE5E,KAAM,CAAC,EAC1B;MACD;MACA6E,eAAe,CAAC,CAAC;IAClB;EACD,CAAC,EAAE,CAAErB,OAAO,EAAEvD,GAAG,EAAE4C,UAAU,EAAE7C,KAAK,CAAG,CAAC;;EAExC;AACD;AACA;EACC,SAAS6E,eAAeA,CAAA,EAAG;IAC1BvB,GAAG,CAACtF,OAAO,CAAC8G,KAAK,CAAC,CAAC;IACnB,MAAM;MAAE/G;IAAc,CAAC,GAAGuF,GAAG,CAACtF,OAAO;IACrC,MAAM;MAAE+G;IAAY,CAAC,GAAGhH,aAAa;IACrC,MAAMiH,SAAS,GAAGD,WAAW,CAACE,YAAY,CAAC,CAAC;IAC5C,MAAMC,KAAK,GAAGnH,aAAa,CAACoH,WAAW,CAAC,CAAC;IACzC;IACAD,KAAK,CAACE,kBAAkB,CAAE9B,GAAG,CAACtF,OAAQ,CAAC;IACvCgH,SAAS,CAACK,eAAe,CAAC,CAAC;IAC3BL,SAAS,CAACM,QAAQ,CAAEJ,KAAM,CAAC;EAC5B;;EAEA;AACD;AACA;EACC,SAASK,UAAUA,CAAA,EAAG;IACrB;IACA;IACA;IACA;IACA;IACAzF,aAAa,CAAE;MACdG,GAAG,EAAEuF,SAAS;MACdxF,KAAK,EAAEwF,SAAS;MAChB5G,EAAE,EAAE4G,SAAS;MACb9G,IAAI,EAAE8G,SAAS;MACf7G,IAAI,EAAE6G,SAAS;MACfC,aAAa,EAAE;IAChB,CAAE,CAAC;;IAEH;IACA3C,aAAa,CAAE,KAAM,CAAC;EACvB;EAEA,MAAM;IACL4C,SAAS;IACTC,eAAe;IACfC,eAAe;IACfC;EACD,CAAC,GAAG,IAAAC,gBAAS,EAAE1D,OAAO,EAAE,CAAEwB,cAAe,CAAC;EAE1C,SAASmC,SAASA,CAAE7H,KAAK,EAAG;IAC3B,IAAK8H,yBAAe,CAACC,OAAO,CAAE/H,KAAK,EAAE,GAAI,CAAC,EAAG;MAC5C;MACA;MACA;MACAA,KAAK,CAACgI,cAAc,CAAC,CAAC;MACtB;MACAhI,KAAK,CAACiI,eAAe,CAAC,CAAC;MACvBrD,aAAa,CAAE,IAAK,CAAC;MACrBE,WAAW,CAAEM,GAAG,CAACtF,OAAQ,CAAC;IAC3B;EACD;EAEA,MAAMoI,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjC/C,GAAG,EAAE,IAAAgD,qBAAY,EAAE,CAAEpD,gBAAgB,EAAEC,WAAW,CAAG,CAAC;IACtDoD,SAAS,EAAE,IAAAC,aAAI,EAAE,0BAA0B,EAAE;MAC5C,YAAY,EAAExE,UAAU,IAAI6B,uBAAuB;MACnD,oBAAoB,EAAElG,gBAAgB;MACtC,UAAU,EAAE,CAAC,CAAEsC,GAAG;MAClB,WAAW,EAAE6D,WAAW;MACxB,gBAAgB,EAAE,CAAC,CAAE4B,SAAS,IAAI,CAAC,CAAEC,eAAe;MACpD,CAAE,IAAAc,8BAAiB,EAAE,OAAO,EAAEf,SAAU,CAAC,GAAI,CAAC,CAAEA,SAAS;MACzD,gBAAgB,EAAE,CAAC,CAAEE,eAAe,IAAIC,qBAAqB;MAC7D,CAAE,IAAAY,8BAAiB,EAAE,kBAAkB,EAAEb,eAAgB,CAAC,GACzD,CAAC,CAAEA;IACL,CAAE,CAAC;IACHc,KAAK,EAAE;MACNC,KAAK,EAAE,CAAEjB,SAAS,IAAIC,eAAe;MACrCC,eAAe,EAAE,CAAEA,eAAe,IAAIC;IACvC,CAAC;IACDE;EACD,CAAE,CAAC;EAEH,MAAMa,gBAAgB,GAAG,IAAAC,gCAAmB,EAC3C;IACC,GAAGT,UAAU;IACbG,SAAS,EAAE,gBAAgB,CAAE;EAC9B,CAAC,EACD;IACCO,YAAY,EAAEvJ,aAAa;IAC3BwJ,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE;EACjB,CACD,CAAC;EAED,IAAK,CAAE/G,GAAG,IAAIV,SAAS,IAAIC,OAAO,EAAG;IACpC4G,UAAU,CAACa,OAAO,GAAG,MAAM;MAC1BnE,aAAa,CAAE,IAAK,CAAC;MACrBE,WAAW,CAAEM,GAAG,CAACtF,OAAQ,CAAC;IAC3B,CAAC;EACF;EAEA,MAAMkJ,OAAO,GAAG,IAAAV,aAAI,EAAE,mCAAmC,EAAE;IAC1D,uCAAuC,EAAE,CAAEvG,GAAG,IAAIV,SAAS,IAAIC;EAChE,CAAE,CAAC;EAEH,MAAME,WAAW,GAAGD,cAAc,CAAEd,IAAK,CAAC;EAC1C;EACA,MAAMwI,eAAe,GAAG,IACvB5H,SAAS,GAAG,IAAAI,QAAE,EAAE,SAAU,CAAC,GAAG,IAAAA,QAAE,EAAE,OAAQ,CAAC,GACzC;EAEH,oBACC,IAAArC,WAAA,CAAA+C,IAAA,EAAA/C,WAAA,CAAA8J,QAAA;IAAA7G,QAAA,gBACC,IAAAjD,WAAA,CAAAkD,GAAA,EAAC7D,YAAA,CAAA0K,aAAa;MAAA9G,QAAA,eACb,IAAAjD,WAAA,CAAA+C,IAAA,EAAC7D,WAAA,CAAA8K,YAAY;QAAA/G,QAAA,gBACZ,IAAAjD,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAA+K,aAAa;UACb/J,IAAI,EAAC,MAAM;UACXgK,IAAI,EAAGC,WAAU;UACjBtH,KAAK,EAAG,IAAAR,QAAE,EAAE,MAAO,CAAG;UACtB+H,QAAQ,EAAGC,yBAAe,CAAC1B,OAAO,CAAE,GAAI,CAAG;UAC3CgB,OAAO,EAAK/I,KAAK,IAAM;YACtB4E,aAAa,CAAE,IAAK,CAAC;YACrBE,WAAW,CAAE9E,KAAK,CAAC0J,aAAc,CAAC;UACnC;QAAG,CACH,CAAC,EACA,CAAEjE,cAAc,iBACjB,IAAArG,WAAA,CAAAkD,GAAA,EAAChE,WAAA,CAAA+K,aAAa;UACb/J,IAAI,EAAC,SAAS;UACdgK,IAAI,EAAGK,iBAAY;UACnB1H,KAAK,EAAG,IAAAR,QAAE,EAAE,aAAc,CAAG;UAC7BsH,OAAO,EAAG3C;QAAoB,CAC9B,CACD;MAAA,CACY;IAAC,CACD,CAAC,eAEhB,IAAAhH,WAAA,CAAAkD,GAAA,EAAC7D,YAAA,CAAAmL,iBAAiB;MAAAvH,QAAA,eACjB,IAAAjD,WAAA,CAAAkD,GAAA,EAACZ,QAAQ;QACRC,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BC,sBAAsB,EAAGA;MAAwB,CACjD;IAAC,CACgB,CAAC,eACpB,IAAAzC,WAAA,CAAA+C,IAAA;MAAA,GAAU+F,UAAU;MAAA7F,QAAA,gBAEnB,IAAAjD,WAAA,CAAA+C,IAAA;QAAGkG,SAAS,EAAGW,OAAS;QAAA3G,QAAA,GAErB,CAAEN,GAAG,gBACN,IAAA3C,WAAA,CAAAkD,GAAA;UAAK+F,SAAS,EAAC,4CAA4C;UAAAhG,QAAA,eAC1D,IAAAjD,WAAA,CAAAkD,GAAA;YAAAD,QAAA,EAAQb;UAAW,CAAQ;QAAC,CACxB,CAAC,gBAEN,IAAApC,WAAA,CAAA+C,IAAA,EAAA/C,WAAA,CAAA8J,QAAA;UAAA7G,QAAA,GACG,CAAEhB,SAAS,IACZ,CAAEC,OAAO,IACT,CAAEkE,mBAAmB,iBACpB,IAAApG,WAAA,CAAA+C,IAAA,EAAA/C,WAAA,CAAA8J,QAAA;YAAA7G,QAAA,gBACC,IAAAjD,WAAA,CAAAkD,GAAA,EAAC7D,YAAA,CAAAoL,QAAQ;cACRzE,GAAG,EAAGA,GAAK;cACX0E,UAAU,EAAC,OAAO;cAClBzB,SAAS,EAAC,iCAAiC;cAC3CvF,KAAK,EAAGhB,KAAO;cACfkB,QAAQ,EAAKC,UAAU,IACtBrB,aAAa,CAAE;gBACdE,KAAK,EAAEmB;cACR,CAAE,CACF;cACD8G,OAAO,EAAG/F,WAAa;cACvBC,SAAS,EAAGA,SAAW;cACvB+F,sBAAsB,EAAGA,CAAA,KACxBjG,iBAAiB,CAChB,IAAAuC,mBAAW,EACV,sBACD,CACD,CACA;cACD,cAAa,IAAA7E,QAAE,EACd,sBACD,CAAG;cACHwI,WAAW,EAAG9E,oBAAsB;cACpC+E,4BAA4B;YAAA,CAC5B,CAAC,EACAlI,WAAW,iBACZ,IAAA5C,WAAA,CAAAkD,GAAA;cAAM+F,SAAS,EAAC,uCAAuC;cAAAhG,QAAA,EACpDL;YAAW,CACR,CACN;UAAA,CACA,CACF,EACA,CAAEX,SAAS,IACZC,OAAO,IACPkE,mBAAmB,kBACnB,IAAApG,WAAA,CAAAkD,GAAA;YACC+F,SAAS,EAAG,IAAAC,aAAI,EACf,4CAA4C,EAC5C,iCAAiC,EACjC;cACC,YAAY,EAAEjH,SAAS;cACvB,UAAU,EAAEC;YACb,CACD,CAAG;YAAAe,QAAA,eAEH,IAAAjD,WAAA,CAAAkD,GAAA;cAAAD,QAAA;cAEE;cACA;cACA;cACA;cACA;cACA,GAAI,IAAA8H,4BAAc,EAAErI,KAAM,CAAC,IAC1BT,SAAS,IAAIC,OAAO,GACjB2H,eAAe,GACf,EAAE,EACJ,CAACmB,IAAI,CAAC;YAAC,CAEL;UAAC,CACH,CACL;QAAA,CACA,CACF,EACCzF,UAAU,iBACX,IAAAvF,WAAA,CAAAkD,GAAA,EAACrD,OAAA,CAAAoL,MAAM;UACNjF,GAAG,EAAGC,SAAW;UACjBlB,QAAQ,EAAGA,QAAU;UACrBmG,IAAI,EAAG3I,UAAY;UACnB4I,OAAO,EAAGA,CAAA,KAAM;YACf;YACA;YACA,IAAK,CAAExI,GAAG,EAAG;cACZ;cACA;cACA;cACA;cACA;cACA,IACCsD,SAAS,CAACvF,OAAO,CAACK,QAAQ,CACzBqK,MAAM,CAACC,QAAQ,CAACC,aACjB,CAAC,EACA;gBACD;gBACAlG,mBAAmB,CAAEL,QAAQ,EAAE,IAAK,CAAC;cACtC;;cAEA;cACAF,SAAS,CAAE,EAAG,CAAC;cACf;YACD;YAEAW,aAAa,CAAE,KAAM,CAAC;YACtB,IAAKC,QAAQ,EAAG;cACfA,QAAQ,CAAC+B,KAAK,CAAC,CAAC;cAChB9B,WAAW,CAAE,IAAK,CAAC;YACpB,CAAC,MAAM,IAAKM,GAAG,CAACtF,OAAO,EAAG;cACzB;cACAsF,GAAG,CAACtF,OAAO,CAAC8G,KAAK,CAAC,CAAC;YACpB,CAAC,MAAM;cACN;cACApC,mBAAmB,CAAEL,QAAQ,EAAE,IAAK,CAAC;YACtC;UACD,CAAG;UACHwG,MAAM,EAAG5F,aAAe;UACxB6F,QAAQ,EAAGvD,UAAY;UACvBrE,QAAQ,EAAK6H,YAAY,IAAM;YAC9B,IAAAtH,kCAAgB,EACfsH,YAAY,EACZjJ,aAAa,EACbD,UACD,CAAC;UACF;QAAG,CACH,CACD;MAAA,CACC,CAAC,eACJ,IAAAvC,WAAA,CAAAkD,GAAA;QAAA,GAAUoG;MAAgB,CAAI,CAAC;IAAA,CAC3B,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_data","_components","_keycodes","_i18n","_blockEditor","_url","_element","_dom","_htmlEntities","_icons","_coreData","_compose","_linkUi","_updateAttributes","_utils","_jsxRuntime","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","useState","useEffect","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","useSelect","select","getEntityRecord","coreStore","status","isInvalid","isDraft","getMissingText","missingText","__","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","jsxs","__experimentalToolsPanel","children","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","stripHTML","onChange","labelValue","autoComplete","onFocus","onBlur","safeDecodeURI","urlValue","updateAttributes","TextareaControl","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","useDispatch","blockEditorStore","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","useRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","usePrevious","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","createBlock","newSubmenu","isURL","prependHTTP","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","getColors","onKeyDown","isKeyboardEvent","primary","preventDefault","stopPropagation","blockProps","useBlockProps","useMergeRefs","className","clsx","getColorClassName","style","color","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","linkIcon","shortcut","displayShortcut","currentTarget","addSubmenu","InspectorControls","RichText","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","decodeEntities","trim","LinkUI","link","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\ttype=\"url\"\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":[]}
@@ -370,7 +370,8 @@ function NavigationSubmenuEdit({
370
370
  });
371
371
  },
372
372
  label: (0, _i18n.__)('Link'),
373
- autoComplete: "off"
373
+ autoComplete: "off",
374
+ type: "url"
374
375
  })
375
376
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
376
377
  label: (0, _i18n.__)('Description'),