@wordpress/block-library 8.23.0 → 8.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/block/edit.js +8 -11
  3. package/build/block/edit.js.map +1 -1
  4. package/build/block/edit.native.js +3 -4
  5. package/build/block/edit.native.js.map +1 -1
  6. package/build/button/edit.js +4 -7
  7. package/build/button/edit.js.map +1 -1
  8. package/build/column/edit.js +1 -1
  9. package/build/column/edit.js.map +1 -1
  10. package/build/column/edit.native.js +1 -1
  11. package/build/column/edit.native.js.map +1 -1
  12. package/build/cover/edit/index.js +2 -1
  13. package/build/cover/edit/index.js.map +1 -1
  14. package/build/file/edit.js +8 -9
  15. package/build/file/edit.js.map +1 -1
  16. package/build/file/view.js +4 -6
  17. package/build/file/view.js.map +1 -1
  18. package/build/group/edit.js +3 -7
  19. package/build/group/edit.js.map +1 -1
  20. package/build/image/edit.js +17 -18
  21. package/build/image/edit.js.map +1 -1
  22. package/build/image/edit.native.js +22 -15
  23. package/build/image/edit.native.js.map +1 -1
  24. package/build/image/image.js +35 -27
  25. package/build/image/image.js.map +1 -1
  26. package/build/image/index.js +2 -3
  27. package/build/image/index.js.map +1 -1
  28. package/build/image/view.js +233 -268
  29. package/build/image/view.js.map +1 -1
  30. package/build/navigation/view.js +153 -176
  31. package/build/navigation/view.js.map +1 -1
  32. package/build/navigation-link/index.js +2 -1
  33. package/build/navigation-link/index.js.map +1 -1
  34. package/build/pattern/edit.js +1 -3
  35. package/build/pattern/edit.js.map +1 -1
  36. package/build/post-template/edit.js +1 -1
  37. package/build/post-template/edit.js.map +1 -1
  38. package/build/query/view.js +52 -60
  39. package/build/query/view.js.map +1 -1
  40. package/build/search/view.js +66 -74
  41. package/build/search/view.js.map +1 -1
  42. package/build/utils/remove-anchor-tag.js +17 -0
  43. package/build/utils/remove-anchor-tag.js.map +1 -0
  44. package/build-module/block/edit.js +8 -11
  45. package/build-module/block/edit.js.map +1 -1
  46. package/build-module/block/edit.native.js +3 -4
  47. package/build-module/block/edit.native.js.map +1 -1
  48. package/build-module/button/edit.js +4 -7
  49. package/build-module/button/edit.js.map +1 -1
  50. package/build-module/column/edit.js +1 -1
  51. package/build-module/column/edit.js.map +1 -1
  52. package/build-module/column/edit.native.js +1 -1
  53. package/build-module/column/edit.native.js.map +1 -1
  54. package/build-module/cover/edit/index.js +2 -1
  55. package/build-module/cover/edit/index.js.map +1 -1
  56. package/build-module/file/edit.js +8 -9
  57. package/build-module/file/edit.js.map +1 -1
  58. package/build-module/file/view.js +5 -7
  59. package/build-module/file/view.js.map +1 -1
  60. package/build-module/group/edit.js +3 -7
  61. package/build-module/group/edit.js.map +1 -1
  62. package/build-module/image/edit.js +18 -19
  63. package/build-module/image/edit.js.map +1 -1
  64. package/build-module/image/edit.native.js +23 -16
  65. package/build-module/image/edit.native.js.map +1 -1
  66. package/build-module/image/image.js +36 -28
  67. package/build-module/image/image.js.map +1 -1
  68. package/build-module/image/index.js +2 -3
  69. package/build-module/image/index.js.map +1 -1
  70. package/build-module/image/view.js +234 -269
  71. package/build-module/image/view.js.map +1 -1
  72. package/build-module/navigation/view.js +154 -177
  73. package/build-module/navigation/view.js.map +1 -1
  74. package/build-module/navigation-link/index.js +2 -1
  75. package/build-module/navigation-link/index.js.map +1 -1
  76. package/build-module/pattern/edit.js +1 -3
  77. package/build-module/pattern/edit.js.map +1 -1
  78. package/build-module/post-template/edit.js +1 -1
  79. package/build-module/post-template/edit.js.map +1 -1
  80. package/build-module/query/view.js +53 -61
  81. package/build-module/query/view.js.map +1 -1
  82. package/build-module/search/view.js +67 -75
  83. package/build-module/search/view.js.map +1 -1
  84. package/build-module/utils/remove-anchor-tag.js +11 -0
  85. package/build-module/utils/remove-anchor-tag.js.map +1 -0
  86. package/build-style/cover/style-rtl.css +14 -14
  87. package/build-style/cover/style.css +14 -14
  88. package/build-style/editor-rtl.css +6 -9
  89. package/build-style/editor.css +6 -9
  90. package/build-style/gallery/style-rtl.css +28 -0
  91. package/build-style/gallery/style.css +28 -0
  92. package/build-style/image/editor-rtl.css +0 -3
  93. package/build-style/image/editor.css +0 -3
  94. package/build-style/style-rtl.css +42 -14
  95. package/build-style/style.css +42 -14
  96. package/package.json +32 -32
  97. package/src/block/edit.js +18 -19
  98. package/src/block/edit.native.js +5 -13
  99. package/src/button/edit.js +6 -6
  100. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -6
  101. package/src/buttons/test/edit.native.js +0 -27
  102. package/src/column/edit.js +1 -1
  103. package/src/column/edit.native.js +1 -1
  104. package/src/cover/edit/index.js +1 -0
  105. package/src/cover/style.scss +1 -1
  106. package/src/cover/test/edit.js +1 -1
  107. package/src/editor.scss +6 -6
  108. package/src/file/edit.js +11 -10
  109. package/src/file/index.php +30 -11
  110. package/src/file/view.js +5 -7
  111. package/src/gallery/style.scss +1 -0
  112. package/src/group/edit.js +3 -11
  113. package/src/heading/test/__snapshots__/index.native.js.snap +6 -0
  114. package/src/heading/test/index.native.js +40 -0
  115. package/src/image/block.json +2 -3
  116. package/src/image/edit.js +16 -21
  117. package/src/image/edit.native.js +17 -18
  118. package/src/image/editor.scss +0 -7
  119. package/src/image/image.js +48 -51
  120. package/src/image/index.php +54 -45
  121. package/src/image/view.js +278 -334
  122. package/src/navigation/index.php +19 -10
  123. package/src/navigation/view.js +159 -192
  124. package/src/navigation-link/block.json +2 -1
  125. package/src/paragraph/test/edit.native.js +37 -1
  126. package/src/pattern/edit.js +5 -3
  127. package/src/post-template/edit.js +1 -1
  128. package/src/query/index.php +36 -22
  129. package/src/query/view.js +58 -65
  130. package/src/query-pagination-next/index.php +3 -3
  131. package/src/query-pagination-numbers/index.php +1 -1
  132. package/src/query-pagination-previous/index.php +3 -3
  133. package/src/search/index.php +40 -40
  134. package/src/search/view.js +58 -63
  135. package/src/utils/remove-anchor-tag.js +10 -0
  136. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_x","customLink","linkIcon","InnerBlocks","addFilter","initBlock","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","rel","id","opensInNewTab","url","kind","isTopLevelLink","usesContext","supports","reusable","html","__experimentalSlashInserter","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","editorStyle","style","edit","save","enhanceNavigationLinkVariations","transforms","settings","icon","__experimentalLabel","merge","leftAttributes","rightLabel","example","deprecated","isEligible","nofollow","default","migrate","rest","createElement","Content","init"],"sources":["@wordpress/block-library/src/navigation-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tmerge( leftAttributes, { label: rightLabel = '' } ) {\n\t\treturn {\n\t\t\t...leftAttributes,\n\t\t\tlabel: leftAttributes.label + rightLabel,\n\t\t};\n\t},\n\n\tedit,\n\n\tsave,\n\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'Example Link', 'navigation link preview example' ),\n\t\t\turl: 'https://example.com',\n\t\t},\n\t},\n\n\tdeprecated: [\n\t\t{\n\t\t\tisEligible( attributes ) {\n\t\t\t\treturn attributes.nofollow;\n\t\t\t},\n\n\t\t\tattributes: {\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tnofollow: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tdescription: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\topensInNewTab: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tmigrate( { nofollow, ...rest } ) {\n\t\t\t\treturn {\n\t\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t\t...rest,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsave() {\n\t\t\t\treturn <InnerBlocks.Content />;\n\t\t\t},\n\t\t},\n\t],\n\ttransforms,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/navigation-link',\n\t\tenhanceNavigationLinkVariations\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_x","customLink","linkIcon","InnerBlocks","addFilter","initBlock","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","rel","id","opensInNewTab","url","kind","isTopLevelLink","usesContext","supports","reusable","html","__experimentalSlashInserter","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","renaming","editorStyle","style","edit","save","enhanceNavigationLinkVariations","transforms","settings","icon","__experimentalLabel","merge","leftAttributes","rightLabel","example","deprecated","isEligible","nofollow","default","migrate","rest","createElement","Content","init"],"sources":["@wordpress/block-library/src/navigation-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tmerge( leftAttributes, { label: rightLabel = '' } ) {\n\t\treturn {\n\t\t\t...leftAttributes,\n\t\t\tlabel: leftAttributes.label + rightLabel,\n\t\t};\n\t},\n\n\tedit,\n\n\tsave,\n\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'Example Link', 'navigation link preview example' ),\n\t\t\turl: 'https://example.com',\n\t\t},\n\t},\n\n\tdeprecated: [\n\t\t{\n\t\t\tisEligible( attributes ) {\n\t\t\t\treturn attributes.nofollow;\n\t\t\t},\n\n\t\t\tattributes: {\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tnofollow: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tdescription: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\topensInNewTab: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tmigrate( { nofollow, ...rest } ) {\n\t\t\t\treturn {\n\t\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t\t...rest,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsave() {\n\t\t\t\treturn <InnerBlocks.Content />;\n\t\t\t},\n\t\t},\n\t],\n\ttransforms,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/navigation-link',\n\t\tenhanceNavigationLinkVariations\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"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"}
@@ -15,11 +15,9 @@ const PatternEdit = ({
15
15
  const currentThemeStylesheet = useSelect(select => select(coreStore).getCurrentTheme()?.stylesheet, []);
16
16
  const {
17
17
  replaceBlocks,
18
+ setBlockEditingMode,
18
19
  __unstableMarkNextChangeAsNotPersistent
19
20
  } = useDispatch(blockEditorStore);
20
- const {
21
- setBlockEditingMode
22
- } = useDispatch(blockEditorStore);
23
21
  const {
24
22
  getBlockRootClientId,
25
23
  getBlockEditingMode
@@ -1 +1 @@
1
- {"version":3,"names":["cloneBlock","useSelect","useDispatch","useEffect","store","blockEditorStore","useBlockProps","coreStore","PatternEdit","attributes","clientId","selectedPattern","select","__experimentalGetParsedPattern","slug","currentThemeStylesheet","getCurrentTheme","stylesheet","replaceBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","getBlockRootClientId","getBlockEditingMode","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","theme","undefined","blocks","window","queueMicrotask","rootClientId","clonedBlocks","rootEditingMode","props","createElement"],"sources":["@wordpress/block-library/src/pattern/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\n\tconst { replaceBlocks, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { setBlockEditingMode } = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockEditingMode } =\n\t\tuseSelect( blockEditorStore );\n\n\t// Duplicated in packages/edit-site/src/components/start-template-options/index.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( selectedPattern?.blocks ) {\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock(\n\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\tselectedPattern?.blocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["cloneBlock","useSelect","useDispatch","useEffect","store","blockEditorStore","useBlockProps","coreStore","PatternEdit","attributes","clientId","selectedPattern","select","__experimentalGetParsedPattern","slug","currentThemeStylesheet","getCurrentTheme","stylesheet","replaceBlocks","setBlockEditingMode","__unstableMarkNextChangeAsNotPersistent","getBlockRootClientId","getBlockEditingMode","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","theme","undefined","blocks","window","queueMicrotask","rootClientId","clonedBlocks","rootEditingMode","props","createElement"],"sources":["@wordpress/block-library/src/pattern/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tsetBlockEditingMode,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockEditingMode } =\n\t\tuseSelect( blockEditorStore );\n\n\t// Duplicated in packages/edit-site/src/components/start-template-options/index.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( selectedPattern?.blocks ) {\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock(\n\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\tselectedPattern?.blocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"],"mappings":"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"}
@@ -117,7 +117,7 @@ export default function PostTemplateEdit({
117
117
  slug: templateSlug.replace('category-', '')
118
118
  });
119
119
  const query = {
120
- offset: perPage ? perPage + offset : 0,
120
+ offset: offset || 0,
121
121
  order,
122
122
  orderby: orderBy
123
123
  };
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","memo","useMemo","useState","useSelect","__","BlockControls","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","ToolbarGroup","coreStore","list","grid","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","className","template","__unstableDisableLayoutClassNames","createElement","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","PostTemplateEdit","setAttributes","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","pages","restQueryArgs","templateSlug","previewPostType","attributes","layout","__unstableLayoutClassNames","type","layoutType","columnCount","activeBlockContextId","posts","select","getEntityRecords","getTaxonomies","getBlocks","taxonomies","per_page","templateCategory","startsWith","_fields","slug","replace","orderby","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","map","post","postId","blockProps","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","title","isActive","Fragment","controls","blockContext","key","value"],"sources":["@wordpress/block-library/src/post-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks() {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-post' },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: 'wp-block-post',\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst { type: layoutType, columnCount = 3 } = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: perPage ? perPage + offset : 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || postType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AAC5D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,aAAa,EACbC,oBAAoB,EACpBC,6BAA6B,IAAIC,eAAe,EAChDC,aAAa,EACbC,mBAAmB,EACnBC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,OAAO,EAAEC,YAAY,QAAQ,uBAAuB;AAC7D,SAASH,KAAK,IAAII,SAAS,QAAQ,sBAAsB;AACzD,SAASC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAE7C,MAAMC,QAAQ,GAAG,CAChB,CAAE,iBAAiB,CAAE,EACrB,CAAE,gBAAgB,CAAE,EACpB,CAAE,mBAAmB,CAAE,CACvB;AAED,SAASC,uBAAuBA,CAAA,EAAG;EAClC,MAAMC,gBAAgB,GAAGV,mBAAmB,CAC3C;IAAEW,SAAS,EAAE;EAAgB,CAAC,EAC9B;IAAEC,QAAQ,EAAEJ,QAAQ;IAAEK,iCAAiC,EAAE;EAAK,CAC/D,CAAC;EACD,OAAOC,aAAA;IAAA,GAASJ;EAAgB,CAAI,CAAC;AACtC;AAEA,SAASK,wBAAwBA,CAAE;EAClCC,MAAM;EACNC,cAAc;EACdC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAGtB,eAAe,CAAE;IAC1CkB,MAAM;IACNK,KAAK,EAAE;MACNV,SAAS,EAAE;IACZ;EACD,CAAE,CAAC;EAEH,MAAMW,aAAa,GAAGA,CAAA,KAAM;IAC3BH,uBAAuB,CAAEF,cAAe,CAAC;EAC1C,CAAC;EAED,MAAMM,KAAK,GAAG;IACbC,OAAO,EAAEN,QAAQ,GAAG,MAAM,GAAGO;EAC9B,CAAC;EAED,OACCX,aAAA;IAAA,GACMM,iBAAiB;IACtBM,QAAQ,EAAG;IACX;IAAA;IACAC,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAGN,aAAe;IACzBO,UAAU,EAAGP,aAAe;IAC5BC,KAAK,EAAGA;EAAO,CACf,CAAC;AAEJ;AAEA,MAAMO,gCAAgC,GAAGxC,IAAI,CAAEyB,wBAAyB,CAAC;AAEzE,eAAe,SAASgB,gBAAgBA,CAAE;EACzCC,aAAa;EACbC,QAAQ;EACRC,OAAO,EAAE;IACRC,KAAK,EAAE;MACNC,OAAO;MACPC,MAAM,GAAG,CAAC;MACVC,QAAQ;MACRC,KAAK;MACLC,OAAO;MACPC,MAAM;MACNC,MAAM;MACNC,OAAO;MACPC,MAAM;MACNC,OAAO;MACPC,QAAQ;MACRC,OAAO;MACPC,KAAK;MACL;MACA;MACA;MACA;MACA;MACA,GAAGC;IACJ,CAAC,GAAG,CAAC,CAAC;IACNC,YAAY;IACZC;EACD,CAAC;EACDC,UAAU,EAAE;IAAEC;EAAO,CAAC;EACtBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,IAAI,EAAEC,UAAU;IAAEC,WAAW,GAAG;EAAE,CAAC,GAAGJ,MAAM,IAAI,CAAC,CAAC;EAC1D,MAAM,CAAEK,oBAAoB,EAAEvC,uBAAuB,CAAE,GAAG3B,QAAQ,CAAC,CAAC;EACpE,MAAM;IAAEmE,KAAK;IAAE3C;EAAO,CAAC,GAAGvB,SAAS,CAChCmE,MAAM,IAAM;IACb,MAAM;MAAEC,gBAAgB;MAAEC;IAAc,CAAC,GAAGF,MAAM,CAAEvD,SAAU,CAAC;IAC/D,MAAM;MAAE0D;IAAU,CAAC,GAAGH,MAAM,CAAE1D,gBAAiB,CAAC;IAChD,MAAM8D,UAAU,GAAGF,aAAa,CAAE;MACjCP,IAAI,EAAEjB,QAAQ;MACd2B,QAAQ,EAAE,CAAC,CAAC;MACZ/B,OAAO,EAAE;IACV,CAAE,CAAC;IACH,MAAMgC,gBAAgB,GACrBrB,OAAO,IACPK,YAAY,EAAEiB,UAAU,CAAE,WAAY,CAAC,IACvCN,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE;MACzC3B,OAAO,EAAE,MAAM;MACf+B,QAAQ,EAAE,CAAC;MACXG,OAAO,EAAE,CAAE,IAAI,CAAE;MACjBC,IAAI,EAAEnB,YAAY,CAACoB,OAAO,CAAE,WAAW,EAAE,EAAG;IAC7C,CAAE,CAAC;IACJ,MAAMnC,KAAK,GAAG;MACbE,MAAM,EAAED,OAAO,GAAGA,OAAO,GAAGC,MAAM,GAAG,CAAC;MACtCE,KAAK;MACLgC,OAAO,EAAE/B;IACV,CAAC;IACD;IACA,IAAKM,QAAQ,IAAI,CAAED,OAAO,EAAG;MAC5B;MACA;MACA,MAAM2B,aAAa,GAAGC,MAAM,CAACC,OAAO,CAAE5B,QAAS,CAAC,CAAC6B,MAAM,CACtD,CAAEC,WAAW,EAAE,CAAEC,YAAY,EAAEC,KAAK,CAAE,KAAM;QAC3C,MAAMC,QAAQ,GAAGf,UAAU,EAAEgB,IAAI,CAChC,CAAE;UAAEX;QAAK,CAAC,KAAMA,IAAI,KAAKQ,YAC1B,CAAC;QACD,IAAKE,QAAQ,EAAEE,SAAS,EAAG;UAC1BL,WAAW,CAAEG,QAAQ,EAAEE,SAAS,CAAE,GAAGH,KAAK;QAC3C;QACA,OAAOF,WAAW;MACnB,CAAC,EACD,CAAC,CACF,CAAC;MACD,IAAK,CAAC,CAAEH,MAAM,CAACS,IAAI,CAAEV,aAAc,CAAC,CAACW,MAAM,EAAG;QAC7CV,MAAM,CAACW,MAAM,CAAEjD,KAAK,EAAEqC,aAAc,CAAC;MACtC;IACD;IACA,IAAKpC,OAAO,EAAG;MACdD,KAAK,CAAC8B,QAAQ,GAAG7B,OAAO;IACzB;IACA,IAAKK,MAAM,EAAG;MACbN,KAAK,CAACM,MAAM,GAAGA,MAAM;IACtB;IACA,IAAKC,MAAM,EAAG;MACbP,KAAK,CAACO,MAAM,GAAGA,MAAM;IACtB;IACA,IAAKC,OAAO,EAAEwC,MAAM,EAAG;MACtBhD,KAAK,CAACQ,OAAO,GAAGA,OAAO;IACxB;IACA,IAAKI,OAAO,EAAEoC,MAAM,EAAG;MACtBhD,KAAK,CAACkD,MAAM,GAAGtC,OAAO;IACvB;IACA;IACA;IACA;IACA,IAAKH,MAAM,EAAG;MACbT,KAAK,CAACS,MAAM,GAAGA,MAAM,KAAK,MAAM;IACjC;IACA;IACA,IAAKC,OAAO,EAAG;MACd;MACA,IAAKK,YAAY,EAAEiB,UAAU,CAAE,UAAW,CAAC,EAAG;QAC7ChC,KAAK,CAACG,QAAQ,GAAGY,YAAY,CAACoB,OAAO,CAAE,UAAU,EAAE,EAAG,CAAC;QACvDhC,QAAQ,GAAGH,KAAK,CAACG,QAAQ;MAC1B,CAAC,MAAM,IAAK4B,gBAAgB,EAAG;QAC9B/B,KAAK,CAACmD,UAAU,GAAGpB,gBAAgB,CAAE,CAAC,CAAE,EAAEqB,EAAE;MAC7C;IACD;IACA;IACA;IACA,MAAMC,YAAY,GAAGrC,eAAe,IAAIb,QAAQ;IAChD,OAAO;MACNqB,KAAK,EAAEE,gBAAgB,CAAE,UAAU,EAAE2B,YAAY,EAAE;QAClD,GAAGrD,KAAK;QACR,GAAGc;MACJ,CAAE,CAAC;MACHjC,MAAM,EAAE+C,SAAS,CAAE9B,QAAS;IAC7B,CAAC;EACF,CAAC,EACD,CACCG,OAAO,EACPC,MAAM,EACNE,KAAK,EACLC,OAAO,EACPP,QAAQ,EACRQ,MAAM,EACNC,MAAM,EACNJ,QAAQ,EACRK,OAAO,EACPC,MAAM,EACNC,OAAO,EACPK,YAAY,EACZJ,QAAQ,EACRC,OAAO,EACPE,aAAa,EACbE,eAAe,CAEjB,CAAC;EACD,MAAMsC,aAAa,GAAGlG,OAAO,CAC5B,MACCoE,KAAK,EAAE+B,GAAG,CAAIC,IAAI,KAAQ;IACzBrD,QAAQ,EAAEqD,IAAI,CAACpC,IAAI;IACnBqC,MAAM,EAAED,IAAI,CAACJ;EACd,CAAC,CAAG,CAAC,EACN,CAAE5B,KAAK,CACR,CAAC;EAED,MAAMkC,UAAU,GAAG9F,aAAa,CAAE;IACjCY,SAAS,EAAEtB,UAAU,CAAEiE,0BAA0B,EAAE;MAClD,CAAG,WAAWG,WAAa,EAAC,GAC3BD,UAAU,KAAK,MAAM,IAAIC,WAAW,CAAE;IACxC,CAAE;EACH,CAAE,CAAC;;EAEH,IAAK,CAAEE,KAAK,EAAG;IACd,OACC7C,aAAA;MAAA,GAAQ+E;IAAU,GACjB/E,aAAA,CAACX,OAAO,MAAE,CACR,CAAC;EAEN;EAEA,IAAK,CAAEwD,KAAK,CAACwB,MAAM,EAAG;IACrB,OAAOrE,aAAA;MAAA,GAAQ+E;IAAU,GAAG,GAAC,EAAEnG,EAAE,CAAE,mBAAoB,CAAM,CAAC;EAC/D;EAEA,MAAMoG,gBAAgB,GAAKC,gBAAgB,IAC1C/D,aAAa,CAAE;IACdqB,MAAM,EAAE;MAAE,GAAGA,MAAM;MAAE,GAAG0C;IAAiB;EAC1C,CAAE,CAAC;EAEJ,MAAMC,qBAAqB,GAAG,CAC7B;IACCC,IAAI,EAAE3F,IAAI;IACV4F,KAAK,EAAExG,EAAE,CAAE,WAAY,CAAC;IACxBkC,OAAO,EAAEA,CAAA,KAAMkE,gBAAgB,CAAE;MAAEvC,IAAI,EAAE;IAAU,CAAE,CAAC;IACtD4C,QAAQ,EAAE3C,UAAU,KAAK,SAAS,IAAIA,UAAU,KAAK;EACtD,CAAC,EACD;IACCyC,IAAI,EAAE1F,IAAI;IACV2F,KAAK,EAAExG,EAAE,CAAE,WAAY,CAAC;IACxBkC,OAAO,EAAEA,CAAA,KACRkE,gBAAgB,CAAE;MACjBvC,IAAI,EAAE,MAAM;MACZE;IACD,CAAE,CAAC;IACJ0C,QAAQ,EAAE3C,UAAU,KAAK;EAC1B,CAAC,CACD;;EAED;EACA;EACA;EACA;EACA,OACC1C,aAAA,CAAAsF,QAAA,QACCtF,aAAA,CAACnB,aAAa,QACbmB,aAAA,CAACV,YAAY;IAACiG,QAAQ,EAAGL;EAAuB,CAAE,CACpC,CAAC,EAEhBlF,aAAA;IAAA,GAAS+E;EAAU,GAChBJ,aAAa,IACdA,aAAa,CAACC,GAAG,CAAIY,YAAY,IAChCxF,aAAA,CAAClB,oBAAoB;IACpB2G,GAAG,EAAGD,YAAY,CAACV,MAAQ;IAC3BY,KAAK,EAAGF;EAAc,GAEpBA,YAAY,CAACV,MAAM,MACnBlC,oBAAoB,IACrB+B,aAAa,CAAE,CAAC,CAAE,EAAEG,MAAM,CAAE,GAC5B9E,aAAA,CAACL,uBAAuB,MAAE,CAAC,GACxB,IAAI,EACRK,aAAA,CAACgB,gCAAgC;IAChCd,MAAM,EAAGA,MAAQ;IACjBC,cAAc,EAAGqF,YAAY,CAACV,MAAQ;IACtCzE,uBAAuB,EACtBA,uBACA;IACDD,QAAQ,EACPoF,YAAY,CAACV,MAAM,MACjBlC,oBAAoB,IACrB+B,aAAa,CAAE,CAAC,CAAE,EAAEG,MAAM;EAC3B,CACD,CACoB,CACrB,CACA,CACH,CAAC;AAEL"}
1
+ {"version":3,"names":["classnames","memo","useMemo","useState","useSelect","__","BlockControls","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","ToolbarGroup","coreStore","list","grid","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","className","template","__unstableDisableLayoutClassNames","createElement","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","PostTemplateEdit","setAttributes","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","pages","restQueryArgs","templateSlug","previewPostType","attributes","layout","__unstableLayoutClassNames","type","layoutType","columnCount","activeBlockContextId","posts","select","getEntityRecords","getTaxonomies","getBlocks","taxonomies","per_page","templateCategory","startsWith","_fields","slug","replace","orderby","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","map","post","postId","blockProps","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","title","isActive","Fragment","controls","blockContext","key","value"],"sources":["@wordpress/block-library/src/post-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks() {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-post' },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: 'wp-block-post',\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst { type: layoutType, columnCount = 3 } = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: offset || 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || postType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AAC5D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,aAAa,EACbC,oBAAoB,EACpBC,6BAA6B,IAAIC,eAAe,EAChDC,aAAa,EACbC,mBAAmB,EACnBC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,OAAO,EAAEC,YAAY,QAAQ,uBAAuB;AAC7D,SAASH,KAAK,IAAII,SAAS,QAAQ,sBAAsB;AACzD,SAASC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAE7C,MAAMC,QAAQ,GAAG,CAChB,CAAE,iBAAiB,CAAE,EACrB,CAAE,gBAAgB,CAAE,EACpB,CAAE,mBAAmB,CAAE,CACvB;AAED,SAASC,uBAAuBA,CAAA,EAAG;EAClC,MAAMC,gBAAgB,GAAGV,mBAAmB,CAC3C;IAAEW,SAAS,EAAE;EAAgB,CAAC,EAC9B;IAAEC,QAAQ,EAAEJ,QAAQ;IAAEK,iCAAiC,EAAE;EAAK,CAC/D,CAAC;EACD,OAAOC,aAAA;IAAA,GAASJ;EAAgB,CAAI,CAAC;AACtC;AAEA,SAASK,wBAAwBA,CAAE;EAClCC,MAAM;EACNC,cAAc;EACdC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAGtB,eAAe,CAAE;IAC1CkB,MAAM;IACNK,KAAK,EAAE;MACNV,SAAS,EAAE;IACZ;EACD,CAAE,CAAC;EAEH,MAAMW,aAAa,GAAGA,CAAA,KAAM;IAC3BH,uBAAuB,CAAEF,cAAe,CAAC;EAC1C,CAAC;EAED,MAAMM,KAAK,GAAG;IACbC,OAAO,EAAEN,QAAQ,GAAG,MAAM,GAAGO;EAC9B,CAAC;EAED,OACCX,aAAA;IAAA,GACMM,iBAAiB;IACtBM,QAAQ,EAAG;IACX;IAAA;IACAC,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAGN,aAAe;IACzBO,UAAU,EAAGP,aAAe;IAC5BC,KAAK,EAAGA;EAAO,CACf,CAAC;AAEJ;AAEA,MAAMO,gCAAgC,GAAGxC,IAAI,CAAEyB,wBAAyB,CAAC;AAEzE,eAAe,SAASgB,gBAAgBA,CAAE;EACzCC,aAAa;EACbC,QAAQ;EACRC,OAAO,EAAE;IACRC,KAAK,EAAE;MACNC,OAAO;MACPC,MAAM,GAAG,CAAC;MACVC,QAAQ;MACRC,KAAK;MACLC,OAAO;MACPC,MAAM;MACNC,MAAM;MACNC,OAAO;MACPC,MAAM;MACNC,OAAO;MACPC,QAAQ;MACRC,OAAO;MACPC,KAAK;MACL;MACA;MACA;MACA;MACA;MACA,GAAGC;IACJ,CAAC,GAAG,CAAC,CAAC;IACNC,YAAY;IACZC;EACD,CAAC;EACDC,UAAU,EAAE;IAAEC;EAAO,CAAC;EACtBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,IAAI,EAAEC,UAAU;IAAEC,WAAW,GAAG;EAAE,CAAC,GAAGJ,MAAM,IAAI,CAAC,CAAC;EAC1D,MAAM,CAAEK,oBAAoB,EAAEvC,uBAAuB,CAAE,GAAG3B,QAAQ,CAAC,CAAC;EACpE,MAAM;IAAEmE,KAAK;IAAE3C;EAAO,CAAC,GAAGvB,SAAS,CAChCmE,MAAM,IAAM;IACb,MAAM;MAAEC,gBAAgB;MAAEC;IAAc,CAAC,GAAGF,MAAM,CAAEvD,SAAU,CAAC;IAC/D,MAAM;MAAE0D;IAAU,CAAC,GAAGH,MAAM,CAAE1D,gBAAiB,CAAC;IAChD,MAAM8D,UAAU,GAAGF,aAAa,CAAE;MACjCP,IAAI,EAAEjB,QAAQ;MACd2B,QAAQ,EAAE,CAAC,CAAC;MACZ/B,OAAO,EAAE;IACV,CAAE,CAAC;IACH,MAAMgC,gBAAgB,GACrBrB,OAAO,IACPK,YAAY,EAAEiB,UAAU,CAAE,WAAY,CAAC,IACvCN,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE;MACzC3B,OAAO,EAAE,MAAM;MACf+B,QAAQ,EAAE,CAAC;MACXG,OAAO,EAAE,CAAE,IAAI,CAAE;MACjBC,IAAI,EAAEnB,YAAY,CAACoB,OAAO,CAAE,WAAW,EAAE,EAAG;IAC7C,CAAE,CAAC;IACJ,MAAMnC,KAAK,GAAG;MACbE,MAAM,EAAEA,MAAM,IAAI,CAAC;MACnBE,KAAK;MACLgC,OAAO,EAAE/B;IACV,CAAC;IACD;IACA,IAAKM,QAAQ,IAAI,CAAED,OAAO,EAAG;MAC5B;MACA;MACA,MAAM2B,aAAa,GAAGC,MAAM,CAACC,OAAO,CAAE5B,QAAS,CAAC,CAAC6B,MAAM,CACtD,CAAEC,WAAW,EAAE,CAAEC,YAAY,EAAEC,KAAK,CAAE,KAAM;QAC3C,MAAMC,QAAQ,GAAGf,UAAU,EAAEgB,IAAI,CAChC,CAAE;UAAEX;QAAK,CAAC,KAAMA,IAAI,KAAKQ,YAC1B,CAAC;QACD,IAAKE,QAAQ,EAAEE,SAAS,EAAG;UAC1BL,WAAW,CAAEG,QAAQ,EAAEE,SAAS,CAAE,GAAGH,KAAK;QAC3C;QACA,OAAOF,WAAW;MACnB,CAAC,EACD,CAAC,CACF,CAAC;MACD,IAAK,CAAC,CAAEH,MAAM,CAACS,IAAI,CAAEV,aAAc,CAAC,CAACW,MAAM,EAAG;QAC7CV,MAAM,CAACW,MAAM,CAAEjD,KAAK,EAAEqC,aAAc,CAAC;MACtC;IACD;IACA,IAAKpC,OAAO,EAAG;MACdD,KAAK,CAAC8B,QAAQ,GAAG7B,OAAO;IACzB;IACA,IAAKK,MAAM,EAAG;MACbN,KAAK,CAACM,MAAM,GAAGA,MAAM;IACtB;IACA,IAAKC,MAAM,EAAG;MACbP,KAAK,CAACO,MAAM,GAAGA,MAAM;IACtB;IACA,IAAKC,OAAO,EAAEwC,MAAM,EAAG;MACtBhD,KAAK,CAACQ,OAAO,GAAGA,OAAO;IACxB;IACA,IAAKI,OAAO,EAAEoC,MAAM,EAAG;MACtBhD,KAAK,CAACkD,MAAM,GAAGtC,OAAO;IACvB;IACA;IACA;IACA;IACA,IAAKH,MAAM,EAAG;MACbT,KAAK,CAACS,MAAM,GAAGA,MAAM,KAAK,MAAM;IACjC;IACA;IACA,IAAKC,OAAO,EAAG;MACd;MACA,IAAKK,YAAY,EAAEiB,UAAU,CAAE,UAAW,CAAC,EAAG;QAC7ChC,KAAK,CAACG,QAAQ,GAAGY,YAAY,CAACoB,OAAO,CAAE,UAAU,EAAE,EAAG,CAAC;QACvDhC,QAAQ,GAAGH,KAAK,CAACG,QAAQ;MAC1B,CAAC,MAAM,IAAK4B,gBAAgB,EAAG;QAC9B/B,KAAK,CAACmD,UAAU,GAAGpB,gBAAgB,CAAE,CAAC,CAAE,EAAEqB,EAAE;MAC7C;IACD;IACA;IACA;IACA,MAAMC,YAAY,GAAGrC,eAAe,IAAIb,QAAQ;IAChD,OAAO;MACNqB,KAAK,EAAEE,gBAAgB,CAAE,UAAU,EAAE2B,YAAY,EAAE;QAClD,GAAGrD,KAAK;QACR,GAAGc;MACJ,CAAE,CAAC;MACHjC,MAAM,EAAE+C,SAAS,CAAE9B,QAAS;IAC7B,CAAC;EACF,CAAC,EACD,CACCG,OAAO,EACPC,MAAM,EACNE,KAAK,EACLC,OAAO,EACPP,QAAQ,EACRQ,MAAM,EACNC,MAAM,EACNJ,QAAQ,EACRK,OAAO,EACPC,MAAM,EACNC,OAAO,EACPK,YAAY,EACZJ,QAAQ,EACRC,OAAO,EACPE,aAAa,EACbE,eAAe,CAEjB,CAAC;EACD,MAAMsC,aAAa,GAAGlG,OAAO,CAC5B,MACCoE,KAAK,EAAE+B,GAAG,CAAIC,IAAI,KAAQ;IACzBrD,QAAQ,EAAEqD,IAAI,CAACpC,IAAI;IACnBqC,MAAM,EAAED,IAAI,CAACJ;EACd,CAAC,CAAG,CAAC,EACN,CAAE5B,KAAK,CACR,CAAC;EAED,MAAMkC,UAAU,GAAG9F,aAAa,CAAE;IACjCY,SAAS,EAAEtB,UAAU,CAAEiE,0BAA0B,EAAE;MAClD,CAAG,WAAWG,WAAa,EAAC,GAC3BD,UAAU,KAAK,MAAM,IAAIC,WAAW,CAAE;IACxC,CAAE;EACH,CAAE,CAAC;;EAEH,IAAK,CAAEE,KAAK,EAAG;IACd,OACC7C,aAAA;MAAA,GAAQ+E;IAAU,GACjB/E,aAAA,CAACX,OAAO,MAAE,CACR,CAAC;EAEN;EAEA,IAAK,CAAEwD,KAAK,CAACwB,MAAM,EAAG;IACrB,OAAOrE,aAAA;MAAA,GAAQ+E;IAAU,GAAG,GAAC,EAAEnG,EAAE,CAAE,mBAAoB,CAAM,CAAC;EAC/D;EAEA,MAAMoG,gBAAgB,GAAKC,gBAAgB,IAC1C/D,aAAa,CAAE;IACdqB,MAAM,EAAE;MAAE,GAAGA,MAAM;MAAE,GAAG0C;IAAiB;EAC1C,CAAE,CAAC;EAEJ,MAAMC,qBAAqB,GAAG,CAC7B;IACCC,IAAI,EAAE3F,IAAI;IACV4F,KAAK,EAAExG,EAAE,CAAE,WAAY,CAAC;IACxBkC,OAAO,EAAEA,CAAA,KAAMkE,gBAAgB,CAAE;MAAEvC,IAAI,EAAE;IAAU,CAAE,CAAC;IACtD4C,QAAQ,EAAE3C,UAAU,KAAK,SAAS,IAAIA,UAAU,KAAK;EACtD,CAAC,EACD;IACCyC,IAAI,EAAE1F,IAAI;IACV2F,KAAK,EAAExG,EAAE,CAAE,WAAY,CAAC;IACxBkC,OAAO,EAAEA,CAAA,KACRkE,gBAAgB,CAAE;MACjBvC,IAAI,EAAE,MAAM;MACZE;IACD,CAAE,CAAC;IACJ0C,QAAQ,EAAE3C,UAAU,KAAK;EAC1B,CAAC,CACD;;EAED;EACA;EACA;EACA;EACA,OACC1C,aAAA,CAAAsF,QAAA,QACCtF,aAAA,CAACnB,aAAa,QACbmB,aAAA,CAACV,YAAY;IAACiG,QAAQ,EAAGL;EAAuB,CAAE,CACpC,CAAC,EAEhBlF,aAAA;IAAA,GAAS+E;EAAU,GAChBJ,aAAa,IACdA,aAAa,CAACC,GAAG,CAAIY,YAAY,IAChCxF,aAAA,CAAClB,oBAAoB;IACpB2G,GAAG,EAAGD,YAAY,CAACV,MAAQ;IAC3BY,KAAK,EAAGF;EAAc,GAEpBA,YAAY,CAACV,MAAM,MACnBlC,oBAAoB,IACrB+B,aAAa,CAAE,CAAC,CAAE,EAAEG,MAAM,CAAE,GAC5B9E,aAAA,CAACL,uBAAuB,MAAE,CAAC,GACxB,IAAI,EACRK,aAAA,CAACgB,gCAAgC;IAChCd,MAAM,EAAGA,MAAQ;IACjBC,cAAc,EAAGqF,YAAY,CAACV,MAAQ;IACtCzE,uBAAuB,EACtBA,uBACA;IACDD,QAAQ,EACPoF,YAAY,CAACV,MAAM,MACjBlC,oBAAoB,IACrB+B,aAAa,CAAE,CAAC,CAAE,EAAEG,MAAM;EAC3B,CACD,CACoB,CACrB,CACA,CACH,CAAC;AAEL"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { store, navigate, prefetch } from '@wordpress/interactivity';
4
+ import { store, getContext, getElement, navigate, prefetch } from '@wordpress/interactivity';
5
5
  const isValidLink = ref => ref && ref instanceof window.HTMLAnchorElement && ref.href && (!ref.target || ref.target === '_self') && ref.origin === window.location.origin;
6
6
  const isValidEvent = event => event.button === 0 &&
7
7
  // Left clicks only.
@@ -12,76 +12,68 @@ const isValidEvent = event => event.button === 0 &&
12
12
  !event.altKey &&
13
13
  // Download.
14
14
  !event.shiftKey && !event.defaultPrevented;
15
- store({
16
- selectors: {
17
- core: {
18
- query: {
19
- startAnimation: ({
20
- context
21
- }) => context.core.query.animation === 'start',
22
- finishAnimation: ({
23
- context
24
- }) => context.core.query.animation === 'finish'
25
- }
15
+ store('core/query', {
16
+ state: {
17
+ get startAnimation() {
18
+ return getContext().animation === 'start';
19
+ },
20
+ get finishAnimation() {
21
+ return getContext().animation === 'finish';
26
22
  }
27
23
  },
28
24
  actions: {
29
- core: {
30
- query: {
31
- navigate: async ({
32
- event,
33
- ref,
34
- context
35
- }) => {
36
- const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
37
- if (isValidLink(ref) && isValidEvent(event) && !isDisabled) {
38
- event.preventDefault();
39
- const id = ref.closest('[data-wp-navigation-id]').dataset.wpNavigationId;
25
+ *navigate(event) {
26
+ const ctx = getContext();
27
+ const {
28
+ ref
29
+ } = getElement();
30
+ const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
31
+ if (isValidLink(ref) && isValidEvent(event) && !isDisabled) {
32
+ event.preventDefault();
33
+ const id = ref.closest('[data-wp-navigation-id]').dataset.wpNavigationId;
40
34
 
41
- // Don't announce the navigation immediately, wait 400 ms.
42
- const timeout = setTimeout(() => {
43
- context.core.query.message = context.core.query.loadingText;
44
- context.core.query.animation = 'start';
45
- }, 400);
46
- await navigate(ref.href);
35
+ // Don't announce the navigation immediately, wait 400 ms.
36
+ const timeout = setTimeout(() => {
37
+ ctx.message = ctx.loadingText;
38
+ ctx.animation = 'start';
39
+ }, 400);
40
+ yield navigate(ref.href);
47
41
 
48
- // Dismiss loading message if it hasn't been added yet.
49
- clearTimeout(timeout);
42
+ // Dismiss loading message if it hasn't been added yet.
43
+ clearTimeout(timeout);
50
44
 
51
- // Announce that the page has been loaded. If the message is the
52
- // same, we use a no-break space similar to the @wordpress/a11y
53
- // package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26
54
- context.core.query.message = context.core.query.loadedText + (context.core.query.message === context.core.query.loadedText ? '\u00A0' : '');
55
- context.core.query.animation = 'finish';
56
- context.core.query.url = ref.href;
45
+ // Announce that the page has been loaded. If the message is the
46
+ // same, we use a no-break space similar to the @wordpress/a11y
47
+ // package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26
48
+ ctx.message = ctx.loadedText + (ctx.message === ctx.loadedText ? '\u00A0' : '');
49
+ ctx.animation = 'finish';
50
+ ctx.url = ref.href;
57
51
 
58
- // Focus the first anchor of the Query block.
59
- const firstAnchor = `[data-wp-navigation-id=${id}] .wp-block-post-template a[href]`;
60
- document.querySelector(firstAnchor)?.focus();
61
- }
62
- },
63
- prefetch: async ({
64
- ref
65
- }) => {
66
- const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
67
- if (isValidLink(ref) && !isDisabled) {
68
- await prefetch(ref.href);
69
- }
70
- }
52
+ // Focus the first anchor of the Query block.
53
+ const firstAnchor = `[data-wp-navigation-id=${id}] .wp-block-post-template a[href]`;
54
+ document.querySelector(firstAnchor)?.focus();
55
+ }
56
+ },
57
+ *prefetch() {
58
+ const {
59
+ ref
60
+ } = getElement();
61
+ const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
62
+ if (isValidLink(ref) && !isDisabled) {
63
+ yield prefetch(ref.href);
71
64
  }
72
65
  }
73
66
  },
74
- effects: {
75
- core: {
76
- query: {
77
- prefetch: async ({
78
- ref,
79
- context
80
- }) => {
81
- if (context.core.query.url && isValidLink(ref)) {
82
- await prefetch(ref.href);
83
- }
84
- }
67
+ callbacks: {
68
+ *prefetch() {
69
+ const {
70
+ url
71
+ } = getContext();
72
+ const {
73
+ ref
74
+ } = getElement();
75
+ if (url && isValidLink(ref)) {
76
+ yield prefetch(ref.href);
85
77
  }
86
78
  }
87
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","navigate","prefetch","isValidLink","ref","window","HTMLAnchorElement","href","target","origin","location","isValidEvent","event","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","selectors","core","query","startAnimation","context","animation","finishAnimation","actions","isDisabled","closest","dataset","wpNavigationDisabled","preventDefault","id","wpNavigationId","timeout","setTimeout","message","loadingText","clearTimeout","loadedText","url","firstAnchor","document","querySelector","focus","effects"],"sources":["@wordpress/block-library/src/query/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, navigate, prefetch } from '@wordpress/interactivity';\n\nconst isValidLink = ( ref ) =>\n\tref &&\n\tref instanceof window.HTMLAnchorElement &&\n\tref.href &&\n\t( ! ref.target || ref.target === '_self' ) &&\n\tref.origin === window.location.origin;\n\nconst isValidEvent = ( event ) =>\n\tevent.button === 0 && // Left clicks only.\n\t! event.metaKey && // Open in new tab (Mac).\n\t! event.ctrlKey && // Open in new tab (Windows).\n\t! event.altKey && // Download.\n\t! event.shiftKey &&\n\t! event.defaultPrevented;\n\nstore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tquery: {\n\t\t\t\tstartAnimation: ( { context } ) =>\n\t\t\t\t\tcontext.core.query.animation === 'start',\n\t\t\t\tfinishAnimation: ( { context } ) =>\n\t\t\t\t\tcontext.core.query.animation === 'finish',\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tquery: {\n\t\t\t\tnavigate: async ( { event, ref, context } ) => {\n\t\t\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )\n\t\t\t\t\t\t?.dataset.wpNavigationDisabled;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisValidLink( ref ) &&\n\t\t\t\t\t\tisValidEvent( event ) &&\n\t\t\t\t\t\t! isDisabled\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\tconst id = ref.closest( '[data-wp-navigation-id]' )\n\t\t\t\t\t\t\t.dataset.wpNavigationId;\n\n\t\t\t\t\t\t// Don't announce the navigation immediately, wait 400 ms.\n\t\t\t\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\t\t\t\tcontext.core.query.message =\n\t\t\t\t\t\t\t\tcontext.core.query.loadingText;\n\t\t\t\t\t\t\tcontext.core.query.animation = 'start';\n\t\t\t\t\t\t}, 400 );\n\n\t\t\t\t\t\tawait navigate( ref.href );\n\n\t\t\t\t\t\t// Dismiss loading message if it hasn't been added yet.\n\t\t\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t\t\t// Announce that the page has been loaded. If the message is the\n\t\t\t\t\t\t// same, we use a no-break space similar to the @wordpress/a11y\n\t\t\t\t\t\t// package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26\n\t\t\t\t\t\tcontext.core.query.message =\n\t\t\t\t\t\t\tcontext.core.query.loadedText +\n\t\t\t\t\t\t\t( context.core.query.message ===\n\t\t\t\t\t\t\tcontext.core.query.loadedText\n\t\t\t\t\t\t\t\t? '\\u00A0'\n\t\t\t\t\t\t\t\t: '' );\n\n\t\t\t\t\t\tcontext.core.query.animation = 'finish';\n\t\t\t\t\t\tcontext.core.query.url = ref.href;\n\n\t\t\t\t\t\t// Focus the first anchor of the Query block.\n\t\t\t\t\t\tconst firstAnchor = `[data-wp-navigation-id=${ id }] .wp-block-post-template a[href]`;\n\t\t\t\t\t\tdocument.querySelector( firstAnchor )?.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tprefetch: async ( { ref } ) => {\n\t\t\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )\n\t\t\t\t\t\t?.dataset.wpNavigationDisabled;\n\t\t\t\t\tif ( isValidLink( ref ) && ! isDisabled ) {\n\t\t\t\t\t\tawait prefetch( ref.href );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\teffects: {\n\t\tcore: {\n\t\t\tquery: {\n\t\t\t\tprefetch: async ( { ref, context } ) => {\n\t\t\t\t\tif ( context.core.query.url && isValidLink( ref ) ) {\n\t\t\t\t\t\tawait prefetch( ref.href );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
1
+ {"version":3,"names":["store","getContext","getElement","navigate","prefetch","isValidLink","ref","window","HTMLAnchorElement","href","target","origin","location","isValidEvent","event","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","state","startAnimation","animation","finishAnimation","actions","ctx","isDisabled","closest","dataset","wpNavigationDisabled","preventDefault","id","wpNavigationId","timeout","setTimeout","message","loadingText","clearTimeout","loadedText","url","firstAnchor","document","querySelector","focus","callbacks"],"sources":["@wordpress/block-library/src/query/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\tnavigate,\n\tprefetch,\n} from '@wordpress/interactivity';\n\nconst isValidLink = ( ref ) =>\n\tref &&\n\tref instanceof window.HTMLAnchorElement &&\n\tref.href &&\n\t( ! ref.target || ref.target === '_self' ) &&\n\tref.origin === window.location.origin;\n\nconst isValidEvent = ( event ) =>\n\tevent.button === 0 && // Left clicks only.\n\t! event.metaKey && // Open in new tab (Mac).\n\t! event.ctrlKey && // Open in new tab (Windows).\n\t! event.altKey && // Download.\n\t! event.shiftKey &&\n\t! event.defaultPrevented;\n\nstore( 'core/query', {\n\tstate: {\n\t\tget startAnimation() {\n\t\t\treturn getContext().animation === 'start';\n\t\t},\n\t\tget finishAnimation() {\n\t\t\treturn getContext().animation === 'finish';\n\t\t},\n\t},\n\tactions: {\n\t\t*navigate( event ) {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )?.dataset\n\t\t\t\t.wpNavigationDisabled;\n\n\t\t\tif ( isValidLink( ref ) && isValidEvent( event ) && ! isDisabled ) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst id = ref.closest( '[data-wp-navigation-id]' ).dataset\n\t\t\t\t\t.wpNavigationId;\n\n\t\t\t\t// Don't announce the navigation immediately, wait 400 ms.\n\t\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\t\tctx.message = ctx.loadingText;\n\t\t\t\t\tctx.animation = 'start';\n\t\t\t\t}, 400 );\n\n\t\t\t\tyield navigate( ref.href );\n\n\t\t\t\t// Dismiss loading message if it hasn't been added yet.\n\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t// Announce that the page has been loaded. If the message is the\n\t\t\t\t// same, we use a no-break space similar to the @wordpress/a11y\n\t\t\t\t// package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26\n\t\t\t\tctx.message =\n\t\t\t\t\tctx.loadedText +\n\t\t\t\t\t( ctx.message === ctx.loadedText ? '\\u00A0' : '' );\n\n\t\t\t\tctx.animation = 'finish';\n\t\t\t\tctx.url = ref.href;\n\n\t\t\t\t// Focus the first anchor of the Query block.\n\t\t\t\tconst firstAnchor = `[data-wp-navigation-id=${ id }] .wp-block-post-template a[href]`;\n\t\t\t\tdocument.querySelector( firstAnchor )?.focus();\n\t\t\t}\n\t\t},\n\t\t*prefetch() {\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )?.dataset\n\t\t\t\t.wpNavigationDisabled;\n\t\t\tif ( isValidLink( ref ) && ! isDisabled ) {\n\t\t\t\tyield prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n\tcallbacks: {\n\t\t*prefetch() {\n\t\t\tconst { url } = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( url && isValidLink( ref ) ) {\n\t\t\t\tyield prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
@@ -1,84 +1,76 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { store as wpStore } from '@wordpress/interactivity';
5
- wpStore({
6
- selectors: {
7
- core: {
8
- search: {
9
- ariaLabel: ({
10
- context
11
- }) => {
12
- const {
13
- ariaLabelCollapsed,
14
- ariaLabelExpanded
15
- } = context.core.search;
16
- return context.core.search.isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
17
- },
18
- ariaControls: ({
19
- context
20
- }) => {
21
- return context.core.search.isSearchInputVisible ? null : context.core.search.inputId;
22
- },
23
- type: ({
24
- context
25
- }) => {
26
- return context.core.search.isSearchInputVisible ? 'submit' : 'button';
27
- },
28
- tabindex: ({
29
- context
30
- }) => {
31
- return context.core.search.isSearchInputVisible ? '0' : '-1';
32
- }
33
- }
4
+ import { store, getContext, getElement } from '@wordpress/interactivity';
5
+ const {
6
+ actions
7
+ } = store('core/search', {
8
+ state: {
9
+ get ariaLabel() {
10
+ const {
11
+ isSearchInputVisible,
12
+ ariaLabelCollapsed,
13
+ ariaLabelExpanded
14
+ } = getContext();
15
+ return isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
16
+ },
17
+ get ariaControls() {
18
+ const {
19
+ isSearchInputVisible,
20
+ inputId
21
+ } = getContext();
22
+ return isSearchInputVisible ? null : inputId;
23
+ },
24
+ get type() {
25
+ const {
26
+ isSearchInputVisible
27
+ } = getContext();
28
+ return isSearchInputVisible ? 'submit' : 'button';
29
+ },
30
+ get tabindex() {
31
+ const {
32
+ isSearchInputVisible
33
+ } = getContext();
34
+ return isSearchInputVisible ? '0' : '-1';
34
35
  }
35
36
  },
36
37
  actions: {
37
- core: {
38
- search: {
39
- openSearchInput: ({
40
- context,
41
- event,
42
- ref
43
- }) => {
44
- if (!context.core.search.isSearchInputVisible) {
45
- event.preventDefault();
46
- context.core.search.isSearchInputVisible = true;
47
- ref.parentElement.querySelector('input').focus();
48
- }
49
- },
50
- closeSearchInput: ({
51
- context
52
- }) => {
53
- context.core.search.isSearchInputVisible = false;
54
- },
55
- handleSearchKeydown: store => {
56
- const {
57
- actions,
58
- event,
59
- ref
60
- } = store;
61
- // If Escape close the menu.
62
- if (event?.key === 'Escape') {
63
- actions.core.search.closeSearchInput(store);
64
- ref.querySelector('button').focus();
65
- }
66
- },
67
- handleSearchFocusout: store => {
68
- const {
69
- actions,
70
- event,
71
- ref
72
- } = store;
73
- // If focus is outside search form, and in the document, close menu
74
- // event.target === The element losing focus
75
- // event.relatedTarget === The element receiving focus (if any)
76
- // When focusout is outside the document,
77
- // `window.document.activeElement` doesn't change.
78
- if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
79
- actions.core.search.closeSearchInput(store);
80
- }
81
- }
38
+ openSearchInput(event) {
39
+ const ctx = getContext();
40
+ const {
41
+ ref
42
+ } = getElement();
43
+ if (!ctx.isSearchInputVisible) {
44
+ event.preventDefault();
45
+ ctx.isSearchInputVisible = true;
46
+ ref.parentElement.querySelector('input').focus();
47
+ }
48
+ },
49
+ closeSearchInput() {
50
+ const ctx = getContext();
51
+ ctx.isSearchInputVisible = false;
52
+ },
53
+ handleSearchKeydown(event) {
54
+ const {
55
+ ref
56
+ } = getElement();
57
+ // If Escape close the menu.
58
+ if (event?.key === 'Escape') {
59
+ actions.closeSearchInput();
60
+ ref.querySelector('button').focus();
61
+ }
62
+ },
63
+ handleSearchFocusout(event) {
64
+ const {
65
+ ref
66
+ } = getElement();
67
+ // If focus is outside search form, and in the document, close menu
68
+ // event.target === The element losing focus
69
+ // event.relatedTarget === The element receiving focus (if any)
70
+ // When focusout is outside the document,
71
+ // `window.document.activeElement` doesn't change.
72
+ if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
73
+ actions.closeSearchInput();
82
74
  }
83
75
  }
84
76
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","wpStore","selectors","core","search","ariaLabel","context","ariaLabelCollapsed","ariaLabelExpanded","isSearchInputVisible","ariaControls","inputId","type","tabindex","actions","openSearchInput","event","ref","preventDefault","parentElement","querySelector","focus","closeSearchInput","handleSearchKeydown","key","handleSearchFocusout","contains","relatedTarget","target","window","document","activeElement"],"sources":["@wordpress/block-library/src/search/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as wpStore } from '@wordpress/interactivity';\n\nwpStore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tsearch: {\n\t\t\t\tariaLabel: ( { context } ) => {\n\t\t\t\t\tconst { ariaLabelCollapsed, ariaLabelExpanded } =\n\t\t\t\t\t\tcontext.core.search;\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? ariaLabelExpanded\n\t\t\t\t\t\t: ariaLabelCollapsed;\n\t\t\t\t},\n\t\t\t\tariaControls: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: context.core.search.inputId;\n\t\t\t\t},\n\t\t\t\ttype: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? 'submit'\n\t\t\t\t\t\t: 'button';\n\t\t\t\t},\n\t\t\t\ttabindex: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: '-1';\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tsearch: {\n\t\t\t\topenSearchInput: ( { context, event, ref } ) => {\n\t\t\t\t\tif ( ! context.core.search.isSearchInputVisible ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tcontext.core.search.isSearchInputVisible = true;\n\t\t\t\t\t\tref.parentElement.querySelector( 'input' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcloseSearchInput: ( { context } ) => {\n\t\t\t\t\tcontext.core.search.isSearchInputVisible = false;\n\t\t\t\t},\n\t\t\t\thandleSearchKeydown: ( store ) => {\n\t\t\t\t\tconst { actions, event, ref } = store;\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.core.search.closeSearchInput( store );\n\t\t\t\t\t\tref.querySelector( 'button' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleSearchFocusout: ( store ) => {\n\t\t\t\t\tconst { actions, event, ref } = store;\n\t\t\t\t\t// If focus is outside search form, and in the document, close menu\n\t\t\t\t\t// event.target === The element losing focus\n\t\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t\t// When focusout is outside the document,\n\t\t\t\t\t// `window.document.activeElement` doesn't change.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! ref.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement\n\t\t\t\t\t) {\n\t\t\t\t\t\tactions.core.search.closeSearchInput( store );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,OAAO,QAAQ,0BAA0B;AAE3DA,OAAO,CAAE;EACRC,SAAS,EAAE;IACVC,IAAI,EAAE;MACLC,MAAM,EAAE;QACPC,SAAS,EAAEA,CAAE;UAAEC;QAAQ,CAAC,KAAM;UAC7B,MAAM;YAAEC,kBAAkB;YAAEC;UAAkB,CAAC,GAC9CF,OAAO,CAACH,IAAI,CAACC,MAAM;UACpB,OAAOE,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5CD,iBAAiB,GACjBD,kBAAkB;QACtB,CAAC;QACDG,YAAY,EAAEA,CAAE;UAAEJ;QAAQ,CAAC,KAAM;UAChC,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,IAAI,GACJH,OAAO,CAACH,IAAI,CAACC,MAAM,CAACO,OAAO;QAC/B,CAAC;QACDC,IAAI,EAAEA,CAAE;UAAEN;QAAQ,CAAC,KAAM;UACxB,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,QAAQ,GACR,QAAQ;QACZ,CAAC;QACDI,QAAQ,EAAEA,CAAE;UAAEP;QAAQ,CAAC,KAAM;UAC5B,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,GAAG,GACH,IAAI;QACR;MACD;IACD;EACD,CAAC;EACDK,OAAO,EAAE;IACRX,IAAI,EAAE;MACLC,MAAM,EAAE;QACPW,eAAe,EAAEA,CAAE;UAAET,OAAO;UAAEU,KAAK;UAAEC;QAAI,CAAC,KAAM;UAC/C,IAAK,CAAEX,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,EAAG;YACjDO,KAAK,CAACE,cAAc,CAAC,CAAC;YACtBZ,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAAG,IAAI;YAC/CQ,GAAG,CAACE,aAAa,CAACC,aAAa,CAAE,OAAQ,CAAC,CAACC,KAAK,CAAC,CAAC;UACnD;QACD,CAAC;QACDC,gBAAgB,EAAEA,CAAE;UAAEhB;QAAQ,CAAC,KAAM;UACpCA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAAG,KAAK;QACjD,CAAC;QACDc,mBAAmB,EAAIvB,KAAK,IAAM;UACjC,MAAM;YAAEc,OAAO;YAAEE,KAAK;YAAEC;UAAI,CAAC,GAAGjB,KAAK;UACrC;UACA,IAAKgB,KAAK,EAAEQ,GAAG,KAAK,QAAQ,EAAG;YAC9BV,OAAO,CAACX,IAAI,CAACC,MAAM,CAACkB,gBAAgB,CAAEtB,KAAM,CAAC;YAC7CiB,GAAG,CAACG,aAAa,CAAE,QAAS,CAAC,CAACC,KAAK,CAAC,CAAC;UACtC;QACD,CAAC;QACDI,oBAAoB,EAAIzB,KAAK,IAAM;UAClC,MAAM;YAAEc,OAAO;YAAEE,KAAK;YAAEC;UAAI,CAAC,GAAGjB,KAAK;UACrC;UACA;UACA;UACA;UACA;UACA,IACC,CAAEiB,GAAG,CAACS,QAAQ,CAAEV,KAAK,CAACW,aAAc,CAAC,IACrCX,KAAK,CAACY,MAAM,KAAKC,MAAM,CAACC,QAAQ,CAACC,aAAa,EAC7C;YACDjB,OAAO,CAACX,IAAI,CAACC,MAAM,CAACkB,gBAAgB,CAAEtB,KAAM,CAAC;UAC9C;QACD;MACD;IACD;EACD;AACD,CAAE,CAAC"}
1
+ {"version":3,"names":["store","getContext","getElement","actions","state","ariaLabel","isSearchInputVisible","ariaLabelCollapsed","ariaLabelExpanded","ariaControls","inputId","type","tabindex","openSearchInput","event","ctx","ref","preventDefault","parentElement","querySelector","focus","closeSearchInput","handleSearchKeydown","key","handleSearchFocusout","contains","relatedTarget","target","window","document","activeElement"],"sources":["@wordpress/block-library/src/search/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst { actions } = store( 'core/search', {\n\tstate: {\n\t\tget ariaLabel() {\n\t\t\tconst {\n\t\t\t\tisSearchInputVisible,\n\t\t\t\tariaLabelCollapsed,\n\t\t\t\tariaLabelExpanded,\n\t\t\t} = getContext();\n\t\t\treturn isSearchInputVisible\n\t\t\t\t? ariaLabelExpanded\n\t\t\t\t: ariaLabelCollapsed;\n\t\t},\n\t\tget ariaControls() {\n\t\t\tconst { isSearchInputVisible, inputId } = getContext();\n\t\t\treturn isSearchInputVisible ? null : inputId;\n\t\t},\n\t\tget type() {\n\t\t\tconst { isSearchInputVisible } = getContext();\n\t\t\treturn isSearchInputVisible ? 'submit' : 'button';\n\t\t},\n\t\tget tabindex() {\n\t\t\tconst { isSearchInputVisible } = getContext();\n\t\t\treturn isSearchInputVisible ? '0' : '-1';\n\t\t},\n\t},\n\tactions: {\n\t\topenSearchInput( event ) {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( ! ctx.isSearchInputVisible ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tctx.isSearchInputVisible = true;\n\t\t\t\tref.parentElement.querySelector( 'input' ).focus();\n\t\t\t}\n\t\t},\n\t\tcloseSearchInput() {\n\t\t\tconst ctx = getContext();\n\t\t\tctx.isSearchInputVisible = false;\n\t\t},\n\t\thandleSearchKeydown( event ) {\n\t\t\tconst { ref } = getElement();\n\t\t\t// If Escape close the menu.\n\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\tactions.closeSearchInput();\n\t\t\t\tref.querySelector( 'button' ).focus();\n\t\t\t}\n\t\t},\n\t\thandleSearchFocusout( event ) {\n\t\t\tconst { ref } = getElement();\n\t\t\t// If focus is outside search form, and in the document, close menu\n\t\t\t// event.target === The element losing focus\n\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t// When focusout is outside the document,\n\t\t\t// `window.document.activeElement` doesn't change.\n\t\t\tif (\n\t\t\t\t! ref.contains( event.relatedTarget ) &&\n\t\t\t\tevent.target !== window.document.activeElement\n\t\t\t) {\n\t\t\t\tactions.closeSearchInput();\n\t\t\t}\n\t\t},\n\t},\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,EAAEC,UAAU,EAAEC,UAAU,QAAQ,0BAA0B;AAExE,MAAM;EAAEC;AAAQ,CAAC,GAAGH,KAAK,CAAE,aAAa,EAAE;EACzCI,KAAK,EAAE;IACN,IAAIC,SAASA,CAAA,EAAG;MACf,MAAM;QACLC,oBAAoB;QACpBC,kBAAkB;QAClBC;MACD,CAAC,GAAGP,UAAU,CAAC,CAAC;MAChB,OAAOK,oBAAoB,GACxBE,iBAAiB,GACjBD,kBAAkB;IACtB,CAAC;IACD,IAAIE,YAAYA,CAAA,EAAG;MAClB,MAAM;QAAEH,oBAAoB;QAAEI;MAAQ,CAAC,GAAGT,UAAU,CAAC,CAAC;MACtD,OAAOK,oBAAoB,GAAG,IAAI,GAAGI,OAAO;IAC7C,CAAC;IACD,IAAIC,IAAIA,CAAA,EAAG;MACV,MAAM;QAAEL;MAAqB,CAAC,GAAGL,UAAU,CAAC,CAAC;MAC7C,OAAOK,oBAAoB,GAAG,QAAQ,GAAG,QAAQ;IAClD,CAAC;IACD,IAAIM,QAAQA,CAAA,EAAG;MACd,MAAM;QAAEN;MAAqB,CAAC,GAAGL,UAAU,CAAC,CAAC;MAC7C,OAAOK,oBAAoB,GAAG,GAAG,GAAG,IAAI;IACzC;EACD,CAAC;EACDH,OAAO,EAAE;IACRU,eAAeA,CAAEC,KAAK,EAAG;MACxB,MAAMC,GAAG,GAAGd,UAAU,CAAC,CAAC;MACxB,MAAM;QAAEe;MAAI,CAAC,GAAGd,UAAU,CAAC,CAAC;MAC5B,IAAK,CAAEa,GAAG,CAACT,oBAAoB,EAAG;QACjCQ,KAAK,CAACG,cAAc,CAAC,CAAC;QACtBF,GAAG,CAACT,oBAAoB,GAAG,IAAI;QAC/BU,GAAG,CAACE,aAAa,CAACC,aAAa,CAAE,OAAQ,CAAC,CAACC,KAAK,CAAC,CAAC;MACnD;IACD,CAAC;IACDC,gBAAgBA,CAAA,EAAG;MAClB,MAAMN,GAAG,GAAGd,UAAU,CAAC,CAAC;MACxBc,GAAG,CAACT,oBAAoB,GAAG,KAAK;IACjC,CAAC;IACDgB,mBAAmBA,CAAER,KAAK,EAAG;MAC5B,MAAM;QAAEE;MAAI,CAAC,GAAGd,UAAU,CAAC,CAAC;MAC5B;MACA,IAAKY,KAAK,EAAES,GAAG,KAAK,QAAQ,EAAG;QAC9BpB,OAAO,CAACkB,gBAAgB,CAAC,CAAC;QAC1BL,GAAG,CAACG,aAAa,CAAE,QAAS,CAAC,CAACC,KAAK,CAAC,CAAC;MACtC;IACD,CAAC;IACDI,oBAAoBA,CAAEV,KAAK,EAAG;MAC7B,MAAM;QAAEE;MAAI,CAAC,GAAGd,UAAU,CAAC,CAAC;MAC5B;MACA;MACA;MACA;MACA;MACA,IACC,CAAEc,GAAG,CAACS,QAAQ,CAAEX,KAAK,CAACY,aAAc,CAAC,IACrCZ,KAAK,CAACa,MAAM,KAAKC,MAAM,CAACC,QAAQ,CAACC,aAAa,EAC7C;QACD3B,OAAO,CAACkB,gBAAgB,CAAC,CAAC;MAC3B;IACD;EACD;AACD,CAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Removes anchor tags from a string.
3
+ *
4
+ * @param {string} value The value to remove anchor tags from.
5
+ *
6
+ * @return {string} The value with anchor tags removed.
7
+ */
8
+ export default function removeAnchorTag(value) {
9
+ return value.replace(/<\/?a[^>]*>/g, '');
10
+ }
11
+ //# sourceMappingURL=remove-anchor-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["removeAnchorTag","value","replace"],"sources":["@wordpress/block-library/src/utils/remove-anchor-tag.js"],"sourcesContent":["/**\n * Removes anchor tags from a string.\n *\n * @param {string} value The value to remove anchor tags from.\n *\n * @return {string} The value with anchor tags removed.\n */\nexport default function removeAnchorTag( value ) {\n\treturn value.replace( /<\\/?a[^>]*>/g, '' );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,eAAeA,CAAEC,KAAK,EAAG;EAChD,OAAOA,KAAK,CAACC,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;AAC3C"}
@@ -315,20 +315,20 @@
315
315
  z-index: 1;
316
316
  color: inherit; direction: rtl;
317
317
  }
318
- .wp-block-cover-image p:not(.has-text-color),
319
- .wp-block-cover-image h1:not(.has-text-color),
320
- .wp-block-cover-image h2:not(.has-text-color),
321
- .wp-block-cover-image h3:not(.has-text-color),
322
- .wp-block-cover-image h4:not(.has-text-color),
323
- .wp-block-cover-image h5:not(.has-text-color),
324
- .wp-block-cover-image h6:not(.has-text-color),
325
- .wp-block-cover p:not(.has-text-color),
326
- .wp-block-cover h1:not(.has-text-color),
327
- .wp-block-cover h2:not(.has-text-color),
328
- .wp-block-cover h3:not(.has-text-color),
329
- .wp-block-cover h4:not(.has-text-color),
330
- .wp-block-cover h5:not(.has-text-color),
331
- .wp-block-cover h6:not(.has-text-color) {
318
+ .wp-block-cover-image p:where(:not(.has-text-color)),
319
+ .wp-block-cover-image h1:where(:not(.has-text-color)),
320
+ .wp-block-cover-image h2:where(:not(.has-text-color)),
321
+ .wp-block-cover-image h3:where(:not(.has-text-color)),
322
+ .wp-block-cover-image h4:where(:not(.has-text-color)),
323
+ .wp-block-cover-image h5:where(:not(.has-text-color)),
324
+ .wp-block-cover-image h6:where(:not(.has-text-color)),
325
+ .wp-block-cover p:where(:not(.has-text-color)),
326
+ .wp-block-cover h1:where(:not(.has-text-color)),
327
+ .wp-block-cover h2:where(:not(.has-text-color)),
328
+ .wp-block-cover h3:where(:not(.has-text-color)),
329
+ .wp-block-cover h4:where(:not(.has-text-color)),
330
+ .wp-block-cover h5:where(:not(.has-text-color)),
331
+ .wp-block-cover h6:where(:not(.has-text-color)) {
332
332
  color: inherit;
333
333
  }
334
334
  .wp-block-cover-image.is-position-top-left,