@wordpress/edit-widgets 5.16.0 → 5.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/blocks/widget-area/edit/index.js +4 -16
  3. package/build/blocks/widget-area/edit/index.js.map +1 -1
  4. package/build/blocks/widget-area/edit/inner-blocks.js +5 -10
  5. package/build/blocks/widget-area/edit/inner-blocks.js.map +1 -1
  6. package/build/blocks/widget-area/edit/use-is-dragging-within.js +5 -10
  7. package/build/blocks/widget-area/edit/use-is-dragging-within.js.map +1 -1
  8. package/build/blocks/widget-area/index.js +0 -5
  9. package/build/blocks/widget-area/index.js.map +1 -1
  10. package/build/components/error-boundary/index.js +1 -15
  11. package/build/components/error-boundary/index.js.map +1 -1
  12. package/build/components/header/index.js +9 -32
  13. package/build/components/header/index.js.map +1 -1
  14. package/build/components/header/undo-redo/redo.js +3 -9
  15. package/build/components/header/undo-redo/redo.js.map +1 -1
  16. package/build/components/header/undo-redo/undo.js +3 -9
  17. package/build/components/header/undo-redo/undo.js.map +1 -1
  18. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  19. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  20. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -9
  21. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  22. package/build/components/keyboard-shortcut-help-modal/index.js +4 -20
  23. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  24. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -6
  25. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  26. package/build/components/keyboard-shortcuts/index.js +1 -18
  27. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  28. package/build/components/layout/index.js +2 -19
  29. package/build/components/layout/index.js.map +1 -1
  30. package/build/components/layout/interface.js +5 -21
  31. package/build/components/layout/interface.js.map +1 -1
  32. package/build/components/layout/unsaved-changes-warning.js +0 -6
  33. package/build/components/layout/unsaved-changes-warning.js.map +1 -1
  34. package/build/components/more-menu/index.js +2 -17
  35. package/build/components/more-menu/index.js.map +1 -1
  36. package/build/components/more-menu/tools-more-menu-group.js +1 -5
  37. package/build/components/more-menu/tools-more-menu-group.js.map +1 -1
  38. package/build/components/notices/index.js +1 -6
  39. package/build/components/notices/index.js.map +1 -1
  40. package/build/components/save-button/index.js +1 -7
  41. package/build/components/save-button/index.js.map +1 -1
  42. package/build/components/secondary-sidebar/index.js +1 -10
  43. package/build/components/secondary-sidebar/index.js.map +1 -1
  44. package/build/components/secondary-sidebar/inserter-sidebar.js +1 -11
  45. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  46. package/build/components/secondary-sidebar/list-view-sidebar.js +6 -15
  47. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  48. package/build/components/sidebar/index.js +12 -26
  49. package/build/components/sidebar/index.js.map +1 -1
  50. package/build/components/sidebar/widget-areas.js +1 -12
  51. package/build/components/sidebar/widget-areas.js.map +1 -1
  52. package/build/components/welcome-guide/index.js +3 -12
  53. package/build/components/welcome-guide/index.js.map +1 -1
  54. package/build/components/widget-areas-block-editor-content/index.js +1 -8
  55. package/build/components/widget-areas-block-editor-content/index.js.map +1 -1
  56. package/build/components/widget-areas-block-editor-provider/index.js +8 -23
  57. package/build/components/widget-areas-block-editor-provider/index.js.map +1 -1
  58. package/build/constants.js.map +1 -1
  59. package/build/filters/index.js +0 -1
  60. package/build/filters/index.js.map +1 -1
  61. package/build/filters/move-to-widget-area.js +3 -9
  62. package/build/filters/move-to-widget-area.js.map +1 -1
  63. package/build/filters/replace-media-upload.js +1 -3
  64. package/build/filters/replace-media-upload.js.map +1 -1
  65. package/build/hooks/use-last-selected-widget-area.js +5 -13
  66. package/build/hooks/use-last-selected-widget-area.js.map +1 -1
  67. package/build/hooks/use-widget-library-insertion-point.js +6 -14
  68. package/build/hooks/use-widget-library-insertion-point.js.map +1 -1
  69. package/build/index.js +6 -34
  70. package/build/index.js.map +1 -1
  71. package/build/lock-unlock.js +1 -2
  72. package/build/lock-unlock.js.map +1 -1
  73. package/build/store/actions.js +41 -79
  74. package/build/store/actions.js.map +1 -1
  75. package/build/store/constants.js +0 -1
  76. package/build/store/constants.js.map +1 -1
  77. package/build/store/index.js +4 -15
  78. package/build/store/index.js.map +1 -1
  79. package/build/store/reducer.js +4 -16
  80. package/build/store/reducer.js.map +1 -1
  81. package/build/store/resolvers.js +1 -17
  82. package/build/store/resolvers.js.map +1 -1
  83. package/build/store/selectors.js +28 -49
  84. package/build/store/selectors.js.map +1 -1
  85. package/build/store/transformers.js +7 -16
  86. package/build/store/transformers.js.map +1 -1
  87. package/build/store/utils.js +7 -16
  88. package/build/store/utils.js.map +1 -1
  89. package/build-module/blocks/widget-area/edit/index.js +5 -8
  90. package/build-module/blocks/widget-area/edit/index.js.map +1 -1
  91. package/build-module/blocks/widget-area/edit/inner-blocks.js +6 -6
  92. package/build-module/blocks/widget-area/edit/inner-blocks.js.map +1 -1
  93. package/build-module/blocks/widget-area/edit/use-is-dragging-within.js +6 -9
  94. package/build-module/blocks/widget-area/edit/use-is-dragging-within.js.map +1 -1
  95. package/build-module/blocks/widget-area/index.js +1 -1
  96. package/build-module/blocks/widget-area/index.js.map +1 -1
  97. package/build-module/components/error-boundary/index.js +0 -9
  98. package/build-module/components/error-boundary/index.js.map +1 -1
  99. package/build-module/components/header/index.js +9 -17
  100. package/build-module/components/header/index.js.map +1 -1
  101. package/build-module/components/header/undo-redo/redo.js +2 -2
  102. package/build-module/components/header/undo-redo/redo.js.map +1 -1
  103. package/build-module/components/header/undo-redo/undo.js +2 -2
  104. package/build-module/components/header/undo-redo/undo.js.map +1 -1
  105. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  106. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -6
  107. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  108. package/build-module/components/keyboard-shortcut-help-modal/index.js +5 -13
  109. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  110. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +0 -5
  111. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  112. package/build-module/components/keyboard-shortcuts/index.js +1 -10
  113. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  114. package/build-module/components/layout/index.js +2 -8
  115. package/build-module/components/layout/index.js.map +1 -1
  116. package/build-module/components/layout/interface.js +5 -9
  117. package/build-module/components/layout/interface.js.map +1 -1
  118. package/build-module/components/layout/unsaved-changes-warning.js +2 -3
  119. package/build-module/components/layout/unsaved-changes-warning.js.map +1 -1
  120. package/build-module/components/more-menu/index.js +2 -6
  121. package/build-module/components/more-menu/index.js.map +1 -1
  122. package/build-module/components/more-menu/tools-more-menu-group.js +0 -3
  123. package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -1
  124. package/build-module/components/notices/index.js +0 -3
  125. package/build-module/components/notices/index.js.map +1 -1
  126. package/build-module/components/save-button/index.js +1 -4
  127. package/build-module/components/save-button/index.js.map +1 -1
  128. package/build-module/components/secondary-sidebar/index.js +1 -6
  129. package/build-module/components/secondary-sidebar/index.js.map +1 -1
  130. package/build-module/components/secondary-sidebar/inserter-sidebar.js +1 -2
  131. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  132. package/build-module/components/secondary-sidebar/list-view-sidebar.js +6 -7
  133. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  134. package/build-module/components/sidebar/index.js +13 -18
  135. package/build-module/components/sidebar/index.js.map +1 -1
  136. package/build-module/components/sidebar/widget-areas.js +1 -4
  137. package/build-module/components/sidebar/widget-areas.js.map +1 -1
  138. package/build-module/components/welcome-guide/index.js +3 -7
  139. package/build-module/components/welcome-guide/index.js.map +1 -1
  140. package/build-module/components/widget-areas-block-editor-content/index.js +1 -2
  141. package/build-module/components/widget-areas-block-editor-content/index.js.map +1 -1
  142. package/build-module/components/widget-areas-block-editor-provider/index.js +8 -7
  143. package/build-module/components/widget-areas-block-editor-provider/index.js.map +1 -1
  144. package/build-module/constants.js.map +1 -1
  145. package/build-module/filters/index.js.map +1 -1
  146. package/build-module/filters/move-to-widget-area.js +4 -4
  147. package/build-module/filters/move-to-widget-area.js.map +1 -1
  148. package/build-module/filters/replace-media-upload.js +0 -2
  149. package/build-module/filters/replace-media-upload.js.map +1 -1
  150. package/build-module/hooks/use-last-selected-widget-area.js +7 -9
  151. package/build-module/hooks/use-last-selected-widget-area.js.map +1 -1
  152. package/build-module/hooks/use-widget-library-insertion-point.js +6 -10
  153. package/build-module/hooks/use-widget-library-insertion-point.js.map +1 -1
  154. package/build-module/index.js +8 -20
  155. package/build-module/index.js.map +1 -1
  156. package/build-module/lock-unlock.js.map +1 -1
  157. package/build-module/store/actions.js +43 -56
  158. package/build-module/store/actions.js.map +1 -1
  159. package/build-module/store/constants.js.map +1 -1
  160. package/build-module/store/index.js +6 -6
  161. package/build-module/store/index.js.map +1 -1
  162. package/build-module/store/reducer.js +5 -11
  163. package/build-module/store/reducer.js.map +1 -1
  164. package/build-module/store/resolvers.js +3 -10
  165. package/build-module/store/resolvers.js.map +1 -1
  166. package/build-module/store/selectors.js +29 -38
  167. package/build-module/store/selectors.js.map +1 -1
  168. package/build-module/store/transformers.js +8 -13
  169. package/build-module/store/transformers.js.map +1 -1
  170. package/build-module/store/utils.js +7 -7
  171. package/build-module/store/utils.js.map +1 -1
  172. package/build-style/style-rtl.css +14 -11
  173. package/build-style/style.css +14 -11
  174. package/package.json +28 -27
  175. package/src/components/keyboard-shortcut-help-modal/style.scss +0 -5
  176. package/src/components/widget-areas-block-editor-provider/index.js +3 -3
  177. package/src/index.js +0 -1
  178. package/src/store/selectors.js +10 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/index.js"],"names":["registerBlockType","unstable__bootstrapServerSideBlockDefinitions","setFreeformContentHandlerName","store","blocksStore","dispatch","deprecated","createRoot","registerCoreBlocks","__experimentalGetCoreBlocks","__experimentalRegisterExperimentalCoreBlocks","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","registerLegacyWidgetBlock","registerLegacyWidgetVariations","registerWidgetGroupBlock","preferencesStore","widgetArea","Layout","ALLOW_REUSABLE_BLOCKS","ENABLE_EXPERIMENTAL_FSE_BLOCKS","disabledBlocks","initializeEditor","id","settings","target","document","getElementById","root","coreBlocks","filter","block","includes","name","startsWith","setDefaults","fixedToolbar","welcomeGuide","showBlockBreadcrumbs","themeStyles","__experimentalReapplyBlockTypeFilters","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","registerBlock","search","searchOptions","render","initialize","reinitializeEditor","since","version","metadata"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,6CAFD,EAEgD;AAC/CC,6BAHD,EAICC,KAAK,IAAIC,WAJV,QAKO,mBALP;AAMA,SAASC,QAAT,QAAyB,iBAAzB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SACCC,kBADD,EAECC,2BAFD,EAGCC,4CAHD,QAIO,0BAJP;AAKA,SAASC,kCAAkC,IAAIC,oBAA/C,QAA2E,sBAA3E;AACA,SACCC,yBADD,EAECC,8BAFD,EAGCC,wBAHD,QAIO,oBAJP;AAKA,SAASZ,KAAK,IAAIa,gBAAlB,QAA0C,wBAA1C;AAEA;AACA;AACA;;AACA,OAAO,SAAP;AACA,OAAO,WAAP;AACA,OAAO,KAAKC,UAAZ,MAA4B,sBAA5B;AAEA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,SACCC,qBADD,EAECC,8BAFD,QAGO,aAHP;AAKA,MAAMC,cAAc,GAAG,CACtB,WADsB,EAEtB,eAFsB,EAGtB,oBAHsB,EAItB,IAAKF,qBAAqB,GAAG,EAAH,GAAQ,CAAE,YAAF,CAAlC,CAJsB,CAAvB;AAOA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,gBAAT,CAA2BC,EAA3B,EAA+BC,QAA/B,EAA0C;AAChD,QAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAT,CAAyBJ,EAAzB,CAAf;AACA,QAAMK,IAAI,GAAGrB,UAAU,CAAEkB,MAAF,CAAvB;;AAEA,QAAMI,UAAU,GAAGpB,2BAA2B,GAAGqB,MAA9B,CAAwCC,KAAF,IAAa;AACrE,WAAO,EACNV,cAAc,CAACW,QAAf,CAAyBD,KAAK,CAACE,IAA/B,KACAF,KAAK,CAACE,IAAN,CAAWC,UAAX,CAAuB,WAAvB,CADA,IAEAH,KAAK,CAACE,IAAN,CAAWC,UAAX,CAAuB,YAAvB,CAFA,IAGAH,KAAK,CAACE,IAAN,CAAWC,UAAX,CAAuB,WAAvB,CAHA,IAIAH,KAAK,CAACE,IAAN,CAAWC,UAAX,CAAuB,iBAAvB,CALM,CAAP;AAOA,GARkB,CAAnB;;AAUA7B,EAAAA,QAAQ,CAAEW,gBAAF,CAAR,CAA6BmB,WAA7B,CAA0C,mBAA1C,EAA+D;AAC9DC,IAAAA,YAAY,EAAE,KADgD;AAE9DC,IAAAA,YAAY,EAAE,IAFgD;AAG9DC,IAAAA,oBAAoB,EAAE,IAHwC;AAI9DC,IAAAA,WAAW,EAAE;AAJiD,GAA/D;;AAOAlC,EAAAA,QAAQ,CAAED,WAAF,CAAR,CAAwBoC,qCAAxB;;AACAhC,EAAAA,kBAAkB,CAAEqB,UAAF,CAAlB;AACAhB,EAAAA,yBAAyB;;AACzB,MAAK4B,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AACtCjC,IAAAA,4CAA4C,CAAE;AAC7CkC,MAAAA,eAAe,EAAExB;AAD4B,KAAF,CAA5C;AAGA;;AACDN,EAAAA,8BAA8B,CAAEU,QAAF,CAA9B;AACAqB,EAAAA,aAAa,CAAE5B,UAAF,CAAb;AACAF,EAAAA,wBAAwB;;AAExBS,EAAAA,QAAQ,CAACb,kCAAT,GAA8C,CAAEmC,MAAF,EAAUC,aAAV,KAC7CnC,oBAAoB,CAAEkC,MAAF,EAAUC,aAAV,EAAyBvB,QAAzB,CADrB,CAjCgD,CAoChD;AACA;AACA;AACA;;;AACAtB,EAAAA,6BAA6B,CAAE,WAAF,CAA7B;AAEA0B,EAAAA,IAAI,CAACoB,MAAL,CAAa,cAAC,MAAD;AAAQ,IAAA,mBAAmB,EAAGxB;AAA9B,IAAb;AAEA,SAAOI,IAAP;AACA;AAED;AACA;AACA;;AACA,OAAO,MAAMqB,UAAU,GAAG3B,gBAAnB;AAEP,OAAO,SAAS4B,kBAAT,GAA8B;AACpC5C,EAAAA,UAAU,CAAE,mCAAF,EAAuC;AAChD6C,IAAAA,KAAK,EAAE,KADyC;AAEhDC,IAAAA,OAAO,EAAE;AAFuC,GAAvC,CAAV;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMP,aAAa,GAAKd,KAAF,IAAa;AAClC,MAAK,CAAEA,KAAP,EAAe;AACd;AACA;;AACD,QAAM;AAAEsB,IAAAA,QAAF;AAAY7B,IAAAA,QAAZ;AAAsBS,IAAAA;AAAtB,MAA+BF,KAArC;;AACA,MAAKsB,QAAL,EAAgB;AACfpD,IAAAA,6CAA6C,CAAE;AAAE,OAAEgC,IAAF,GAAUoB;AAAZ,KAAF,CAA7C;AACA;;AACDrD,EAAAA,iBAAiB,CAAEiC,IAAF,EAAQT,QAAR,CAAjB;AACA,CATD;;AAWA,SAASrB,KAAT,QAAsB,SAAtB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\n\tunstable__bootstrapServerSideBlockDefinitions, // eslint-disable-line camelcase\n\tsetFreeformContentHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { dispatch } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { createRoot } from '@wordpress/element';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalGetCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport { __experimentalFetchLinkSuggestions as fetchLinkSuggestions } from '@wordpress/core-data';\nimport {\n\tregisterLegacyWidgetBlock,\n\tregisterLegacyWidgetVariations,\n\tregisterWidgetGroupBlock,\n} from '@wordpress/widgets';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport './store';\nimport './filters';\nimport * as widgetArea from './blocks/widget-area';\n\nimport Layout from './components/layout';\nimport {\n\tALLOW_REUSABLE_BLOCKS,\n\tENABLE_EXPERIMENTAL_FSE_BLOCKS,\n} from './constants';\n\nconst disabledBlocks = [\n\t'core/more',\n\t'core/freeform',\n\t'core/template-part',\n\t...( ALLOW_REUSABLE_BLOCKS ? [] : [ 'core/block' ] ),\n];\n\n/**\n * Initializes the block editor in the widgets screen.\n *\n * @param {string} id ID of the root element to render the screen in.\n * @param {Object} settings Block editor settings.\n */\nexport function initializeEditor( id, settings ) {\n\tconst target = document.getElementById( id );\n\tconst root = createRoot( target );\n\n\tconst coreBlocks = __experimentalGetCoreBlocks().filter( ( block ) => {\n\t\treturn ! (\n\t\t\tdisabledBlocks.includes( block.name ) ||\n\t\t\tblock.name.startsWith( 'core/post' ) ||\n\t\t\tblock.name.startsWith( 'core/query' ) ||\n\t\t\tblock.name.startsWith( 'core/site' ) ||\n\t\t\tblock.name.startsWith( 'core/navigation' )\n\t\t);\n\t} );\n\n\tdispatch( preferencesStore ).setDefaults( 'core/edit-widgets', {\n\t\tfixedToolbar: false,\n\t\twelcomeGuide: true,\n\t\tshowBlockBreadcrumbs: true,\n\t\tthemeStyles: true,\n\t} );\n\n\tdispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();\n\tregisterCoreBlocks( coreBlocks );\n\tregisterLegacyWidgetBlock();\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: ENABLE_EXPERIMENTAL_FSE_BLOCKS,\n\t\t} );\n\t}\n\tregisterLegacyWidgetVariations( settings );\n\tregisterBlock( widgetArea );\n\tregisterWidgetGroupBlock();\n\n\tsettings.__experimentalFetchLinkSuggestions = ( search, searchOptions ) =>\n\t\tfetchLinkSuggestions( search, searchOptions, settings );\n\n\t// As we are unregistering `core/freeform` to avoid the Classic block, we must\n\t// replace it with something as the default freeform content handler. Failure to\n\t// do this will result in errors in the default block parser.\n\t// see: https://github.com/WordPress/gutenberg/issues/33097\n\tsetFreeformContentHandlerName( 'core/html' );\n\n\troot.render( <Layout blockEditorSettings={ settings } /> );\n\n\treturn root;\n}\n\n/**\n * Compatibility export under the old `initialize` name.\n */\nexport const initialize = initializeEditor;\n\nexport function reinitializeEditor() {\n\tdeprecated( 'wp.editWidgets.reinitializeEditor', {\n\t\tsince: '6.2',\n\t\tversion: '6.3',\n\t} );\n}\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tif ( metadata ) {\n\t\tunstable__bootstrapServerSideBlockDefinitions( { [ name ]: metadata } );\n\t}\n\tregisterBlockType( name, settings );\n};\n\nexport { store } from './store';\n"]}
1
+ {"version":3,"names":["registerBlockType","unstable__bootstrapServerSideBlockDefinitions","setFreeformContentHandlerName","store","blocksStore","dispatch","deprecated","createRoot","registerCoreBlocks","__experimentalGetCoreBlocks","__experimentalRegisterExperimentalCoreBlocks","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","registerLegacyWidgetBlock","registerLegacyWidgetVariations","registerWidgetGroupBlock","preferencesStore","widgetArea","Layout","ALLOW_REUSABLE_BLOCKS","ENABLE_EXPERIMENTAL_FSE_BLOCKS","disabledBlocks","initializeEditor","id","settings","target","document","getElementById","root","coreBlocks","filter","block","includes","name","startsWith","setDefaults","fixedToolbar","welcomeGuide","showBlockBreadcrumbs","themeStyles","__experimentalReapplyBlockTypeFilters","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","registerBlock","search","searchOptions","render","createElement","blockEditorSettings","initialize","reinitializeEditor","since","version","metadata"],"sources":["@wordpress/edit-widgets/src/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\n\tunstable__bootstrapServerSideBlockDefinitions, // eslint-disable-line camelcase\n\tsetFreeformContentHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { dispatch } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { createRoot } from '@wordpress/element';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalGetCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport { __experimentalFetchLinkSuggestions as fetchLinkSuggestions } from '@wordpress/core-data';\nimport {\n\tregisterLegacyWidgetBlock,\n\tregisterLegacyWidgetVariations,\n\tregisterWidgetGroupBlock,\n} from '@wordpress/widgets';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport './store';\nimport './filters';\nimport * as widgetArea from './blocks/widget-area';\n\nimport Layout from './components/layout';\nimport {\n\tALLOW_REUSABLE_BLOCKS,\n\tENABLE_EXPERIMENTAL_FSE_BLOCKS,\n} from './constants';\n\nconst disabledBlocks = [\n\t'core/more',\n\t'core/freeform',\n\t'core/template-part',\n\t...( ALLOW_REUSABLE_BLOCKS ? [] : [ 'core/block' ] ),\n];\n\n/**\n * Initializes the block editor in the widgets screen.\n *\n * @param {string} id ID of the root element to render the screen in.\n * @param {Object} settings Block editor settings.\n */\nexport function initializeEditor( id, settings ) {\n\tconst target = document.getElementById( id );\n\tconst root = createRoot( target );\n\n\tconst coreBlocks = __experimentalGetCoreBlocks().filter( ( block ) => {\n\t\treturn ! (\n\t\t\tdisabledBlocks.includes( block.name ) ||\n\t\t\tblock.name.startsWith( 'core/post' ) ||\n\t\t\tblock.name.startsWith( 'core/query' ) ||\n\t\t\tblock.name.startsWith( 'core/site' ) ||\n\t\t\tblock.name.startsWith( 'core/navigation' )\n\t\t);\n\t} );\n\n\tdispatch( preferencesStore ).setDefaults( 'core/edit-widgets', {\n\t\tfixedToolbar: false,\n\t\twelcomeGuide: true,\n\t\tshowBlockBreadcrumbs: true,\n\t\tthemeStyles: true,\n\t} );\n\n\tdispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();\n\tregisterCoreBlocks( coreBlocks );\n\tregisterLegacyWidgetBlock();\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: ENABLE_EXPERIMENTAL_FSE_BLOCKS,\n\t\t} );\n\t}\n\tregisterLegacyWidgetVariations( settings );\n\tregisterBlock( widgetArea );\n\tregisterWidgetGroupBlock();\n\n\tsettings.__experimentalFetchLinkSuggestions = ( search, searchOptions ) =>\n\t\tfetchLinkSuggestions( search, searchOptions, settings );\n\n\t// As we are unregistering `core/freeform` to avoid the Classic block, we must\n\t// replace it with something as the default freeform content handler. Failure to\n\t// do this will result in errors in the default block parser.\n\t// see: https://github.com/WordPress/gutenberg/issues/33097\n\tsetFreeformContentHandlerName( 'core/html' );\n\n\troot.render( <Layout blockEditorSettings={ settings } /> );\n\n\treturn root;\n}\n\n/**\n * Compatibility export under the old `initialize` name.\n */\nexport const initialize = initializeEditor;\n\nexport function reinitializeEditor() {\n\tdeprecated( 'wp.editWidgets.reinitializeEditor', {\n\t\tsince: '6.2',\n\t\tversion: '6.3',\n\t} );\n}\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tif ( metadata ) {\n\t\tunstable__bootstrapServerSideBlockDefinitions( { [ name ]: metadata } );\n\t}\n\tregisterBlockType( name, settings );\n};\n\nexport { store } from './store';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/lock-unlock.js"],"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAT,QAAiE,yBAAjE;AAEA,OAAO,MAAM;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IACZF,gDAAgD,CAC/C,8GAD+C,EAE/C,yBAF+C,CAD1C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t\t'@wordpress/edit-widgets'\n\t);\n"]}
1
+ {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/edit-widgets/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t\t'@wordpress/edit-widgets'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,8GAA8G,EAC9G,yBACD,CAAC"}
@@ -7,13 +7,14 @@ import { store as interfaceStore } from '@wordpress/interface';
7
7
  import { getWidgetIdFromBlock } from '@wordpress/widgets';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
9
  import { store as blockEditorStore } from '@wordpress/block-editor';
10
+
10
11
  /**
11
12
  * Internal dependencies
12
13
  */
13
-
14
14
  import { transformBlockToWidget } from './transformers';
15
15
  import { buildWidgetAreaPostId, buildWidgetAreasQuery, createStubPost, KIND, POST_TYPE, WIDGET_AREA_ENTITY_TYPE } from './utils';
16
16
  import { STORE_NAME as editWidgetsStoreName } from './constants';
17
+
17
18
  /**
18
19
  * Persists a stub post with given ID to core data store. The post is meant to be in-memory only and
19
20
  * shouldn't be saved via the API.
@@ -22,7 +23,6 @@ import { STORE_NAME as editWidgetsStoreName } from './constants';
22
23
  * @param {Array} blocks Blocks the post should consist of.
23
24
  * @return {Object} The post object.
24
25
  */
25
-
26
26
  export const persistStubPost = (id, blocks) => ({
27
27
  registry
28
28
  }) => {
@@ -32,6 +32,7 @@ export const persistStubPost = (id, blocks) => ({
32
32
  }, false);
33
33
  return stubPost;
34
34
  };
35
+
35
36
  /**
36
37
  * Converts all the blocks from edited widget areas into widgets,
37
38
  * and submits a batch request to save everything at once.
@@ -40,31 +41,28 @@ export const persistStubPost = (id, blocks) => ({
40
41
  *
41
42
  * @return {Function} An action creator.
42
43
  */
43
-
44
44
  export const saveEditedWidgetAreas = () => async ({
45
45
  select,
46
46
  dispatch,
47
47
  registry
48
48
  }) => {
49
49
  const editedWidgetAreas = select.getEditedWidgetAreas();
50
-
51
50
  if (!editedWidgetAreas?.length) {
52
51
  return;
53
52
  }
54
-
55
53
  try {
56
54
  await dispatch.saveWidgetAreas(editedWidgetAreas);
57
55
  registry.dispatch(noticesStore).createSuccessNotice(__('Widgets saved.'), {
58
56
  type: 'snackbar'
59
57
  });
60
58
  } catch (e) {
61
- registry.dispatch(noticesStore).createErrorNotice(
62
- /* translators: %s: The error message. */
59
+ registry.dispatch(noticesStore).createErrorNotice( /* translators: %s: The error message. */
63
60
  sprintf(__('There was an error. %s'), e.message), {
64
61
  type: 'snackbar'
65
62
  });
66
63
  }
67
64
  };
65
+
68
66
  /**
69
67
  * Converts all the blocks from specified widget areas into widgets,
70
68
  * and submits a batch request to save everything at once.
@@ -72,7 +70,6 @@ export const saveEditedWidgetAreas = () => async ({
72
70
  * @param {Object[]} widgetAreas Widget areas to save.
73
71
  * @return {Function} An action creator.
74
72
  */
75
-
76
73
  export const saveWidgetAreas = widgetAreas => async ({
77
74
  dispatch,
78
75
  registry
@@ -86,6 +83,7 @@ export const saveWidgetAreas = widgetAreas => async ({
86
83
  await registry.dispatch(coreStore).finishResolution('getEntityRecord', KIND, WIDGET_AREA_ENTITY_TYPE, buildWidgetAreasQuery());
87
84
  }
88
85
  };
86
+
89
87
  /**
90
88
  * Converts all the blocks from a widget area specified by ID into widgets,
91
89
  * and submits a batch request to save everything at once.
@@ -93,78 +91,74 @@ export const saveWidgetAreas = widgetAreas => async ({
93
91
  * @param {string} widgetAreaId ID of the widget area to process.
94
92
  * @return {Function} An action creator.
95
93
  */
96
-
97
94
  export const saveWidgetArea = widgetAreaId => async ({
98
95
  dispatch,
99
96
  select,
100
97
  registry
101
98
  }) => {
102
99
  const widgets = select.getWidgets();
103
- const post = registry.select(coreStore).getEditedEntityRecord(KIND, POST_TYPE, buildWidgetAreaPostId(widgetAreaId)); // Get all widgets from this area
100
+ const post = registry.select(coreStore).getEditedEntityRecord(KIND, POST_TYPE, buildWidgetAreaPostId(widgetAreaId));
104
101
 
102
+ // Get all widgets from this area
105
103
  const areaWidgets = Object.values(widgets).filter(({
106
104
  sidebar
107
- }) => sidebar === widgetAreaId); // Remove all duplicate reference widget instances for legacy widgets.
105
+ }) => sidebar === widgetAreaId);
106
+
107
+ // Remove all duplicate reference widget instances for legacy widgets.
108
108
  // Why? We filter out the widgets with duplicate IDs to prevent adding more than one instance of a widget
109
109
  // implemented using a function. WordPress doesn't support having more than one instance of these, if you try to
110
110
  // save multiple instances of these in different sidebars you will run into undefined behaviors.
111
-
112
111
  const usedReferenceWidgets = [];
113
112
  const widgetsBlocks = post.blocks.filter(block => {
114
113
  const {
115
114
  id
116
115
  } = block.attributes;
117
-
118
116
  if (block.name === 'core/legacy-widget' && id) {
119
117
  if (usedReferenceWidgets.includes(id)) {
120
118
  return false;
121
119
  }
122
-
123
120
  usedReferenceWidgets.push(id);
124
121
  }
125
-
126
122
  return true;
127
- }); // Determine which widgets have been deleted. We can tell if a widget is
123
+ });
124
+
125
+ // Determine which widgets have been deleted. We can tell if a widget is
128
126
  // deleted and not just moved to a different area by looking to see if
129
127
  // getWidgetAreaForWidgetId() finds something.
130
-
131
128
  const deletedWidgets = [];
132
-
133
129
  for (const widget of areaWidgets) {
134
130
  const widgetsNewArea = select.getWidgetAreaForWidgetId(widget.id);
135
-
136
131
  if (!widgetsNewArea) {
137
132
  deletedWidgets.push(widget);
138
133
  }
139
134
  }
140
-
141
135
  const batchMeta = [];
142
136
  const batchTasks = [];
143
137
  const sidebarWidgetsIds = [];
144
-
145
138
  for (let i = 0; i < widgetsBlocks.length; i++) {
146
139
  const block = widgetsBlocks[i];
147
140
  const widgetId = getWidgetIdFromBlock(block);
148
141
  const oldWidget = widgets[widgetId];
149
- const widget = transformBlockToWidget(block, oldWidget); // We'll replace the null widgetId after save, but we track it here
142
+ const widget = transformBlockToWidget(block, oldWidget);
143
+
144
+ // We'll replace the null widgetId after save, but we track it here
150
145
  // since order is important.
146
+ sidebarWidgetsIds.push(widgetId);
151
147
 
152
- sidebarWidgetsIds.push(widgetId); // Check oldWidget as widgetId might refer to an ID which has been
148
+ // Check oldWidget as widgetId might refer to an ID which has been
153
149
  // deleted, e.g. if a deleted block is restored via undo after saving.
154
-
155
150
  if (oldWidget) {
156
151
  // Update an existing widget.
157
- registry.dispatch(coreStore).editEntityRecord('root', 'widget', widgetId, { ...widget,
152
+ registry.dispatch(coreStore).editEntityRecord('root', 'widget', widgetId, {
153
+ ...widget,
158
154
  sidebar: widgetAreaId
159
155
  }, {
160
156
  undoIgnore: true
161
157
  });
162
158
  const hasEdits = registry.select(coreStore).hasEditsForEntityRecord('root', 'widget', widgetId);
163
-
164
159
  if (!hasEdits) {
165
160
  continue;
166
161
  }
167
-
168
162
  batchTasks.push(({
169
163
  saveEditedEntityRecord
170
164
  }) => saveEditedEntityRecord('root', 'widget', widgetId));
@@ -172,18 +166,17 @@ export const saveWidgetArea = widgetAreaId => async ({
172
166
  // Create a new widget.
173
167
  batchTasks.push(({
174
168
  saveEntityRecord
175
- }) => saveEntityRecord('root', 'widget', { ...widget,
169
+ }) => saveEntityRecord('root', 'widget', {
170
+ ...widget,
176
171
  sidebar: widgetAreaId
177
172
  }));
178
173
  }
179
-
180
174
  batchMeta.push({
181
175
  block,
182
176
  position: i,
183
177
  clientId: block.clientId
184
178
  });
185
179
  }
186
-
187
180
  for (const widget of deletedWidgets) {
188
181
  batchTasks.push(({
189
182
  deleteEntityRecord
@@ -191,37 +184,31 @@ export const saveWidgetArea = widgetAreaId => async ({
191
184
  force: true
192
185
  }));
193
186
  }
194
-
195
187
  const records = await registry.dispatch(coreStore).__experimentalBatch(batchTasks);
196
188
  const preservedRecords = records.filter(record => !record.hasOwnProperty('deleted'));
197
189
  const failedWidgetNames = [];
198
-
199
190
  for (let i = 0; i < preservedRecords.length; i++) {
200
191
  const widget = preservedRecords[i];
201
192
  const {
202
193
  block,
203
194
  position
204
- } = batchMeta[i]; // Set __internalWidgetId on the block. This will be persisted to the
205
- // store when we dispatch receiveEntityRecords( post ) below.
195
+ } = batchMeta[i];
206
196
 
197
+ // Set __internalWidgetId on the block. This will be persisted to the
198
+ // store when we dispatch receiveEntityRecords( post ) below.
207
199
  post.blocks[position].attributes.__internalWidgetId = widget.id;
208
200
  const error = registry.select(coreStore).getLastEntitySaveError('root', 'widget', widget.id);
209
-
210
201
  if (error) {
211
202
  failedWidgetNames.push(block.attributes?.name || block?.name);
212
203
  }
213
-
214
204
  if (!sidebarWidgetsIds[position]) {
215
205
  sidebarWidgetsIds[position] = widget.id;
216
206
  }
217
207
  }
218
-
219
208
  if (failedWidgetNames.length) {
220
- throw new Error(sprintf(
221
- /* translators: %s: List of widget names */
209
+ throw new Error(sprintf( /* translators: %s: List of widget names */
222
210
  __('Could not save the following widgets: %s.'), failedWidgetNames.join(', ')));
223
211
  }
224
-
225
212
  registry.dispatch(coreStore).editEntityRecord(KIND, WIDGET_AREA_ENTITY_TYPE, widgetAreaId, {
226
213
  widgets: sidebarWidgetsIds
227
214
  }, {
@@ -230,7 +217,6 @@ export const saveWidgetArea = widgetAreaId => async ({
230
217
  dispatch(trySaveWidgetArea(widgetAreaId));
231
218
  registry.dispatch(coreStore).receiveEntityRecords(KIND, POST_TYPE, post, undefined);
232
219
  };
233
-
234
220
  const trySaveWidgetArea = widgetAreaId => ({
235
221
  registry
236
222
  }) => {
@@ -238,6 +224,7 @@ const trySaveWidgetArea = widgetAreaId => ({
238
224
  throwOnError: true
239
225
  });
240
226
  };
227
+
241
228
  /**
242
229
  * Sets the clientId stored for a particular widgetId.
243
230
  *
@@ -246,8 +233,6 @@ const trySaveWidgetArea = widgetAreaId => ({
246
233
  *
247
234
  * @return {Object} Action.
248
235
  */
249
-
250
-
251
236
  export function setWidgetIdForClientId(clientId, widgetId) {
252
237
  return {
253
238
  type: 'SET_WIDGET_ID_FOR_CLIENT_ID',
@@ -255,6 +240,7 @@ export function setWidgetIdForClientId(clientId, widgetId) {
255
240
  widgetId
256
241
  };
257
242
  }
243
+
258
244
  /**
259
245
  * Sets the open state of all the widget areas.
260
246
  *
@@ -262,13 +248,13 @@ export function setWidgetIdForClientId(clientId, widgetId) {
262
248
  *
263
249
  * @return {Object} Action.
264
250
  */
265
-
266
251
  export function setWidgetAreasOpenState(widgetAreasOpenState) {
267
252
  return {
268
253
  type: 'SET_WIDGET_AREAS_OPEN_STATE',
269
254
  widgetAreasOpenState
270
255
  };
271
256
  }
257
+
272
258
  /**
273
259
  * Sets the open state of the widget area.
274
260
  *
@@ -277,7 +263,6 @@ export function setWidgetAreasOpenState(widgetAreasOpenState) {
277
263
  *
278
264
  * @return {Object} Action.
279
265
  */
280
-
281
266
  export function setIsWidgetAreaOpen(clientId, isOpen) {
282
267
  return {
283
268
  type: 'SET_IS_WIDGET_AREA_OPEN',
@@ -285,6 +270,7 @@ export function setIsWidgetAreaOpen(clientId, isOpen) {
285
270
  isOpen
286
271
  };
287
272
  }
273
+
288
274
  /**
289
275
  * Returns an action object used to open/close the inserter.
290
276
  *
@@ -297,69 +283,70 @@ export function setIsWidgetAreaOpen(clientId, isOpen) {
297
283
  *
298
284
  * @return {Object} Action object.
299
285
  */
300
-
301
286
  export function setIsInserterOpened(value) {
302
287
  return {
303
288
  type: 'SET_IS_INSERTER_OPENED',
304
289
  value
305
290
  };
306
291
  }
292
+
307
293
  /**
308
294
  * Returns an action object used to open/close the list view.
309
295
  *
310
296
  * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.
311
297
  * @return {Object} Action object.
312
298
  */
313
-
314
299
  export function setIsListViewOpened(isOpen) {
315
300
  return {
316
301
  type: 'SET_IS_LIST_VIEW_OPENED',
317
302
  isOpen
318
303
  };
319
304
  }
305
+
320
306
  /**
321
307
  * Returns an action object signalling that the user closed the sidebar.
322
308
  *
323
309
  * @return {Object} Action creator.
324
310
  */
325
-
326
311
  export const closeGeneralSidebar = () => ({
327
312
  registry
328
313
  }) => {
329
314
  registry.dispatch(interfaceStore).disableComplementaryArea(editWidgetsStoreName);
330
315
  };
316
+
331
317
  /**
332
318
  * Action that handles moving a block between widget areas
333
319
  *
334
320
  * @param {string} clientId The clientId of the block to move.
335
321
  * @param {string} widgetAreaId The id of the widget area to move the block to.
336
322
  */
337
-
338
323
  export const moveBlockToWidgetArea = (clientId, widgetAreaId) => async ({
339
324
  dispatch,
340
325
  select,
341
326
  registry
342
327
  }) => {
343
- const sourceRootClientId = registry.select(blockEditorStore).getBlockRootClientId(clientId); // Search the top level blocks (widget areas) for the one with the matching
328
+ const sourceRootClientId = registry.select(blockEditorStore).getBlockRootClientId(clientId);
329
+
330
+ // Search the top level blocks (widget areas) for the one with the matching
344
331
  // id attribute. Makes the assumption that all top-level blocks are widget
345
332
  // areas.
346
-
347
333
  const widgetAreas = registry.select(blockEditorStore).getBlocks();
348
334
  const destinationWidgetAreaBlock = widgetAreas.find(({
349
335
  attributes
350
336
  }) => attributes.id === widgetAreaId);
351
- const destinationRootClientId = destinationWidgetAreaBlock.clientId; // Get the index for moving to the end of the destination widget area.
337
+ const destinationRootClientId = destinationWidgetAreaBlock.clientId;
352
338
 
339
+ // Get the index for moving to the end of the destination widget area.
353
340
  const destinationInnerBlocksClientIds = registry.select(blockEditorStore).getBlockOrder(destinationRootClientId);
354
- const destinationIndex = destinationInnerBlocksClientIds.length; // Reveal the widget area, if it's not open.
341
+ const destinationIndex = destinationInnerBlocksClientIds.length;
355
342
 
343
+ // Reveal the widget area, if it's not open.
356
344
  const isDestinationWidgetAreaOpen = select.getIsWidgetAreaOpen(destinationRootClientId);
357
-
358
345
  if (!isDestinationWidgetAreaOpen) {
359
346
  dispatch.setIsWidgetAreaOpen(destinationRootClientId, true);
360
- } // Move the block.
361
-
347
+ }
362
348
 
349
+ // Move the block.
363
350
  registry.dispatch(blockEditorStore).moveBlocksToPosition([clientId], sourceRootClientId, destinationRootClientId, destinationIndex);
364
351
  };
365
352
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/store/actions.js"],"names":["__","sprintf","store","noticesStore","interfaceStore","getWidgetIdFromBlock","coreStore","blockEditorStore","transformBlockToWidget","buildWidgetAreaPostId","buildWidgetAreasQuery","createStubPost","KIND","POST_TYPE","WIDGET_AREA_ENTITY_TYPE","STORE_NAME","editWidgetsStoreName","persistStubPost","id","blocks","registry","stubPost","dispatch","receiveEntityRecords","saveEditedWidgetAreas","select","editedWidgetAreas","getEditedWidgetAreas","length","saveWidgetAreas","createSuccessNotice","type","e","createErrorNotice","message","widgetAreas","widgetArea","saveWidgetArea","finishResolution","widgetAreaId","widgets","getWidgets","post","getEditedEntityRecord","areaWidgets","Object","values","filter","sidebar","usedReferenceWidgets","widgetsBlocks","block","attributes","name","includes","push","deletedWidgets","widget","widgetsNewArea","getWidgetAreaForWidgetId","batchMeta","batchTasks","sidebarWidgetsIds","i","widgetId","oldWidget","editEntityRecord","undoIgnore","hasEdits","hasEditsForEntityRecord","saveEditedEntityRecord","saveEntityRecord","position","clientId","deleteEntityRecord","force","records","__experimentalBatch","preservedRecords","record","hasOwnProperty","failedWidgetNames","__internalWidgetId","error","getLastEntitySaveError","Error","join","trySaveWidgetArea","undefined","throwOnError","setWidgetIdForClientId","setWidgetAreasOpenState","widgetAreasOpenState","setIsWidgetAreaOpen","isOpen","setIsInserterOpened","value","setIsListViewOpened","closeGeneralSidebar","disableComplementaryArea","moveBlockToWidgetArea","sourceRootClientId","getBlockRootClientId","getBlocks","destinationWidgetAreaBlock","find","destinationRootClientId","destinationInnerBlocksClientIds","getBlockOrder","destinationIndex","isDestinationWidgetAreaOpen","getIsWidgetAreaOpen","moveBlocksToPosition"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { getWidgetIdFromBlock } from '@wordpress/widgets';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { transformBlockToWidget } from './transformers';\nimport {\n\tbuildWidgetAreaPostId,\n\tbuildWidgetAreasQuery,\n\tcreateStubPost,\n\tKIND,\n\tPOST_TYPE,\n\tWIDGET_AREA_ENTITY_TYPE,\n} from './utils';\nimport { STORE_NAME as editWidgetsStoreName } from './constants';\n\n/**\n * Persists a stub post with given ID to core data store. The post is meant to be in-memory only and\n * shouldn't be saved via the API.\n *\n * @param {string} id Post ID.\n * @param {Array} blocks Blocks the post should consist of.\n * @return {Object} The post object.\n */\nexport const persistStubPost =\n\t( id, blocks ) =>\n\t( { registry } ) => {\n\t\tconst stubPost = createStubPost( id, blocks );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.receiveEntityRecords(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tstubPost,\n\t\t\t\t{ id: stubPost.id },\n\t\t\t\tfalse\n\t\t\t);\n\t\treturn stubPost;\n\t};\n\n/**\n * Converts all the blocks from edited widget areas into widgets,\n * and submits a batch request to save everything at once.\n *\n * Creates a snackbar notice on either success or error.\n *\n * @return {Function} An action creator.\n */\nexport const saveEditedWidgetAreas =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst editedWidgetAreas = select.getEditedWidgetAreas();\n\t\tif ( ! editedWidgetAreas?.length ) {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tawait dispatch.saveWidgetAreas( editedWidgetAreas );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( __( 'Widgets saved.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t} catch ( e ) {\n\t\t\tregistry.dispatch( noticesStore ).createErrorNotice(\n\t\t\t\t/* translators: %s: The error message. */\n\t\t\t\tsprintf( __( 'There was an error. %s' ), e.message ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Converts all the blocks from specified widget areas into widgets,\n * and submits a batch request to save everything at once.\n *\n * @param {Object[]} widgetAreas Widget areas to save.\n * @return {Function} An action creator.\n */\nexport const saveWidgetAreas =\n\t( widgetAreas ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\ttry {\n\t\t\tfor ( const widgetArea of widgetAreas ) {\n\t\t\t\tawait dispatch.saveWidgetArea( widgetArea.id );\n\t\t\t}\n\t\t} finally {\n\t\t\t// saveEditedEntityRecord resets the resolution status, let's fix it manually.\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.finishResolution(\n\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\tKIND,\n\t\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\t\tbuildWidgetAreasQuery()\n\t\t\t\t);\n\t\t}\n\t};\n\n/**\n * Converts all the blocks from a widget area specified by ID into widgets,\n * and submits a batch request to save everything at once.\n *\n * @param {string} widgetAreaId ID of the widget area to process.\n * @return {Function} An action creator.\n */\nexport const saveWidgetArea =\n\t( widgetAreaId ) =>\n\tasync ( { dispatch, select, registry } ) => {\n\t\tconst widgets = select.getWidgets();\n\n\t\tconst post = registry\n\t\t\t.select( coreStore )\n\t\t\t.getEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tbuildWidgetAreaPostId( widgetAreaId )\n\t\t\t);\n\n\t\t// Get all widgets from this area\n\t\tconst areaWidgets = Object.values( widgets ).filter(\n\t\t\t( { sidebar } ) => sidebar === widgetAreaId\n\t\t);\n\n\t\t// Remove all duplicate reference widget instances for legacy widgets.\n\t\t// Why? We filter out the widgets with duplicate IDs to prevent adding more than one instance of a widget\n\t\t// implemented using a function. WordPress doesn't support having more than one instance of these, if you try to\n\t\t// save multiple instances of these in different sidebars you will run into undefined behaviors.\n\t\tconst usedReferenceWidgets = [];\n\t\tconst widgetsBlocks = post.blocks.filter( ( block ) => {\n\t\t\tconst { id } = block.attributes;\n\n\t\t\tif ( block.name === 'core/legacy-widget' && id ) {\n\t\t\t\tif ( usedReferenceWidgets.includes( id ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tusedReferenceWidgets.push( id );\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t\t// Determine which widgets have been deleted. We can tell if a widget is\n\t\t// deleted and not just moved to a different area by looking to see if\n\t\t// getWidgetAreaForWidgetId() finds something.\n\t\tconst deletedWidgets = [];\n\t\tfor ( const widget of areaWidgets ) {\n\t\t\tconst widgetsNewArea = select.getWidgetAreaForWidgetId( widget.id );\n\t\t\tif ( ! widgetsNewArea ) {\n\t\t\t\tdeletedWidgets.push( widget );\n\t\t\t}\n\t\t}\n\n\t\tconst batchMeta = [];\n\t\tconst batchTasks = [];\n\t\tconst sidebarWidgetsIds = [];\n\t\tfor ( let i = 0; i < widgetsBlocks.length; i++ ) {\n\t\t\tconst block = widgetsBlocks[ i ];\n\t\t\tconst widgetId = getWidgetIdFromBlock( block );\n\t\t\tconst oldWidget = widgets[ widgetId ];\n\t\t\tconst widget = transformBlockToWidget( block, oldWidget );\n\n\t\t\t// We'll replace the null widgetId after save, but we track it here\n\t\t\t// since order is important.\n\t\t\tsidebarWidgetsIds.push( widgetId );\n\n\t\t\t// Check oldWidget as widgetId might refer to an ID which has been\n\t\t\t// deleted, e.g. if a deleted block is restored via undo after saving.\n\t\t\tif ( oldWidget ) {\n\t\t\t\t// Update an existing widget.\n\t\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'widget',\n\t\t\t\t\twidgetId,\n\t\t\t\t\t{\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tsidebar: widgetAreaId,\n\t\t\t\t\t},\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\n\t\t\t\tconst hasEdits = registry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.hasEditsForEntityRecord( 'root', 'widget', widgetId );\n\n\t\t\t\tif ( ! hasEdits ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tbatchTasks.push( ( { saveEditedEntityRecord } ) =>\n\t\t\t\t\tsaveEditedEntityRecord( 'root', 'widget', widgetId )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Create a new widget.\n\t\t\t\tbatchTasks.push( ( { saveEntityRecord } ) =>\n\t\t\t\t\tsaveEntityRecord( 'root', 'widget', {\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tsidebar: widgetAreaId,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tbatchMeta.push( {\n\t\t\t\tblock,\n\t\t\t\tposition: i,\n\t\t\t\tclientId: block.clientId,\n\t\t\t} );\n\t\t}\n\t\tfor ( const widget of deletedWidgets ) {\n\t\t\tbatchTasks.push( ( { deleteEntityRecord } ) =>\n\t\t\t\tdeleteEntityRecord( 'root', 'widget', widget.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst records = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.__experimentalBatch( batchTasks );\n\t\tconst preservedRecords = records.filter(\n\t\t\t( record ) => ! record.hasOwnProperty( 'deleted' )\n\t\t);\n\n\t\tconst failedWidgetNames = [];\n\n\t\tfor ( let i = 0; i < preservedRecords.length; i++ ) {\n\t\t\tconst widget = preservedRecords[ i ];\n\t\t\tconst { block, position } = batchMeta[ i ];\n\n\t\t\t// Set __internalWidgetId on the block. This will be persisted to the\n\t\t\t// store when we dispatch receiveEntityRecords( post ) below.\n\t\t\tpost.blocks[ position ].attributes.__internalWidgetId = widget.id;\n\n\t\t\tconst error = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntitySaveError( 'root', 'widget', widget.id );\n\t\t\tif ( error ) {\n\t\t\t\tfailedWidgetNames.push( block.attributes?.name || block?.name );\n\t\t\t}\n\n\t\t\tif ( ! sidebarWidgetsIds[ position ] ) {\n\t\t\t\tsidebarWidgetsIds[ position ] = widget.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( failedWidgetNames.length ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: List of widget names */\n\t\t\t\t\t__( 'Could not save the following widgets: %s.' ),\n\t\t\t\t\tfailedWidgetNames.join( ', ' )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\tKIND,\n\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\twidgetAreaId,\n\t\t\t{\n\t\t\t\twidgets: sidebarWidgetsIds,\n\t\t\t},\n\t\t\t{ undoIgnore: true }\n\t\t);\n\n\t\tdispatch( trySaveWidgetArea( widgetAreaId ) );\n\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.receiveEntityRecords( KIND, POST_TYPE, post, undefined );\n\t};\n\nconst trySaveWidgetArea =\n\t( widgetAreaId ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\twidgetAreaId,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t};\n\n/**\n * Sets the clientId stored for a particular widgetId.\n *\n * @param {number} clientId Client id.\n * @param {number} widgetId Widget id.\n *\n * @return {Object} Action.\n */\nexport function setWidgetIdForClientId( clientId, widgetId ) {\n\treturn {\n\t\ttype: 'SET_WIDGET_ID_FOR_CLIENT_ID',\n\t\tclientId,\n\t\twidgetId,\n\t};\n}\n\n/**\n * Sets the open state of all the widget areas.\n *\n * @param {Object} widgetAreasOpenState The open states of all the widget areas.\n *\n * @return {Object} Action.\n */\nexport function setWidgetAreasOpenState( widgetAreasOpenState ) {\n\treturn {\n\t\ttype: 'SET_WIDGET_AREAS_OPEN_STATE',\n\t\twidgetAreasOpenState,\n\t};\n}\n\n/**\n * Sets the open state of the widget area.\n *\n * @param {string} clientId The clientId of the widget area.\n * @param {boolean} isOpen Whether the widget area should be opened.\n *\n * @return {Object} Action.\n */\nexport function setIsWidgetAreaOpen( clientId, isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_WIDGET_AREA_OPEN',\n\t\tclientId,\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n *\n * @return {Object} Action creator.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editWidgetsStoreName );\n\t};\n\n/**\n * Action that handles moving a block between widget areas\n *\n * @param {string} clientId The clientId of the block to move.\n * @param {string} widgetAreaId The id of the widget area to move the block to.\n */\nexport const moveBlockToWidgetArea =\n\t( clientId, widgetAreaId ) =>\n\tasync ( { dispatch, select, registry } ) => {\n\t\tconst sourceRootClientId = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockRootClientId( clientId );\n\n\t\t// Search the top level blocks (widget areas) for the one with the matching\n\t\t// id attribute. Makes the assumption that all top-level blocks are widget\n\t\t// areas.\n\t\tconst widgetAreas = registry.select( blockEditorStore ).getBlocks();\n\t\tconst destinationWidgetAreaBlock = widgetAreas.find(\n\t\t\t( { attributes } ) => attributes.id === widgetAreaId\n\t\t);\n\t\tconst destinationRootClientId = destinationWidgetAreaBlock.clientId;\n\n\t\t// Get the index for moving to the end of the destination widget area.\n\t\tconst destinationInnerBlocksClientIds = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockOrder( destinationRootClientId );\n\t\tconst destinationIndex = destinationInnerBlocksClientIds.length;\n\n\t\t// Reveal the widget area, if it's not open.\n\t\tconst isDestinationWidgetAreaOpen = select.getIsWidgetAreaOpen(\n\t\t\tdestinationRootClientId\n\t\t);\n\n\t\tif ( ! isDestinationWidgetAreaOpen ) {\n\t\t\tdispatch.setIsWidgetAreaOpen( destinationRootClientId, true );\n\t\t}\n\n\t\t// Move the block.\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.moveBlocksToPosition(\n\t\t\t\t[ clientId ],\n\t\t\t\tsourceRootClientId,\n\t\t\t\tdestinationRootClientId,\n\t\t\t\tdestinationIndex\n\t\t\t);\n\t};\n"]}
1
+ {"version":3,"names":["__","sprintf","store","noticesStore","interfaceStore","getWidgetIdFromBlock","coreStore","blockEditorStore","transformBlockToWidget","buildWidgetAreaPostId","buildWidgetAreasQuery","createStubPost","KIND","POST_TYPE","WIDGET_AREA_ENTITY_TYPE","STORE_NAME","editWidgetsStoreName","persistStubPost","id","blocks","registry","stubPost","dispatch","receiveEntityRecords","saveEditedWidgetAreas","select","editedWidgetAreas","getEditedWidgetAreas","length","saveWidgetAreas","createSuccessNotice","type","e","createErrorNotice","message","widgetAreas","widgetArea","saveWidgetArea","finishResolution","widgetAreaId","widgets","getWidgets","post","getEditedEntityRecord","areaWidgets","Object","values","filter","sidebar","usedReferenceWidgets","widgetsBlocks","block","attributes","name","includes","push","deletedWidgets","widget","widgetsNewArea","getWidgetAreaForWidgetId","batchMeta","batchTasks","sidebarWidgetsIds","i","widgetId","oldWidget","editEntityRecord","undoIgnore","hasEdits","hasEditsForEntityRecord","saveEditedEntityRecord","saveEntityRecord","position","clientId","deleteEntityRecord","force","records","__experimentalBatch","preservedRecords","record","hasOwnProperty","failedWidgetNames","__internalWidgetId","error","getLastEntitySaveError","Error","join","trySaveWidgetArea","undefined","throwOnError","setWidgetIdForClientId","setWidgetAreasOpenState","widgetAreasOpenState","setIsWidgetAreaOpen","isOpen","setIsInserterOpened","value","setIsListViewOpened","closeGeneralSidebar","disableComplementaryArea","moveBlockToWidgetArea","sourceRootClientId","getBlockRootClientId","getBlocks","destinationWidgetAreaBlock","find","destinationRootClientId","destinationInnerBlocksClientIds","getBlockOrder","destinationIndex","isDestinationWidgetAreaOpen","getIsWidgetAreaOpen","moveBlocksToPosition"],"sources":["@wordpress/edit-widgets/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { getWidgetIdFromBlock } from '@wordpress/widgets';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { transformBlockToWidget } from './transformers';\nimport {\n\tbuildWidgetAreaPostId,\n\tbuildWidgetAreasQuery,\n\tcreateStubPost,\n\tKIND,\n\tPOST_TYPE,\n\tWIDGET_AREA_ENTITY_TYPE,\n} from './utils';\nimport { STORE_NAME as editWidgetsStoreName } from './constants';\n\n/**\n * Persists a stub post with given ID to core data store. The post is meant to be in-memory only and\n * shouldn't be saved via the API.\n *\n * @param {string} id Post ID.\n * @param {Array} blocks Blocks the post should consist of.\n * @return {Object} The post object.\n */\nexport const persistStubPost =\n\t( id, blocks ) =>\n\t( { registry } ) => {\n\t\tconst stubPost = createStubPost( id, blocks );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.receiveEntityRecords(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tstubPost,\n\t\t\t\t{ id: stubPost.id },\n\t\t\t\tfalse\n\t\t\t);\n\t\treturn stubPost;\n\t};\n\n/**\n * Converts all the blocks from edited widget areas into widgets,\n * and submits a batch request to save everything at once.\n *\n * Creates a snackbar notice on either success or error.\n *\n * @return {Function} An action creator.\n */\nexport const saveEditedWidgetAreas =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst editedWidgetAreas = select.getEditedWidgetAreas();\n\t\tif ( ! editedWidgetAreas?.length ) {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tawait dispatch.saveWidgetAreas( editedWidgetAreas );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( __( 'Widgets saved.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t} catch ( e ) {\n\t\t\tregistry.dispatch( noticesStore ).createErrorNotice(\n\t\t\t\t/* translators: %s: The error message. */\n\t\t\t\tsprintf( __( 'There was an error. %s' ), e.message ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Converts all the blocks from specified widget areas into widgets,\n * and submits a batch request to save everything at once.\n *\n * @param {Object[]} widgetAreas Widget areas to save.\n * @return {Function} An action creator.\n */\nexport const saveWidgetAreas =\n\t( widgetAreas ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\ttry {\n\t\t\tfor ( const widgetArea of widgetAreas ) {\n\t\t\t\tawait dispatch.saveWidgetArea( widgetArea.id );\n\t\t\t}\n\t\t} finally {\n\t\t\t// saveEditedEntityRecord resets the resolution status, let's fix it manually.\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.finishResolution(\n\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\tKIND,\n\t\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\t\tbuildWidgetAreasQuery()\n\t\t\t\t);\n\t\t}\n\t};\n\n/**\n * Converts all the blocks from a widget area specified by ID into widgets,\n * and submits a batch request to save everything at once.\n *\n * @param {string} widgetAreaId ID of the widget area to process.\n * @return {Function} An action creator.\n */\nexport const saveWidgetArea =\n\t( widgetAreaId ) =>\n\tasync ( { dispatch, select, registry } ) => {\n\t\tconst widgets = select.getWidgets();\n\n\t\tconst post = registry\n\t\t\t.select( coreStore )\n\t\t\t.getEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tbuildWidgetAreaPostId( widgetAreaId )\n\t\t\t);\n\n\t\t// Get all widgets from this area\n\t\tconst areaWidgets = Object.values( widgets ).filter(\n\t\t\t( { sidebar } ) => sidebar === widgetAreaId\n\t\t);\n\n\t\t// Remove all duplicate reference widget instances for legacy widgets.\n\t\t// Why? We filter out the widgets with duplicate IDs to prevent adding more than one instance of a widget\n\t\t// implemented using a function. WordPress doesn't support having more than one instance of these, if you try to\n\t\t// save multiple instances of these in different sidebars you will run into undefined behaviors.\n\t\tconst usedReferenceWidgets = [];\n\t\tconst widgetsBlocks = post.blocks.filter( ( block ) => {\n\t\t\tconst { id } = block.attributes;\n\n\t\t\tif ( block.name === 'core/legacy-widget' && id ) {\n\t\t\t\tif ( usedReferenceWidgets.includes( id ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tusedReferenceWidgets.push( id );\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t\t// Determine which widgets have been deleted. We can tell if a widget is\n\t\t// deleted and not just moved to a different area by looking to see if\n\t\t// getWidgetAreaForWidgetId() finds something.\n\t\tconst deletedWidgets = [];\n\t\tfor ( const widget of areaWidgets ) {\n\t\t\tconst widgetsNewArea = select.getWidgetAreaForWidgetId( widget.id );\n\t\t\tif ( ! widgetsNewArea ) {\n\t\t\t\tdeletedWidgets.push( widget );\n\t\t\t}\n\t\t}\n\n\t\tconst batchMeta = [];\n\t\tconst batchTasks = [];\n\t\tconst sidebarWidgetsIds = [];\n\t\tfor ( let i = 0; i < widgetsBlocks.length; i++ ) {\n\t\t\tconst block = widgetsBlocks[ i ];\n\t\t\tconst widgetId = getWidgetIdFromBlock( block );\n\t\t\tconst oldWidget = widgets[ widgetId ];\n\t\t\tconst widget = transformBlockToWidget( block, oldWidget );\n\n\t\t\t// We'll replace the null widgetId after save, but we track it here\n\t\t\t// since order is important.\n\t\t\tsidebarWidgetsIds.push( widgetId );\n\n\t\t\t// Check oldWidget as widgetId might refer to an ID which has been\n\t\t\t// deleted, e.g. if a deleted block is restored via undo after saving.\n\t\t\tif ( oldWidget ) {\n\t\t\t\t// Update an existing widget.\n\t\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'widget',\n\t\t\t\t\twidgetId,\n\t\t\t\t\t{\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tsidebar: widgetAreaId,\n\t\t\t\t\t},\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\n\t\t\t\tconst hasEdits = registry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.hasEditsForEntityRecord( 'root', 'widget', widgetId );\n\n\t\t\t\tif ( ! hasEdits ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tbatchTasks.push( ( { saveEditedEntityRecord } ) =>\n\t\t\t\t\tsaveEditedEntityRecord( 'root', 'widget', widgetId )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Create a new widget.\n\t\t\t\tbatchTasks.push( ( { saveEntityRecord } ) =>\n\t\t\t\t\tsaveEntityRecord( 'root', 'widget', {\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tsidebar: widgetAreaId,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tbatchMeta.push( {\n\t\t\t\tblock,\n\t\t\t\tposition: i,\n\t\t\t\tclientId: block.clientId,\n\t\t\t} );\n\t\t}\n\t\tfor ( const widget of deletedWidgets ) {\n\t\t\tbatchTasks.push( ( { deleteEntityRecord } ) =>\n\t\t\t\tdeleteEntityRecord( 'root', 'widget', widget.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst records = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.__experimentalBatch( batchTasks );\n\t\tconst preservedRecords = records.filter(\n\t\t\t( record ) => ! record.hasOwnProperty( 'deleted' )\n\t\t);\n\n\t\tconst failedWidgetNames = [];\n\n\t\tfor ( let i = 0; i < preservedRecords.length; i++ ) {\n\t\t\tconst widget = preservedRecords[ i ];\n\t\t\tconst { block, position } = batchMeta[ i ];\n\n\t\t\t// Set __internalWidgetId on the block. This will be persisted to the\n\t\t\t// store when we dispatch receiveEntityRecords( post ) below.\n\t\t\tpost.blocks[ position ].attributes.__internalWidgetId = widget.id;\n\n\t\t\tconst error = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntitySaveError( 'root', 'widget', widget.id );\n\t\t\tif ( error ) {\n\t\t\t\tfailedWidgetNames.push( block.attributes?.name || block?.name );\n\t\t\t}\n\n\t\t\tif ( ! sidebarWidgetsIds[ position ] ) {\n\t\t\t\tsidebarWidgetsIds[ position ] = widget.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( failedWidgetNames.length ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: List of widget names */\n\t\t\t\t\t__( 'Could not save the following widgets: %s.' ),\n\t\t\t\t\tfailedWidgetNames.join( ', ' )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\tKIND,\n\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\twidgetAreaId,\n\t\t\t{\n\t\t\t\twidgets: sidebarWidgetsIds,\n\t\t\t},\n\t\t\t{ undoIgnore: true }\n\t\t);\n\n\t\tdispatch( trySaveWidgetArea( widgetAreaId ) );\n\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.receiveEntityRecords( KIND, POST_TYPE, post, undefined );\n\t};\n\nconst trySaveWidgetArea =\n\t( widgetAreaId ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\twidgetAreaId,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t};\n\n/**\n * Sets the clientId stored for a particular widgetId.\n *\n * @param {number} clientId Client id.\n * @param {number} widgetId Widget id.\n *\n * @return {Object} Action.\n */\nexport function setWidgetIdForClientId( clientId, widgetId ) {\n\treturn {\n\t\ttype: 'SET_WIDGET_ID_FOR_CLIENT_ID',\n\t\tclientId,\n\t\twidgetId,\n\t};\n}\n\n/**\n * Sets the open state of all the widget areas.\n *\n * @param {Object} widgetAreasOpenState The open states of all the widget areas.\n *\n * @return {Object} Action.\n */\nexport function setWidgetAreasOpenState( widgetAreasOpenState ) {\n\treturn {\n\t\ttype: 'SET_WIDGET_AREAS_OPEN_STATE',\n\t\twidgetAreasOpenState,\n\t};\n}\n\n/**\n * Sets the open state of the widget area.\n *\n * @param {string} clientId The clientId of the widget area.\n * @param {boolean} isOpen Whether the widget area should be opened.\n *\n * @return {Object} Action.\n */\nexport function setIsWidgetAreaOpen( clientId, isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_WIDGET_AREA_OPEN',\n\t\tclientId,\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n *\n * @return {Object} Action creator.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editWidgetsStoreName );\n\t};\n\n/**\n * Action that handles moving a block between widget areas\n *\n * @param {string} clientId The clientId of the block to move.\n * @param {string} widgetAreaId The id of the widget area to move the block to.\n */\nexport const moveBlockToWidgetArea =\n\t( clientId, widgetAreaId ) =>\n\tasync ( { dispatch, select, registry } ) => {\n\t\tconst sourceRootClientId = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockRootClientId( clientId );\n\n\t\t// Search the top level blocks (widget areas) for the one with the matching\n\t\t// id attribute. Makes the assumption that all top-level blocks are widget\n\t\t// areas.\n\t\tconst widgetAreas = registry.select( blockEditorStore ).getBlocks();\n\t\tconst destinationWidgetAreaBlock = widgetAreas.find(\n\t\t\t( { attributes } ) => attributes.id === widgetAreaId\n\t\t);\n\t\tconst destinationRootClientId = destinationWidgetAreaBlock.clientId;\n\n\t\t// Get the index for moving to the end of the destination widget area.\n\t\tconst destinationInnerBlocksClientIds = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockOrder( destinationRootClientId );\n\t\tconst destinationIndex = destinationInnerBlocksClientIds.length;\n\n\t\t// Reveal the widget area, if it's not open.\n\t\tconst isDestinationWidgetAreaOpen = select.getIsWidgetAreaOpen(\n\t\t\tdestinationRootClientId\n\t\t);\n\n\t\tif ( ! isDestinationWidgetAreaOpen ) {\n\t\t\tdispatch.setIsWidgetAreaOpen( destinationRootClientId, true );\n\t\t}\n\n\t\t// Move the block.\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.moveBlocksToPosition(\n\t\t\t\t[ clientId ],\n\t\t\t\tsourceRootClientId,\n\t\t\t\tdestinationRootClientId,\n\t\t\t\tdestinationIndex\n\t\t\t);\n\t};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/store/constants.js"],"names":["STORE_NAME"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,MAAMA,UAAU,GAAG,mBAAnB","sourcesContent":["/**\n * Module Constants\n */\nexport const STORE_NAME = 'core/edit-widgets';\n"]}
1
+ {"version":3,"names":["STORE_NAME"],"sources":["@wordpress/edit-widgets/src/store/constants.js"],"sourcesContent":["/**\n * Module Constants\n */\nexport const STORE_NAME = 'core/edit-widgets';\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,MAAMA,UAAU,GAAG,mBAAmB"}
@@ -3,15 +3,16 @@
3
3
  */
4
4
  import apiFetch from '@wordpress/api-fetch';
5
5
  import { createReduxStore, register } from '@wordpress/data';
6
+
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
-
10
10
  import reducer from './reducer';
11
11
  import * as resolvers from './resolvers';
12
12
  import * as selectors from './selectors';
13
13
  import * as actions from './actions';
14
14
  import { STORE_NAME } from './constants';
15
+
15
16
  /**
16
17
  * Block editor data store configuration.
17
18
  *
@@ -19,13 +20,13 @@ import { STORE_NAME } from './constants';
19
20
  *
20
21
  * @type {Object}
21
22
  */
22
-
23
23
  const storeConfig = {
24
24
  reducer,
25
25
  selectors,
26
26
  resolvers,
27
27
  actions
28
28
  };
29
+
29
30
  /**
30
31
  * Store definition for the edit widgets namespace.
31
32
  *
@@ -33,17 +34,16 @@ const storeConfig = {
33
34
  *
34
35
  * @type {Object}
35
36
  */
36
-
37
37
  export const store = createReduxStore(STORE_NAME, storeConfig);
38
- register(store); // This package uses a few in-memory post types as wrappers for convenience.
38
+ register(store);
39
+
40
+ // This package uses a few in-memory post types as wrappers for convenience.
39
41
  // This middleware prevents any network requests related to these types as they are
40
42
  // bound to fail anyway.
41
-
42
43
  apiFetch.use(function (options, next) {
43
44
  if (options.path?.indexOf('/wp/v2/types/widget-area') === 0) {
44
45
  return Promise.resolve({});
45
46
  }
46
-
47
47
  return next(options);
48
48
  });
49
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/store/index.js"],"names":["apiFetch","createReduxStore","register","reducer","resolvers","selectors","actions","STORE_NAME","storeConfig","store","use","options","next","path","indexOf","Promise","resolve"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,QAAP,MAAqB,sBAArB;AACA,SAASC,gBAAT,EAA2BC,QAA3B,QAA2C,iBAA3C;AAEA;AACA;AACA;;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAO,KAAKC,SAAZ,MAA2B,aAA3B;AACA,OAAO,KAAKC,SAAZ,MAA2B,aAA3B;AACA,OAAO,KAAKC,OAAZ,MAAyB,WAAzB;AACA,SAASC,UAAT,QAA2B,aAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAG;AACnBL,EAAAA,OADmB;AAEnBE,EAAAA,SAFmB;AAGnBD,EAAAA,SAHmB;AAInBE,EAAAA;AAJmB,CAApB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMG,KAAK,GAAGR,gBAAgB,CAAEM,UAAF,EAAcC,WAAd,CAA9B;AACPN,QAAQ,CAAEO,KAAF,CAAR,C,CAEA;AACA;AACA;;AACAT,QAAQ,CAACU,GAAT,CAAc,UAAWC,OAAX,EAAoBC,IAApB,EAA2B;AACxC,MAAKD,OAAO,CAACE,IAAR,EAAcC,OAAd,CAAuB,0BAAvB,MAAwD,CAA7D,EAAiE;AAChE,WAAOC,OAAO,CAACC,OAAR,CAAiB,EAAjB,CAAP;AACA;;AAED,SAAOJ,IAAI,CAAED,OAAF,CAAX;AACA,CAND","sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as resolvers from './resolvers';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#register\n *\n * @type {Object}\n */\nconst storeConfig = {\n\treducer,\n\tselectors,\n\tresolvers,\n\tactions,\n};\n\n/**\n * Store definition for the edit widgets namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, storeConfig );\nregister( store );\n\n// This package uses a few in-memory post types as wrappers for convenience.\n// This middleware prevents any network requests related to these types as they are\n// bound to fail anyway.\napiFetch.use( function ( options, next ) {\n\tif ( options.path?.indexOf( '/wp/v2/types/widget-area' ) === 0 ) {\n\t\treturn Promise.resolve( {} );\n\t}\n\n\treturn next( options );\n} );\n"]}
1
+ {"version":3,"names":["apiFetch","createReduxStore","register","reducer","resolvers","selectors","actions","STORE_NAME","storeConfig","store","use","options","next","path","indexOf","Promise","resolve"],"sources":["@wordpress/edit-widgets/src/store/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as resolvers from './resolvers';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#register\n *\n * @type {Object}\n */\nconst storeConfig = {\n\treducer,\n\tselectors,\n\tresolvers,\n\tactions,\n};\n\n/**\n * Store definition for the edit widgets namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, storeConfig );\nregister( store );\n\n// This package uses a few in-memory post types as wrappers for convenience.\n// This middleware prevents any network requests related to these types as they are\n// bound to fail anyway.\napiFetch.use( function ( options, next ) {\n\tif ( options.path?.indexOf( '/wp/v2/types/widget-area' ) === 0 ) {\n\t\treturn Promise.resolve( {} );\n\t}\n\n\treturn next( options );\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAC3C,SAASC,gBAAgB,EAAEC,QAAQ,QAAQ,iBAAiB;;AAE5D;AACA;AACA;AACA,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAO,KAAKC,SAAS,MAAM,aAAa;AACxC,OAAO,KAAKC,SAAS,MAAM,aAAa;AACxC,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,SAASC,UAAU,QAAQ,aAAa;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAG;EACnBL,OAAO;EACPE,SAAS;EACTD,SAAS;EACTE;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,KAAK,GAAGR,gBAAgB,CAAEM,UAAU,EAAEC,WAAY,CAAC;AAChEN,QAAQ,CAAEO,KAAM,CAAC;;AAEjB;AACA;AACA;AACAT,QAAQ,CAACU,GAAG,CAAE,UAAWC,OAAO,EAAEC,IAAI,EAAG;EACxC,IAAKD,OAAO,CAACE,IAAI,EAAEC,OAAO,CAAE,0BAA2B,CAAC,KAAK,CAAC,EAAG;IAChE,OAAOC,OAAO,CAACC,OAAO,CAAE,CAAC,CAAE,CAAC;EAC7B;EAEA,OAAOJ,IAAI,CAAED,OAAQ,CAAC;AACvB,CAAE,CAAC"}