@wordpress/block-library 6.0.14 → 6.0.17

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 (114) hide show
  1. package/build/group/edit.native.js +1 -1
  2. package/build/group/edit.native.js.map +1 -1
  3. package/build/group/index.js +3 -1
  4. package/build/group/index.js.map +1 -1
  5. package/build/navigation/deprecated.js +1 -3
  6. package/build/navigation/deprecated.js.map +1 -1
  7. package/build/navigation/edit/index.js +100 -44
  8. package/build/navigation/edit/index.js.map +1 -1
  9. package/build/navigation/edit/navigation-menu-selector.js +3 -2
  10. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  11. package/build/navigation/edit/placeholder/index.js +15 -7
  12. package/build/navigation/edit/placeholder/index.js.map +1 -1
  13. package/build/navigation/edit/responsive-wrapper.js +9 -7
  14. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  15. package/build/navigation/edit/unsaved-inner-blocks.js +3 -11
  16. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  17. package/build/navigation/edit/use-navigation-notice.js +54 -0
  18. package/build/navigation/edit/use-navigation-notice.js.map +1 -0
  19. package/build/navigation/index.js +1 -2
  20. package/build/navigation/index.js.map +1 -1
  21. package/build/navigation/use-navigation-menu.js +9 -2
  22. package/build/navigation/use-navigation-menu.js.map +1 -1
  23. package/build/navigation/view.js +12 -7
  24. package/build/navigation/view.js.map +1 -1
  25. package/build/post-template/edit.js +54 -13
  26. package/build/post-template/edit.js.map +1 -1
  27. package/build/site-logo/edit.js +9 -6
  28. package/build/site-logo/edit.js.map +1 -1
  29. package/build/site-logo/index.js +0 -3
  30. package/build/site-logo/index.js.map +1 -1
  31. package/build/template-part/edit/index.js +7 -1
  32. package/build/template-part/edit/index.js.map +1 -1
  33. package/build-module/group/edit.native.js +1 -1
  34. package/build-module/group/edit.native.js.map +1 -1
  35. package/build-module/group/index.js +3 -1
  36. package/build-module/group/index.js.map +1 -1
  37. package/build-module/navigation/deprecated.js +1 -3
  38. package/build-module/navigation/deprecated.js.map +1 -1
  39. package/build-module/navigation/edit/index.js +98 -44
  40. package/build-module/navigation/edit/index.js.map +1 -1
  41. package/build-module/navigation/edit/navigation-menu-selector.js +3 -2
  42. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  43. package/build-module/navigation/edit/placeholder/index.js +15 -7
  44. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  45. package/build-module/navigation/edit/responsive-wrapper.js +9 -7
  46. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  47. package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -13
  48. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  49. package/build-module/navigation/edit/use-navigation-notice.js +44 -0
  50. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -0
  51. package/build-module/navigation/index.js +1 -2
  52. package/build-module/navigation/index.js.map +1 -1
  53. package/build-module/navigation/use-navigation-menu.js +9 -2
  54. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  55. package/build-module/navigation/view.js +12 -7
  56. package/build-module/navigation/view.js.map +1 -1
  57. package/build-module/post-template/edit.js +54 -15
  58. package/build-module/post-template/edit.js.map +1 -1
  59. package/build-module/site-logo/edit.js +9 -6
  60. package/build-module/site-logo/edit.js.map +1 -1
  61. package/build-module/site-logo/index.js +0 -3
  62. package/build-module/site-logo/index.js.map +1 -1
  63. package/build-module/template-part/edit/index.js +6 -1
  64. package/build-module/template-part/edit/index.js.map +1 -1
  65. package/build-style/common-rtl.css +10 -0
  66. package/build-style/common.css +10 -0
  67. package/build-style/editor-rtl.css +13 -11
  68. package/build-style/editor.css +13 -11
  69. package/build-style/navigation/editor-rtl.css +2 -0
  70. package/build-style/navigation/editor.css +2 -0
  71. package/build-style/navigation/style-rtl.css +56 -24
  72. package/build-style/navigation/style.css +56 -24
  73. package/build-style/post-comments/style-rtl.css +0 -1
  74. package/build-style/post-comments/style.css +0 -1
  75. package/build-style/site-logo/editor-rtl.css +1 -11
  76. package/build-style/site-logo/editor.css +1 -11
  77. package/build-style/site-logo/style-rtl.css +3 -1
  78. package/build-style/site-logo/style.css +3 -1
  79. package/build-style/style-rtl.css +69 -26
  80. package/build-style/style.css +69 -26
  81. package/package.json +14 -14
  82. package/src/common.scss +12 -0
  83. package/src/editor.scss +12 -0
  84. package/src/gallery/index.php +1 -1
  85. package/src/group/block.json +3 -1
  86. package/src/group/edit.native.js +1 -1
  87. package/src/home-link/index.php +1 -1
  88. package/src/navigation/block.json +1 -2
  89. package/src/navigation/deprecated.js +0 -2
  90. package/src/navigation/edit/index.js +153 -55
  91. package/src/navigation/edit/navigation-menu-selector.js +19 -13
  92. package/src/navigation/edit/placeholder/index.js +40 -24
  93. package/src/navigation/edit/responsive-wrapper.js +10 -7
  94. package/src/navigation/edit/unsaved-inner-blocks.js +13 -25
  95. package/src/navigation/edit/use-navigation-notice.js +37 -0
  96. package/src/navigation/editor.scss +2 -0
  97. package/src/navigation/index.php +19 -8
  98. package/src/navigation/style.scss +82 -32
  99. package/src/navigation/use-navigation-menu.js +20 -0
  100. package/src/navigation/view.js +13 -7
  101. package/src/navigation-link/index.php +1 -1
  102. package/src/navigation-submenu/index.php +9 -3
  103. package/src/page-list/index.php +9 -4
  104. package/src/post-comments/index.php +6 -4
  105. package/src/post-comments/style.scss +0 -1
  106. package/src/post-comments-form/index.php +6 -4
  107. package/src/post-template/edit.js +54 -17
  108. package/src/site-logo/block.json +0 -3
  109. package/src/site-logo/edit.js +6 -5
  110. package/src/site-logo/editor.scss +1 -15
  111. package/src/site-logo/index.php +0 -4
  112. package/src/site-logo/style.scss +3 -1
  113. package/src/template-part/edit/index.js +6 -1
  114. package/src/template-part/index.php +5 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["useNavigationMenu","ref","select","getEntityRecord","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","coreStore","navigationMenuSingleArgs","rawNavigationMenu","navigationMenu","status","hasResolvedNavigationMenu","navigationMenuMultipleArgs","per_page","navigationMenus","canSwitchNavigationMenu","length","isNavigationMenuResolved","isNavigationMenuMissing","hasResolvedNavigationMenus"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,iBAAT,CAA4BC,GAA5B,EAAkC;AAChD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,gBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEK,eAAF,CALV;AAOA,UAAMC,wBAAwB,GAAG,CAChC,UADgC,EAEhC,eAFgC,EAGhCP,GAHgC,CAAjC;AAKA,UAAMQ,iBAAiB,GAAGR,GAAG,GAC1BE,eAAe,CAAE,GAAGK,wBAAL,CADW,GAE1B,IAFH;AAGA,QAAIE,cAAc,GAAGT,GAAG,GACrBG,qBAAqB,CAAE,GAAGI,wBAAL,CADA,GAErB,IAFH,CAhBa,CAoBb;AACA;;AACA,QAAK,oBAAAE,cAAc,UAAd,0DAAgBC,MAAhB,MAA2B,SAAhC,EAA4C;AAC3CD,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,UAAME,yBAAyB,GAAGX,GAAG,GAClCK,qBAAqB,CACrB,uBADqB,EAErBE,wBAFqB,CADa,GAKlC,KALH;AAOA,UAAMK,0BAA0B,GAAG,CAClC,UADkC,EAElC,eAFkC,EAGlC;AAAEC,MAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBH,MAAAA,MAAM,EAAE;AAAxB,KAHkC,CAAnC;AAKA,UAAMI,eAAe,GAAGV,gBAAgB,CACvC,GAAGQ,0BADoC,CAAxC;AAIA,UAAMG,uBAAuB,GAAGf,GAAG,GAChC,CAAAc,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CADM,GAEhC,CAAAF,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CAF7B;AAIA,WAAO;AACNC,MAAAA,wBAAwB,EAAEN,yBADpB;AAENO,MAAAA,uBAAuB,EACtB,CAAElB,GAAF,IACEW,yBAAyB,IAAI,CAAEH,iBAJ5B;AAKNO,MAAAA,uBALM;AAMNI,MAAAA,0BAA0B,EAAEd,qBAAqB,CAChD,kBADgD,EAEhDO,0BAFgD,CAN3C;AAUNH,MAAAA,cAVM;AAWNK,MAAAA;AAXM,KAAP;AAaA,GA5DK,EA6DN,CAAEd,GAAF,CA7DM,CAAP;AA+DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\n\t\t\tconst navigationMenuSingleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tref,\n\t\t\t];\n\t\t\tconst rawNavigationMenu = ref\n\t\t\t\t? getEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\t\t\tlet navigationMenu = ref\n\t\t\t\t? getEditedEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\n\t\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t\t// Therefore if the found post is not published then we should ignore it.\n\t\t\tif ( navigationMenu?.status !== 'publish' ) {\n\t\t\t\tnavigationMenu = null;\n\t\t\t}\n\n\t\t\tconst hasResolvedNavigationMenu = ref\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tnavigationMenuSingleArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst navigationMenuMultipleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\t{ per_page: -1, status: 'publish' },\n\t\t\t];\n\t\t\tconst navigationMenus = getEntityRecords(\n\t\t\t\t...navigationMenuMultipleArgs\n\t\t\t);\n\n\t\t\tconst canSwitchNavigationMenu = ref\n\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t: navigationMenus?.length > 0;\n\n\t\t\treturn {\n\t\t\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\t\t\tisNavigationMenuMissing:\n\t\t\t\t\t! ref ||\n\t\t\t\t\t( hasResolvedNavigationMenu && ! rawNavigationMenu ),\n\t\t\t\tcanSwitchNavigationMenu,\n\t\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tnavigationMenuMultipleArgs\n\t\t\t\t),\n\t\t\t\tnavigationMenu,\n\t\t\t\tnavigationMenus,\n\t\t\t};\n\t\t},\n\t\t[ ref ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["useNavigationMenu","ref","select","getEntityRecord","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","canUser","coreStore","navigationMenuSingleArgs","rawNavigationMenu","navigationMenu","status","hasResolvedNavigationMenu","navigationMenuMultipleArgs","per_page","navigationMenus","canSwitchNavigationMenu","length","isNavigationMenuResolved","isNavigationMenuMissing","hasResolvedNavigationMenus","canUserUpdateNavigationEntity","undefined","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,iBAAT,CAA4BC,GAA5B,EAAkC;AAChD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,gBAHK;AAILC,MAAAA,qBAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEM,eAAF,CANV;AAQA,UAAMC,wBAAwB,GAAG,CAChC,UADgC,EAEhC,eAFgC,EAGhCR,GAHgC,CAAjC;AAKA,UAAMS,iBAAiB,GAAGT,GAAG,GAC1BE,eAAe,CAAE,GAAGM,wBAAL,CADW,GAE1B,IAFH;AAGA,QAAIE,cAAc,GAAGV,GAAG,GACrBG,qBAAqB,CAAE,GAAGK,wBAAL,CADA,GAErB,IAFH,CAjBa,CAqBb;AACA;;AACA,QAAK,oBAAAE,cAAc,UAAd,0DAAgBC,MAAhB,MAA2B,SAAhC,EAA4C;AAC3CD,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,UAAME,yBAAyB,GAAGZ,GAAG,GAClCK,qBAAqB,CACrB,uBADqB,EAErBG,wBAFqB,CADa,GAKlC,KALH;AAOA,UAAMK,0BAA0B,GAAG,CAClC,UADkC,EAElC,eAFkC,EAGlC;AAAEC,MAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBH,MAAAA,MAAM,EAAE;AAAxB,KAHkC,CAAnC;AAKA,UAAMI,eAAe,GAAGX,gBAAgB,CACvC,GAAGS,0BADoC,CAAxC;AAIA,UAAMG,uBAAuB,GAAGhB,GAAG,GAChC,CAAAe,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CADM,GAEhC,CAAAF,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CAF7B;AAIA,WAAO;AACNC,MAAAA,wBAAwB,EAAEN,yBADpB;AAENO,MAAAA,uBAAuB,EACtB,CAAEnB,GAAF,IACEY,yBAAyB,IAAI,CAAEH,iBAJ5B;AAKNO,MAAAA,uBALM;AAMNI,MAAAA,0BAA0B,EAAEf,qBAAqB,CAChD,kBADgD,EAEhDQ,0BAFgD,CAN3C;AAUNH,MAAAA,cAVM;AAWNK,MAAAA,eAXM;AAYNM,MAAAA,6BAA6B,EAAErB,GAAG,GAC/BM,OAAO,CAAE,QAAF,EAAY,YAAZ,EAA0BN,GAA1B,CADwB,GAE/BsB,SAdG;AAeNC,MAAAA,wCAAwC,EAAElB,qBAAqB,CAC9D,SAD8D,EAE9D,CAAE,QAAF,EAAY,YAAZ,EAA0BL,GAA1B,CAF8D,CAfzD;AAmBNwB,MAAAA,6BAA6B,EAAExB,GAAG,GAC/BM,OAAO,CAAE,QAAF,EAAY,YAAZ,EAA0BN,GAA1B,CADwB,GAE/BsB,SArBG;AAsBNG,MAAAA,wCAAwC,EAAEpB,qBAAqB,CAC9D,SAD8D,EAE9D,CAAE,QAAF,EAAY,YAAZ,EAA0BL,GAA1B,CAF8D,CAtBzD;AA0BN0B,MAAAA,uBAAuB,EAAEpB,OAAO,CAAE,QAAF,EAAY,YAAZ,CA1B1B;AA2BNqB,MAAAA,kCAAkC,EAAEtB,qBAAqB,CACxD,SADwD,EAExD,CAAE,QAAF,EAAY,YAAZ,CAFwD;AA3BnD,KAAP;AAgCA,GAhFK,EAiFN,CAAEL,GAAF,CAjFM,CAAP;AAmFA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tcanUser,\n\t\t\t} = select( coreStore );\n\n\t\t\tconst navigationMenuSingleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tref,\n\t\t\t];\n\t\t\tconst rawNavigationMenu = ref\n\t\t\t\t? getEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\t\t\tlet navigationMenu = ref\n\t\t\t\t? getEditedEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\n\t\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t\t// Therefore if the found post is not published then we should ignore it.\n\t\t\tif ( navigationMenu?.status !== 'publish' ) {\n\t\t\t\tnavigationMenu = null;\n\t\t\t}\n\n\t\t\tconst hasResolvedNavigationMenu = ref\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tnavigationMenuSingleArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst navigationMenuMultipleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\t{ per_page: -1, status: 'publish' },\n\t\t\t];\n\t\t\tconst navigationMenus = getEntityRecords(\n\t\t\t\t...navigationMenuMultipleArgs\n\t\t\t);\n\n\t\t\tconst canSwitchNavigationMenu = ref\n\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t: navigationMenus?.length > 0;\n\n\t\t\treturn {\n\t\t\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\t\t\tisNavigationMenuMissing:\n\t\t\t\t\t! ref ||\n\t\t\t\t\t( hasResolvedNavigationMenu && ! rawNavigationMenu ),\n\t\t\t\tcanSwitchNavigationMenu,\n\t\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tnavigationMenuMultipleArgs\n\t\t\t\t),\n\t\t\t\tnavigationMenu,\n\t\t\t\tnavigationMenus,\n\t\t\t\tcanUserUpdateNavigationEntity: ref\n\t\t\t\t\t? canUser( 'update', 'navigation', ref )\n\t\t\t\t\t: undefined,\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'update', 'navigation', ref ]\n\t\t\t\t),\n\t\t\t\tcanUserDeleteNavigationEntity: ref\n\t\t\t\t\t? canUser( 'delete', 'navigation', ref )\n\t\t\t\t\t: undefined,\n\t\t\t\thasResolvedCanUserDeleteNavigationEntity: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'delete', 'navigation', ref ]\n\t\t\t\t),\n\t\t\t\tcanUserCreateNavigation: canUser( 'create', 'navigation' ),\n\t\t\t\thasResolvedCanUserCreateNavigation: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'create', 'navigation' ]\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ ref ]\n\t);\n}\n"]}
@@ -9,14 +9,19 @@ var _micromodal = _interopRequireDefault(require("micromodal"));
9
9
  */
10
10
  // Responsive navigation toggle.
11
11
  function navigationToggleModal(modal) {
12
- const triggerButton = document.querySelector(`button[data-micromodal-trigger="${modal.id}"]`);
13
- const closeButton = modal.querySelector('button[data-micromodal-close]'); // Use aria-hidden to determine the status of the modal, as this attribute is
14
- // managed by micromodal.
15
-
12
+ const dialogContainer = document.querySelector(`.wp-block-navigation__responsive-dialog`);
16
13
  const isHidden = 'true' === modal.getAttribute('aria-hidden');
17
- triggerButton.setAttribute('aria-expanded', !isHidden);
18
- closeButton.setAttribute('aria-expanded', !isHidden);
19
- modal.classList.toggle('has-modal-open', !isHidden); // Add a class to indicate the modal is open.
14
+ modal.classList.toggle('has-modal-open', !isHidden);
15
+ dialogContainer.toggleAttribute('aria-modal', !isHidden);
16
+
17
+ if (isHidden) {
18
+ dialogContainer.removeAttribute('role');
19
+ dialogContainer.removeAttribute('aria-modal');
20
+ } else {
21
+ dialogContainer.setAttribute('role', 'dialog');
22
+ dialogContainer.setAttribute('aria-modal', 'true');
23
+ } // Add a class to indicate the modal is open.
24
+
20
25
 
21
26
  const htmlElement = document.documentElement;
22
27
  htmlElement.classList.toggle('has-modal-open');
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["navigationToggleModal","modal","triggerButton","document","querySelector","id","closeButton","isHidden","getAttribute","setAttribute","classList","toggle","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","addEventListener","MicroModal","init","onShow","onClose","openClass","submenuButtons","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":";;;;AAGA;;AAHA;AACA;AACA;AAGA;AACA,SAASA,qBAAT,CAAgCC,KAAhC,EAAwC;AACvC,QAAMC,aAAa,GAAGC,QAAQ,CAACC,aAAT,CACpB,mCAAmCH,KAAK,CAACI,EAAI,IADzB,CAAtB;AAGA,QAAMC,WAAW,GAAGL,KAAK,CAACG,aAAN,CAAqB,+BAArB,CAApB,CAJuC,CAKvC;AACA;;AACA,QAAMG,QAAQ,GAAG,WAAWN,KAAK,CAACO,YAAN,CAAoB,aAApB,CAA5B;AACAN,EAAAA,aAAa,CAACO,YAAd,CAA4B,eAA5B,EAA6C,CAAEF,QAA/C;AACAD,EAAAA,WAAW,CAACG,YAAZ,CAA0B,eAA1B,EAA2C,CAAEF,QAA7C;AACAN,EAAAA,KAAK,CAACS,SAAN,CAAgBC,MAAhB,CAAwB,gBAAxB,EAA0C,CAAEJ,QAA5C,EAVuC,CAYvC;;AACA,QAAMK,WAAW,GAAGT,QAAQ,CAACU,eAA7B;AACAD,EAAAA,WAAW,CAACF,SAAZ,CAAsBC,MAAtB,CAA8B,gBAA9B;AACA,C,CAED;;;AACA,SAASG,aAAT,CAAwBC,OAAxB,EAAkC;AACjCA,EAAAA,OAAO,CACLC,gBADF,CACoB,wBADpB,EAEEC,OAFF,CAEW,UAAWN,MAAX,EAAoB;AAC7BA,IAAAA,MAAM,CAACF,YAAP,CAAqB,eAArB,EAAsC,OAAtC;AACA,GAJF;AAKA;;AAED,SAASS,oBAAT,CAA+BC,KAA/B,EAAuC;AACtC,QAAMC,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAsB,iBAAtB,CAArB;AACA,QAAMC,aAAa,GAAGH,YAAY,CAACZ,YAAb,CAA2B,eAA3B,CAAtB;;AAEA,MAAKe,aAAa,KAAK,MAAvB,EAAgC;AAC/BT,IAAAA,aAAa,CAAEM,YAAY,CAACE,OAAb,CAAsB,2BAAtB,CAAF,CAAb;AACA,GAFD,MAEO;AACN;AACA,UAAME,aAAa,GAAGJ,YAAY,CAACE,OAAb,CACrB,2BADqB,CAAtB;AAGA,UAAMG,gBAAgB,GAAGL,YAAY,CAACE,OAAb,CACxB,+FADwB,CAAzB;AAGAG,IAAAA,gBAAgB,CACdT,gBADF,CACoB,2BADpB,EAEEC,OAFF,CAEW,UAAWS,KAAX,EAAmB;AAC5B,UAAKA,KAAK,KAAKF,aAAf,EAA+B;AAC9BV,QAAAA,aAAa,CAAEY,KAAF,CAAb;AACA;AACD,KANF,EARM,CAeN;;AACAN,IAAAA,YAAY,CAACX,YAAb,CAA2B,eAA3B,EAA4C,MAA5C;AACA;AACD,C,CAED;AACA;;;AACAkB,MAAM,CAACC,gBAAP,CAAyB,MAAzB,EAAiC,MAAM;AACtCC,sBAAWC,IAAX,CAAiB;AAChBC,IAAAA,MAAM,EAAE/B,qBADQ;AAEhBgC,IAAAA,OAAO,EAAEhC,qBAFO;AAGhBiC,IAAAA,SAAS,EAAE;AAHK,GAAjB;;AAMA,QAAMC,cAAc,GAAG/B,QAAQ,CAACa,gBAAT,CACtB,sCADsB,CAAvB;AAIAkB,EAAAA,cAAc,CAACjB,OAAf,CAAwB,UAAWkB,MAAX,EAAoB;AAC3CA,IAAAA,MAAM,CAACP,gBAAP,CAAyB,OAAzB,EAAkCV,oBAAlC;AACA,GAFD,EAXsC,CAetC;;AACAf,EAAAA,QAAQ,CAACyB,gBAAT,CAA2B,OAA3B,EAAoC,UAAWT,KAAX,EAAmB;AACtD,UAAMiB,gBAAgB,GAAGjC,QAAQ,CAACa,gBAAT,CACxB,sBADwB,CAAzB;AAGAoB,IAAAA,gBAAgB,CAACnB,OAAjB,CAA0B,UAAWoB,KAAX,EAAmB;AAC5C,UAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBnB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCP,QAAAA,aAAa,CAAEuB,KAAF,CAAb;AACA;AACD,KAJD;AAKA,GATD,EAhBsC,CA0BtC;;AACAlC,EAAAA,QAAQ,CAACyB,gBAAT,CAA2B,OAA3B,EAAoC,UAAWT,KAAX,EAAmB;AACtD,UAAMoB,aAAa,GAAGpC,QAAQ,CAACa,gBAAT,CACrB,qCADqB,CAAtB;AAGAuB,IAAAA,aAAa,CAACtB,OAAd,CAAuB,UAAWoB,KAAX,EAAmB;AACzC,UAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBnB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCP,QAAAA,aAAa,CAAEuB,KAAF,CAAb;AACA;AACD,KAJD;AAKA,GATD;AAUA,CArCD","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst triggerButton = document.querySelector(\n\t\t`button[data-micromodal-trigger=\"${ modal.id }\"]`\n\t);\n\tconst closeButton = modal.querySelector( 'button[data-micromodal-close]' );\n\t// Use aria-hidden to determine the status of the modal, as this attribute is\n\t// managed by micromodal.\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\ttriggerButton.setAttribute( 'aria-expanded', ! isHidden );\n\tcloseButton.setAttribute( 'aria-expanded', ! isHidden );\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["navigationToggleModal","modal","dialogContainer","document","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","addEventListener","MicroModal","init","onShow","onClose","openClass","submenuButtons","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":";;;;AAGA;;AAHA;AACA;AACA;AAGA;AACA,SAASA,qBAAT,CAAgCC,KAAhC,EAAwC;AACvC,QAAMC,eAAe,GAAGC,QAAQ,CAACC,aAAT,CACtB,yCADsB,CAAxB;AAIA,QAAMC,QAAQ,GAAG,WAAWJ,KAAK,CAACK,YAAN,CAAoB,aAApB,CAA5B;AAEAL,EAAAA,KAAK,CAACM,SAAN,CAAgBC,MAAhB,CAAwB,gBAAxB,EAA0C,CAAEH,QAA5C;AACAH,EAAAA,eAAe,CAACO,eAAhB,CAAiC,YAAjC,EAA+C,CAAEJ,QAAjD;;AAEA,MAAKA,QAAL,EAAgB;AACfH,IAAAA,eAAe,CAACQ,eAAhB,CAAiC,MAAjC;AACAR,IAAAA,eAAe,CAACQ,eAAhB,CAAiC,YAAjC;AACA,GAHD,MAGO;AACNR,IAAAA,eAAe,CAACS,YAAhB,CAA8B,MAA9B,EAAsC,QAAtC;AACAT,IAAAA,eAAe,CAACS,YAAhB,CAA8B,YAA9B,EAA4C,MAA5C;AACA,GAhBsC,CAkBvC;;;AACA,QAAMC,WAAW,GAAGT,QAAQ,CAACU,eAA7B;AACAD,EAAAA,WAAW,CAACL,SAAZ,CAAsBC,MAAtB,CAA8B,gBAA9B;AACA,C,CAED;;;AACA,SAASM,aAAT,CAAwBC,OAAxB,EAAkC;AACjCA,EAAAA,OAAO,CACLC,gBADF,CACoB,wBADpB,EAEEC,OAFF,CAEW,UAAWT,MAAX,EAAoB;AAC7BA,IAAAA,MAAM,CAACG,YAAP,CAAqB,eAArB,EAAsC,OAAtC;AACA,GAJF;AAKA;;AAED,SAASO,oBAAT,CAA+BC,KAA/B,EAAuC;AACtC,QAAMC,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAsB,iBAAtB,CAArB;AACA,QAAMC,aAAa,GAAGH,YAAY,CAACd,YAAb,CAA2B,eAA3B,CAAtB;;AAEA,MAAKiB,aAAa,KAAK,MAAvB,EAAgC;AAC/BT,IAAAA,aAAa,CAAEM,YAAY,CAACE,OAAb,CAAsB,2BAAtB,CAAF,CAAb;AACA,GAFD,MAEO;AACN;AACA,UAAME,aAAa,GAAGJ,YAAY,CAACE,OAAb,CACrB,2BADqB,CAAtB;AAGA,UAAMG,gBAAgB,GAAGL,YAAY,CAACE,OAAb,CACxB,+FADwB,CAAzB;AAGAG,IAAAA,gBAAgB,CACdT,gBADF,CACoB,2BADpB,EAEEC,OAFF,CAEW,UAAWS,KAAX,EAAmB;AAC5B,UAAKA,KAAK,KAAKF,aAAf,EAA+B;AAC9BV,QAAAA,aAAa,CAAEY,KAAF,CAAb;AACA;AACD,KANF,EARM,CAeN;;AACAN,IAAAA,YAAY,CAACT,YAAb,CAA2B,eAA3B,EAA4C,MAA5C;AACA;AACD,C,CAED;AACA;;;AACAgB,MAAM,CAACC,gBAAP,CAAyB,MAAzB,EAAiC,MAAM;AACtCC,sBAAWC,IAAX,CAAiB;AAChBC,IAAAA,MAAM,EAAE/B,qBADQ;AAEhBgC,IAAAA,OAAO,EAAEhC,qBAFO;AAGhBiC,IAAAA,SAAS,EAAE;AAHK,GAAjB;;AAMA,QAAMC,cAAc,GAAG/B,QAAQ,CAACa,gBAAT,CACtB,sCADsB,CAAvB;AAIAkB,EAAAA,cAAc,CAACjB,OAAf,CAAwB,UAAWkB,MAAX,EAAoB;AAC3CA,IAAAA,MAAM,CAACP,gBAAP,CAAyB,OAAzB,EAAkCV,oBAAlC;AACA,GAFD,EAXsC,CAetC;;AACAf,EAAAA,QAAQ,CAACyB,gBAAT,CAA2B,OAA3B,EAAoC,UAAWT,KAAX,EAAmB;AACtD,UAAMiB,gBAAgB,GAAGjC,QAAQ,CAACa,gBAAT,CACxB,sBADwB,CAAzB;AAGAoB,IAAAA,gBAAgB,CAACnB,OAAjB,CAA0B,UAAWoB,KAAX,EAAmB;AAC5C,UAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBnB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCP,QAAAA,aAAa,CAAEuB,KAAF,CAAb;AACA;AACD,KAJD;AAKA,GATD,EAhBsC,CA0BtC;;AACAlC,EAAAA,QAAQ,CAACyB,gBAAT,CAA2B,OAA3B,EAAoC,UAAWT,KAAX,EAAmB;AACtD,UAAMoB,aAAa,GAAGpC,QAAQ,CAACa,gBAAT,CACrB,qCADqB,CAAtB;AAGAuB,IAAAA,aAAa,CAACtB,OAAd,CAAuB,UAAWoB,KAAX,EAAmB;AACzC,UAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBnB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCP,QAAAA,aAAa,CAAEuB,KAAF,CAAb;AACA;AACD,KAJD;AAKA,GATD;AAUA,CArCD","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = document.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
@@ -9,6 +9,8 @@ exports.default = PostTemplateEdit;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _classnames = _interopRequireDefault(require("classnames"));
13
15
 
14
16
  var _data = require("@wordpress/data");
@@ -37,7 +39,37 @@ function PostTemplateInnerBlocks() {
37
39
  return (0, _element.createElement)("li", innerBlocksProps);
38
40
  }
39
41
 
40
- function PostTemplateEdit(_ref) {
42
+ function PostTemplateBlockPreview(_ref) {
43
+ let {
44
+ blocks,
45
+ blockContextId,
46
+ isHidden,
47
+ setActiveBlockContextId
48
+ } = _ref;
49
+ const blockPreviewProps = (0, _blockEditor.__experimentalUseBlockPreview)({
50
+ blocks
51
+ });
52
+
53
+ const handleOnClick = () => {
54
+ setActiveBlockContextId(blockContextId);
55
+ };
56
+
57
+ const style = {
58
+ display: isHidden ? 'none' : undefined
59
+ };
60
+ return (0, _element.createElement)("li", (0, _extends2.default)({}, blockPreviewProps, {
61
+ tabIndex: 0 // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
62
+ ,
63
+ role: "button",
64
+ onClick: handleOnClick,
65
+ onKeyPress: handleOnClick,
66
+ style: style
67
+ }));
68
+ }
69
+
70
+ const MemoizedPostTemplateBlockPreview = (0, _element.memo)(PostTemplateBlockPreview);
71
+
72
+ function PostTemplateEdit(_ref2) {
41
73
  let {
42
74
  clientId,
43
75
  context: {
@@ -64,11 +96,11 @@ function PostTemplateEdit(_ref) {
64
96
  columns = 1
65
97
  } = {}
66
98
  }
67
- } = _ref;
99
+ } = _ref2;
68
100
  const [{
69
101
  page
70
102
  }] = queryContext;
71
- const [activeBlockContext, setActiveBlockContext] = (0, _element.useState)();
103
+ const [activeBlockContextId, setActiveBlockContextId] = (0, _element.useState)();
72
104
  const {
73
105
  posts,
74
106
  blocks
@@ -142,15 +174,24 @@ function PostTemplateEdit(_ref) {
142
174
 
143
175
  if (!posts.length) {
144
176
  return (0, _element.createElement)("p", blockProps, " ", (0, _i18n.__)('No results found.'));
145
- }
146
-
147
- return (0, _element.createElement)("ul", blockProps, blockContexts && blockContexts.map(blockContext => (0, _element.createElement)(_blockEditor.BlockContextProvider, {
148
- key: blockContext.postId,
149
- value: blockContext
150
- }, blockContext === (activeBlockContext || blockContexts[0]) ? (0, _element.createElement)(PostTemplateInnerBlocks, null) : (0, _element.createElement)("li", null, (0, _element.createElement)(_blockEditor.BlockPreview, {
151
- blocks: blocks,
152
- __experimentalLive: true,
153
- __experimentalOnClick: () => setActiveBlockContext(blockContext)
154
- })))));
177
+ } // To avoid flicker when switching active block contexts, a preview is rendered
178
+ // for each block context, but the preview for the active block context is hidden.
179
+ // This ensures that when it is displayed again, the cached rendering of the
180
+ // block preview is used, instead of having to re-render the preview from scratch.
181
+
182
+
183
+ return (0, _element.createElement)("ul", blockProps, blockContexts && blockContexts.map(blockContext => {
184
+ var _blockContexts$, _blockContexts$2;
185
+
186
+ return (0, _element.createElement)(_blockEditor.BlockContextProvider, {
187
+ key: blockContext.postId,
188
+ value: blockContext
189
+ }, blockContext.postId === (activeBlockContextId || ((_blockContexts$ = blockContexts[0]) === null || _blockContexts$ === void 0 ? void 0 : _blockContexts$.postId)) ? (0, _element.createElement)(PostTemplateInnerBlocks, null) : null, (0, _element.createElement)(MemoizedPostTemplateBlockPreview, {
190
+ blocks: blocks,
191
+ blockContextId: blockContext.postId,
192
+ setActiveBlockContextId: setActiveBlockContextId,
193
+ isHidden: blockContext.postId === (activeBlockContextId || ((_blockContexts$2 = blockContexts[0]) === null || _blockContexts$2 === void 0 ? void 0 : _blockContexts$2.postId))
194
+ }));
195
+ }));
155
196
  }
156
197
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-template/edit.js"],"names":["TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","template","PostTemplateEdit","clientId","context","query","perPage","offset","categoryIds","postType","tagIds","order","orderBy","author","search","exclude","sticky","inherit","queryContext","page","templateSlug","displayLayout","type","layoutType","columns","activeBlockContext","setActiveBlockContext","posts","blocks","select","getEntityRecords","coreStore","getBlocks","blockEditorStore","categories","tags","orderby","per_page","length","startsWith","replace","blockContexts","map","post","postId","id","hasLayoutFlex","blockProps","className","blockContext"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AACA;;AAOA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;AAcA,MAAMA,QAAQ,GAAG,CAChB,CAAE,iBAAF,CADgB,EAEhB,CAAE,gBAAF,CAFgB,EAGhB,CAAE,mBAAF,CAHgB,CAAjB;;AAMA,SAASC,uBAAT,GAAmC;AAClC,QAAMC,gBAAgB,GAAG,sCAAqB,EAArB,EAAyB;AAAEC,IAAAA,QAAQ,EAAEH;AAAZ,GAAzB,CAAzB;AACA,SAAO,kCAASE,gBAAT,CAAP;AACA;;AAEc,SAASE,gBAAT,OAqBX;AAAA,MArBsC;AACzCC,IAAAA,QADyC;AAEzCC,IAAAA,OAAO,EAAE;AACRC,MAAAA,KAAK,EAAE;AACNC,QAAAA,OADM;AAENC,QAAAA,MAFM;AAGNC,QAAAA,WAAW,GAAG,EAHR;AAINC,QAAAA,QAJM;AAKNC,QAAAA,MAAM,GAAG,EALH;AAMNC,QAAAA,KANM;AAONC,QAAAA,OAPM;AAQNC,QAAAA,MARM;AASNC,QAAAA,MATM;AAUNC,QAAAA,OAVM;AAWNC,QAAAA,MAXM;AAYNC,QAAAA;AAZM,UAaH,EAdI;AAeRC,MAAAA,YAAY,GAAG,CAAE;AAAEC,QAAAA,IAAI,EAAE;AAAR,OAAF,CAfP;AAgBRC,MAAAA,YAhBQ;AAiBRC,MAAAA,aAAa,EAAE;AAAEC,QAAAA,IAAI,EAAEC,UAAU,GAAG,MAArB;AAA6BC,QAAAA,OAAO,GAAG;AAAvC,UAA6C;AAjBpD;AAFgC,GAqBtC;AACH,QAAM,CAAE;AAAEL,IAAAA;AAAF,GAAF,IAAeD,YAArB;AACA,QAAM,CAAEO,kBAAF,EAAsBC,qBAAtB,IAAgD,wBAAtD;AAEA,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAoB,qBACvBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAEE,eAAF,CAAnC;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAgBH,MAAM,CAAEI,kBAAF,CAA5B;AACA,UAAM5B,KAAK,GAAG;AACbE,MAAAA,MAAM,EAAED,OAAO,GAAGA,OAAO,IAAKa,IAAI,GAAG,CAAZ,CAAP,GAAyBZ,MAA5B,GAAqC,CADvC;AAEb2B,MAAAA,UAAU,EAAE1B,WAFC;AAGb2B,MAAAA,IAAI,EAAEzB,MAHO;AAIbC,MAAAA,KAJa;AAKbyB,MAAAA,OAAO,EAAExB;AALI,KAAd;;AAOA,QAAKN,OAAL,EAAe;AACdD,MAAAA,KAAK,CAACgC,QAAN,GAAiB/B,OAAjB;AACA;;AACD,QAAKO,MAAL,EAAc;AACbR,MAAAA,KAAK,CAACQ,MAAN,GAAeA,MAAf;AACA;;AACD,QAAKC,MAAL,EAAc;AACbT,MAAAA,KAAK,CAACS,MAAN,GAAeA,MAAf;AACA;;AACD,QAAKC,OAAL,aAAKA,OAAL,eAAKA,OAAO,CAAEuB,MAAd,EAAuB;AACtBjC,MAAAA,KAAK,CAACU,OAAN,GAAgBA,OAAhB;AACA,KArBY,CAsBb;AACA;AACA;;;AACA,QAAKC,MAAL,EAAc;AACbX,MAAAA,KAAK,CAACW,MAAN,GAAeA,MAAM,KAAK,MAA1B;AACA,KA3BY,CA4Bb;;;AACA,QAAKC,OAAL,EAAe;AACd;AACA,UAAKG,YAAL,aAAKA,YAAL,eAAKA,YAAY,CAAEmB,UAAd,CAA0B,UAA1B,CAAL,EAA8C;AAC7ClC,QAAAA,KAAK,CAACI,QAAN,GAAiBW,YAAY,CAACoB,OAAb,CAAsB,UAAtB,EAAkC,EAAlC,CAAjB;AACA/B,QAAAA,QAAQ,GAAGJ,KAAK,CAACI,QAAjB;AACA;AACD;;AACD,WAAO;AACNkB,MAAAA,KAAK,EAAEG,gBAAgB,CAAE,UAAF,EAAcrB,QAAd,EAAwBJ,KAAxB,CADjB;AAENuB,MAAAA,MAAM,EAAEI,SAAS,CAAE7B,QAAF;AAFX,KAAP;AAIA,GAzCwB,EA0CzB,CACCG,OADD,EAECa,IAFD,EAGCZ,MAHD,EAICC,WAJD,EAKCE,MALD,EAMCC,KAND,EAOCC,OAPD,EAQCT,QARD,EASCU,MATD,EAUCC,MAVD,EAWCL,QAXD,EAYCM,OAZD,EAaCC,MAbD,EAcCC,OAdD,EAeCG,YAfD,CA1CyB,CAA1B;AA6DA,QAAMqB,aAAa,GAAG,sBACrB,MACCd,KADD,aACCA,KADD,uBACCA,KAAK,CAAEe,GAAP,CAAcC,IAAF,KAAc;AACzBlC,IAAAA,QAAQ,EAAEkC,IAAI,CAACrB,IADU;AAEzBsB,IAAAA,MAAM,EAAED,IAAI,CAACE;AAFY,GAAd,CAAZ,CAFoB,EAMrB,CAAElB,KAAF,CANqB,CAAtB;AAQA,QAAMmB,aAAa,GAAGvB,UAAU,KAAK,MAAf,IAAyBC,OAAO,GAAG,CAAzD;AACA,QAAMuB,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,2BAAqBF,aADC;AAEtB,OAAG,WAAWtB,OAAS,EAAvB,GAA4BsB;AAFN,KAAZ;AADsB,GAAf,CAAnB;;AAOA,MAAK,CAAEnB,KAAP,EAAe;AACd,WACC,iCAAQoB,UAAR,EACC,4BAAC,mBAAD,OADD,CADD;AAKA;;AAED,MAAK,CAAEpB,KAAK,CAACW,MAAb,EAAsB;AACrB,WAAO,iCAAQS,UAAR,OAAwB,cAAI,mBAAJ,CAAxB,CAAP;AACA;;AAED,SACC,kCAASA,UAAT,EACGN,aAAa,IACdA,aAAa,CAACC,GAAd,CAAqBO,YAAF,IAClB,4BAAC,iCAAD;AACC,IAAA,GAAG,EAAGA,YAAY,CAACL,MADpB;AAEC,IAAA,KAAK,EAAGK;AAFT,KAIGA,YAAY,MACZxB,kBAAkB,IAAIgB,aAAa,CAAE,CAAF,CADvB,CAAZ,GAED,4BAAC,uBAAD,OAFC,GAID,wCACC,4BAAC,yBAAD;AACC,IAAA,MAAM,EAAGb,MADV;AAEC,IAAA,kBAAkB,MAFnB;AAGC,IAAA,qBAAqB,EAAG,MACvBF,qBAAqB,CAAEuB,YAAF;AAJvB,IADD,CARF,CADD,CAFF,CADD;AA0BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\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( {}, { template: TEMPLATE } );\n\treturn <li { ...innerBlocksProps } />;\n}\n\nexport default function PostTemplateEdit( {\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\tcategoryIds = [],\n\t\t\tpostType,\n\t\t\ttagIds = [],\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} = {},\n\t\tqueryContext = [ { page: 1 } ],\n\t\ttemplateSlug,\n\t\tdisplayLayout: { type: layoutType = 'flex', columns = 1 } = {},\n\t},\n} ) {\n\tconst [ { page } ] = queryContext;\n\tconst [ activeBlockContext, setActiveBlockContext ] = useState();\n\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst query = {\n\t\t\t\toffset: perPage ? perPage * ( page - 1 ) + offset : 0,\n\t\t\t\tcategories: categoryIds,\n\t\t\t\ttags: tagIds,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\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\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}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', postType, query ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\tpage,\n\t\t\toffset,\n\t\t\tcategoryIds,\n\t\t\ttagIds,\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]\n\t);\n\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\tconst hasLayoutFlex = layoutType === 'flex' && columns > 1;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-flex-container': hasLayoutFlex,\n\t\t\t[ `columns-${ columns }` ]: hasLayoutFlex,\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\treturn (\n\t\t<ul { ...blockProps }>\n\t\t\t{ blockContexts &&\n\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockContext ===\n\t\t\t\t\t\t( activeBlockContext || blockContexts[ 0 ] ) ? (\n\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t__experimentalLive\n\t\t\t\t\t\t\t\t\t__experimentalOnClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetActiveBlockContext( blockContext )\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</li>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-template/edit.js"],"names":["TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","template","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","handleOnClick","style","display","undefined","MemoizedPostTemplateBlockPreview","PostTemplateEdit","clientId","context","query","perPage","offset","categoryIds","postType","tagIds","order","orderBy","author","search","exclude","sticky","inherit","queryContext","page","templateSlug","displayLayout","type","layoutType","columns","activeBlockContextId","posts","select","getEntityRecords","coreStore","getBlocks","blockEditorStore","categories","tags","orderby","per_page","length","startsWith","replace","blockContexts","map","post","postId","id","hasLayoutFlex","blockProps","className","blockContext"],"mappings":"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","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\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\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( {}, { template: TEMPLATE } );\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} );\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\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\tcategoryIds = [],\n\t\t\tpostType,\n\t\t\ttagIds = [],\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} = {},\n\t\tqueryContext = [ { page: 1 } ],\n\t\ttemplateSlug,\n\t\tdisplayLayout: { type: layoutType = 'flex', columns = 1 } = {},\n\t},\n} ) {\n\tconst [ { page } ] = queryContext;\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst query = {\n\t\t\t\toffset: perPage ? perPage * ( page - 1 ) + offset : 0,\n\t\t\t\tcategories: categoryIds,\n\t\t\t\ttags: tagIds,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\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\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}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', postType, query ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\tpage,\n\t\t\toffset,\n\t\t\tcategoryIds,\n\t\t\ttagIds,\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]\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\tconst hasLayoutFlex = layoutType === 'flex' && columns > 1;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-flex-container': hasLayoutFlex,\n\t\t\t[ `columns-${ columns }` ]: hasLayoutFlex,\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\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<ul { ...blockProps }>\n\t\t\t{ blockContexts &&\n\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\tsetActiveBlockContextId={ setActiveBlockContextId }\n\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
@@ -155,9 +155,12 @@ const SiteLogo = _ref => {
155
155
  height
156
156
  }
157
157
  }, imgWrapper);
158
- }
158
+ } // Set the default width to a responsible size.
159
+ // Note that this width is also set in the attached frontend CSS file.
160
+
159
161
 
160
- const currentWidth = width || imageWidthWithinContainer;
162
+ const defaultWidth = 120;
163
+ const currentWidth = width || defaultWidth;
161
164
  const ratio = naturalWidth / naturalHeight;
162
165
  const currentHeight = currentWidth / ratio;
163
166
  const minWidth = naturalWidth < naturalHeight ? _constants.MIN_SIZE : _constants.MIN_SIZE * ratio;
@@ -171,10 +174,7 @@ const SiteLogo = _ref => {
171
174
  // @todo It would be good to revisit this once a content-width variable
172
175
  // becomes available.
173
176
 
174
- const maxWidthBuffer = maxWidth * 2.5; // Set the default width to a responsible size.
175
- // Note that this width is also set in the attached CSS file.
176
-
177
- const defaultWidth = 120;
177
+ const maxWidthBuffer = maxWidth * 2.5;
178
178
  let showRightHandle = false;
179
179
  let showLeftHandle = false;
180
180
  /* eslint-disable no-lonely-if */
@@ -374,6 +374,9 @@ function LogoEdit(_ref2) {
374
374
  const onRemoveLogo = () => {
375
375
  setLogo(null);
376
376
  setLogoUrl(undefined);
377
+ setAttributes({
378
+ width: undefined
379
+ });
377
380
  };
378
381
 
379
382
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","blockEditorStore","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","coreStore","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","defaultWidth","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","newWidth","Math","min","value","crop","LogoEdit","className","setLogoUrl","ref","siteLogoId","canUserEdit","url","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","newValue","undefined","onSelectLogo","media","onRemoveLogo","createErrorNotice","noticesStore","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open","upload"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageEditing', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\tconst currentWidth = width || imageWidthWithinContainer;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached CSS file.\n\tconst defaultWidth = 120;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tisEditing={ isEditingImage }\n\t\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t\t>\n\t\t\t\t<ImageEditor\n\t\t\t\t\turl={ logoUrl }\n\t\t\t\t\twidth={ currentWidth }\n\t\t\t\t\theight={ currentHeight }\n\t\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t</ImageEditingProvider>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\tid: mediaItem.id,\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst setLogo = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\tconst onSelectLogo = ( media ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t>\n\t\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t<SVG\n\t\t\t\t\t\tclassName=\"components-placeholder__illustration\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 60 60\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t\t\td=\"m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","blockEditorStore","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","coreStore","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","newWidth","Math","min","value","crop","LogoEdit","className","setLogoUrl","ref","siteLogoId","canUserEdit","url","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","newValue","undefined","onSelectLogo","media","onRemoveLogo","createErrorNotice","noticesStore","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open","upload"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageEditing', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tisEditing={ isEditingImage }\n\t\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t\t>\n\t\t\t\t<ImageEditor\n\t\t\t\t\turl={ logoUrl }\n\t\t\t\t\twidth={ currentWidth }\n\t\t\t\t\theight={ currentHeight }\n\t\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t</ImageEditingProvider>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\tid: mediaItem.id,\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst setLogo = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\tconst onSelectLogo = ( media ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t>\n\t\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t<SVG\n\t\t\t\t\t\tclassName=\"components-placeholder__illustration\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 60 60\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t\t\td=\"m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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) }\n\t\t</div>\n\t);\n}\n"]}
@@ -26,9 +26,6 @@ const metadata = {
26
26
  description: "Display a graphic to represent this site. Update the block, and the changes apply everywhere it\u2019s used. This is different than the site icon, which is the smaller image visible in your dashboard, browser tabs, etc used to help others recognize this site.",
27
27
  textdomain: "default",
28
28
  attributes: {
29
- align: {
30
- type: "string"
31
- },
32
29
  width: {
33
30
  type: "number"
34
31
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-logo/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -9,6 +9,8 @@ exports.default = TemplatePartEdit;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
+ var _lodash = require("lodash");
13
+
12
14
  var _data = require("@wordpress/data");
13
15
 
14
16
  var _blockEditor = require("@wordpress/block-editor");
@@ -29,6 +31,10 @@ var _innerBlocks = _interopRequireDefault(require("./inner-blocks"));
29
31
 
30
32
  var _createTemplatePartId = require("./utils/create-template-part-id");
31
33
 
34
+ /**
35
+ * External dependencies
36
+ */
37
+
32
38
  /**
33
39
  * WordPress dependencies
34
40
  */
@@ -98,7 +104,7 @@ function TemplatePartEdit(_ref) {
98
104
  return {
99
105
  innerBlocks: getBlocks(clientId),
100
106
  isResolved: hasResolvedEntity,
101
- isMissing: hasResolvedEntity && !entityRecord,
107
+ isMissing: hasResolvedEntity && (0, _lodash.isEmpty)(entityRecord),
102
108
  defaultWrapper: defaultWrapperElement || 'div',
103
109
  area: _area,
104
110
  enableSelection: _enableSelection,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","RecursionProvider","isResolved","innerBlocks","isMissing","defaultWrapper","area","enableSelection","hasResolvedReplacements","select","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","availableReplacementArgs","matchingReplacements","_enableSelection","length","hasResolvedEntity","defaultWrapperElement","__experimentalGetDefaultTemplatePartAreas","find","value","area_tag","blockProps","isPlaceholder","isEntityAvailable","TagName","isOpen","onToggle","onClose"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelection from './selection';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\ttemplatePartId\n\t);\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst {\n\t\tisResolved,\n\t\tinnerBlocks,\n\t\tisMissing,\n\t\tdefaultWrapper,\n\t\tarea,\n\t\tenableSelection,\n\t\thasResolvedReplacements,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\n\t\t\t// Check whether other entities exist for switching/selection.\n\t\t\tconst availableReplacementArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t_area && 'uncategorized' !== _area && { area: _area },\n\t\t\t];\n\t\t\tconst matchingReplacements = getEntityRecords(\n\t\t\t\t...availableReplacementArgs\n\t\t\t);\n\t\t\tconst _enableSelection = templatePartId\n\t\t\t\t? matchingReplacements?.length > 1\n\t\t\t\t: matchingReplacements?.length > 0;\n\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst defaultWrapperElement = select( 'core/editor' )\n\t\t\t\t.__experimentalGetDefaultTemplatePartAreas()\n\t\t\t\t.find( ( { area: value } ) => value === _area )?.area_tag;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && ! entityRecord,\n\t\t\t\tdefaultWrapper: defaultWrapperElement || 'div',\n\t\t\t\tarea: _area,\n\t\t\t\tenableSelection: _enableSelection,\n\t\t\t\thasResolvedReplacements: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tavailableReplacementArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || defaultWrapper;\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t<TemplatePartAdvancedControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\tdefaultWrapper={ defaultWrapper }\n\t\t\t/>\n\t\t\t{ isPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tenableSelection={ enableSelection }\n\t\t\t\t\t\thasResolvedReplacements={ hasResolvedReplacements }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && enableSelection && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tclassName=\"wp-block-template-part__preview-dropdown-button\"\n\t\t\t\t\t\t\tcontentClassName=\"wp-block-template-part__preview-dropdown-content\"\n\t\t\t\t\t\t\tposition=\"bottom right left\"\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<TemplatePartSelection\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\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</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","RecursionProvider","isResolved","innerBlocks","isMissing","defaultWrapper","area","enableSelection","hasResolvedReplacements","select","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","availableReplacementArgs","matchingReplacements","_enableSelection","length","hasResolvedEntity","defaultWrapperElement","__experimentalGetDefaultTemplatePartAreas","find","value","area_tag","blockProps","isPlaceholder","isEntityAvailable","TagName","isOpen","onToggle","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelection from './selection';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\ttemplatePartId\n\t);\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst {\n\t\tisResolved,\n\t\tinnerBlocks,\n\t\tisMissing,\n\t\tdefaultWrapper,\n\t\tarea,\n\t\tenableSelection,\n\t\thasResolvedReplacements,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\n\t\t\t// Check whether other entities exist for switching/selection.\n\t\t\tconst availableReplacementArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t_area && 'uncategorized' !== _area && { area: _area },\n\t\t\t];\n\t\t\tconst matchingReplacements = getEntityRecords(\n\t\t\t\t...availableReplacementArgs\n\t\t\t);\n\t\t\tconst _enableSelection = templatePartId\n\t\t\t\t? matchingReplacements?.length > 1\n\t\t\t\t: matchingReplacements?.length > 0;\n\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst defaultWrapperElement = select( 'core/editor' )\n\t\t\t\t.__experimentalGetDefaultTemplatePartAreas()\n\t\t\t\t.find( ( { area: value } ) => value === _area )?.area_tag;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tdefaultWrapper: defaultWrapperElement || 'div',\n\t\t\t\tarea: _area,\n\t\t\t\tenableSelection: _enableSelection,\n\t\t\t\thasResolvedReplacements: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tavailableReplacementArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || defaultWrapper;\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t<TemplatePartAdvancedControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\tdefaultWrapper={ defaultWrapper }\n\t\t\t/>\n\t\t\t{ isPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tenableSelection={ enableSelection }\n\t\t\t\t\t\thasResolvedReplacements={ hasResolvedReplacements }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && enableSelection && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tclassName=\"wp-block-template-part__preview-dropdown-button\"\n\t\t\t\t\t\t\tcontentClassName=\"wp-block-template-part__preview-dropdown-content\"\n\t\t\t\t\t\t\tposition=\"bottom right left\"\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<TemplatePartSelection\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\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</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -87,7 +87,7 @@ export default compose([withSelect((select, _ref2) => {
87
87
  } = block;
88
88
  const selectedBlockClientId = getSelectedBlockClientId();
89
89
  const totalInnerBlocks = innerBlocks.length - 1;
90
- const blockIndex = getBlockIndex(selectedBlockClientId, clientId);
90
+ const blockIndex = getBlockIndex(selectedBlockClientId);
91
91
  isLastInnerBlockSelected = totalInnerBlocks === blockIndex;
92
92
  }
93
93
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/edit.native.js"],"names":["View","withSelect","compose","withPreferredColorScheme","useResizeObserver","InnerBlocks","store","blockEditorStore","useCallback","alignmentHelpers","styles","isFullWidth","GroupEdit","attributes","hasInnerBlocks","isSelected","isLastInnerBlockSelected","getStylesFromColorScheme","style","blockWidth","align","resizeObserver","sizes","width","renderAppender","groupAppender","fullwidthGroupAppender","fullwidthHasInnerGroupAppender","groupPlaceholder","groupPlaceholderDark","marginVerticalDense","marginHorizontalNone","innerBlocks","backgroundColor","hasBackgroundAppender","select","clientId","getBlock","getBlockIndex","hasSelectedInnerBlock","getBlockRootClientId","getSelectedBlockClientId","getBlockAttributes","block","length","isInnerBlockSelected","selectedBlockClientId","totalInnerBlocks","blockIndex","parentId","parentBlockAlignment"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport {\n\tcompose,\n\twithPreferredColorScheme,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction GroupEdit( {\n\tattributes,\n\thasInnerBlocks,\n\tisSelected,\n\tisLastInnerBlockSelected,\n\tgetStylesFromColorScheme,\n\tstyle,\n\tblockWidth,\n} ) {\n\tconst { align } = attributes;\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width } = sizes || { width: 0 };\n\n\tconst renderAppender = useCallback(\n\t\t() => (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! hasInnerBlocks && styles.groupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t! hasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthGroupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthHasInnerGroupAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t</View>\n\t\t),\n\t\t[ align, hasInnerBlocks ]\n\t);\n\n\tif ( ! isSelected && ! hasInnerBlocks ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.groupPlaceholder,\n\t\t\t\t\t\tstyles.groupPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\t! hasInnerBlocks && {\n\t\t\t\t\t\t...styles.marginVerticalDense,\n\t\t\t\t\t\t...styles.marginHorizontalNone,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tisSelected && hasInnerBlocks && styles.innerBlocks,\n\t\t\t\tstyle,\n\t\t\t\tisSelected &&\n\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.hasBackgroundAppender,\n\t\t\t\tisLastInnerBlockSelected &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.isLastInnerBlockSelected,\n\t\t\t] }\n\t\t>\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\trenderAppender={ isSelected && renderAppender }\n\t\t\t\tparentWidth={ width }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlock,\n\t\t\tgetBlockIndex,\n\t\t\thasSelectedInnerBlock,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst hasInnerBlocks = !! ( block && block.innerBlocks.length );\n\t\tconst isInnerBlockSelected =\n\t\t\thasInnerBlocks && hasSelectedInnerBlock( clientId, true );\n\t\tlet isLastInnerBlockSelected = false;\n\n\t\tif ( isInnerBlockSelected ) {\n\t\t\tconst { innerBlocks } = block;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst totalInnerBlocks = innerBlocks.length - 1;\n\t\t\tconst blockIndex = getBlockIndex( selectedBlockClientId, clientId );\n\t\t\tisLastInnerBlockSelected = totalInnerBlocks === blockIndex;\n\t\t}\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst parentBlockAlignment = getBlockAttributes( parentId )?.align;\n\n\t\treturn {\n\t\t\thasInnerBlocks,\n\t\t\tisLastInnerBlockSelected,\n\t\t\tparentBlockAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( GroupEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/edit.native.js"],"names":["View","withSelect","compose","withPreferredColorScheme","useResizeObserver","InnerBlocks","store","blockEditorStore","useCallback","alignmentHelpers","styles","isFullWidth","GroupEdit","attributes","hasInnerBlocks","isSelected","isLastInnerBlockSelected","getStylesFromColorScheme","style","blockWidth","align","resizeObserver","sizes","width","renderAppender","groupAppender","fullwidthGroupAppender","fullwidthHasInnerGroupAppender","groupPlaceholder","groupPlaceholderDark","marginVerticalDense","marginHorizontalNone","innerBlocks","backgroundColor","hasBackgroundAppender","select","clientId","getBlock","getBlockIndex","hasSelectedInnerBlock","getBlockRootClientId","getSelectedBlockClientId","getBlockAttributes","block","length","isInnerBlockSelected","selectedBlockClientId","totalInnerBlocks","blockIndex","parentId","parentBlockAlignment"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport {\n\tcompose,\n\twithPreferredColorScheme,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction GroupEdit( {\n\tattributes,\n\thasInnerBlocks,\n\tisSelected,\n\tisLastInnerBlockSelected,\n\tgetStylesFromColorScheme,\n\tstyle,\n\tblockWidth,\n} ) {\n\tconst { align } = attributes;\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width } = sizes || { width: 0 };\n\n\tconst renderAppender = useCallback(\n\t\t() => (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! hasInnerBlocks && styles.groupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t! hasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthGroupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthHasInnerGroupAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t</View>\n\t\t),\n\t\t[ align, hasInnerBlocks ]\n\t);\n\n\tif ( ! isSelected && ! hasInnerBlocks ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.groupPlaceholder,\n\t\t\t\t\t\tstyles.groupPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\t! hasInnerBlocks && {\n\t\t\t\t\t\t...styles.marginVerticalDense,\n\t\t\t\t\t\t...styles.marginHorizontalNone,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tisSelected && hasInnerBlocks && styles.innerBlocks,\n\t\t\t\tstyle,\n\t\t\t\tisSelected &&\n\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.hasBackgroundAppender,\n\t\t\t\tisLastInnerBlockSelected &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.isLastInnerBlockSelected,\n\t\t\t] }\n\t\t>\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\trenderAppender={ isSelected && renderAppender }\n\t\t\t\tparentWidth={ width }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlock,\n\t\t\tgetBlockIndex,\n\t\t\thasSelectedInnerBlock,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst hasInnerBlocks = !! ( block && block.innerBlocks.length );\n\t\tconst isInnerBlockSelected =\n\t\t\thasInnerBlocks && hasSelectedInnerBlock( clientId, true );\n\t\tlet isLastInnerBlockSelected = false;\n\n\t\tif ( isInnerBlockSelected ) {\n\t\t\tconst { innerBlocks } = block;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst totalInnerBlocks = innerBlocks.length - 1;\n\t\t\tconst blockIndex = getBlockIndex( selectedBlockClientId );\n\t\t\tisLastInnerBlockSelected = totalInnerBlocks === blockIndex;\n\t\t}\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst parentBlockAlignment = getBlockAttributes( parentId )?.align;\n\n\t\treturn {\n\t\t\thasInnerBlocks,\n\t\t\tisLastInnerBlockSelected,\n\t\t\tparentBlockAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( GroupEdit );\n"]}
@@ -38,8 +38,10 @@ const metadata = {
38
38
  },
39
39
  spacing: {
40
40
  padding: true,
41
+ blockGap: true,
41
42
  __experimentalDefaultControls: {
42
- padding: true
43
+ padding: true,
44
+ blockGap: true
43
45
  }
44
46
  },
45
47
  __experimentalBorder: {