@wordpress/edit-widgets 5.16.0 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) 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 -8
  173. package/build-style/style.css +14 -8
  174. package/package.json +28 -27
  175. package/src/components/widget-areas-block-editor-provider/index.js +3 -3
  176. package/src/index.js +0 -1
  177. package/src/store/selectors.js +10 -2
@@ -7,9 +7,7 @@ exports.blockInserterPanel = blockInserterPanel;
7
7
  exports.default = void 0;
8
8
  exports.listViewPanel = listViewPanel;
9
9
  exports.widgetAreasOpenState = widgetAreasOpenState;
10
-
11
10
  var _data = require("@wordpress/data");
12
-
13
11
  /**
14
12
  * WordPress dependencies
15
13
  */
@@ -26,30 +24,29 @@ function widgetAreasOpenState(state = {}, action) {
26
24
  const {
27
25
  type
28
26
  } = action;
29
-
30
27
  switch (type) {
31
28
  case 'SET_WIDGET_AREAS_OPEN_STATE':
32
29
  {
33
30
  return action.widgetAreasOpenState;
34
31
  }
35
-
36
32
  case 'SET_IS_WIDGET_AREA_OPEN':
37
33
  {
38
34
  const {
39
35
  clientId,
40
36
  isOpen
41
37
  } = action;
42
- return { ...state,
38
+ return {
39
+ ...state,
43
40
  [clientId]: isOpen
44
41
  };
45
42
  }
46
-
47
43
  default:
48
44
  {
49
45
  return state;
50
46
  }
51
47
  }
52
48
  }
49
+
53
50
  /**
54
51
  * Reducer to set the block inserter panel open or closed.
55
52
  *
@@ -59,19 +56,16 @@ function widgetAreasOpenState(state = {}, action) {
59
56
  * @param {Object} state Current state.
60
57
  * @param {Object} action Dispatched action.
61
58
  */
62
-
63
-
64
59
  function blockInserterPanel(state = false, action) {
65
60
  switch (action.type) {
66
61
  case 'SET_IS_LIST_VIEW_OPENED':
67
62
  return action.isOpen ? false : state;
68
-
69
63
  case 'SET_IS_INSERTER_OPENED':
70
64
  return action.value;
71
65
  }
72
-
73
66
  return state;
74
67
  }
68
+
75
69
  /**
76
70
  * Reducer to set the list view panel open or closed.
77
71
  *
@@ -81,25 +75,19 @@ function blockInserterPanel(state = false, action) {
81
75
  * @param {Object} state Current state.
82
76
  * @param {Object} action Dispatched action.
83
77
  */
84
-
85
-
86
78
  function listViewPanel(state = false, action) {
87
79
  switch (action.type) {
88
80
  case 'SET_IS_INSERTER_OPENED':
89
81
  return action.value ? false : state;
90
-
91
82
  case 'SET_IS_LIST_VIEW_OPENED':
92
83
  return action.isOpen;
93
84
  }
94
-
95
85
  return state;
96
86
  }
97
-
98
87
  var _default = (0, _data.combineReducers)({
99
88
  blockInserterPanel,
100
89
  listViewPanel,
101
90
  widgetAreasOpenState
102
91
  });
103
-
104
92
  exports.default = _default;
105
93
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/store/reducer.js"],"names":["widgetAreasOpenState","state","action","type","clientId","isOpen","blockInserterPanel","value","listViewPanel"],"mappings":";;;;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,oBAAT,CAA+BC,KAAK,GAAG,EAAvC,EAA2CC,MAA3C,EAAoD;AAC1D,QAAM;AAAEC,IAAAA;AAAF,MAAWD,MAAjB;;AACA,UAASC,IAAT;AACC,SAAK,6BAAL;AAAoC;AACnC,eAAOD,MAAM,CAACF,oBAAd;AACA;;AACD,SAAK,yBAAL;AAAgC;AAC/B,cAAM;AAAEI,UAAAA,QAAF;AAAYC,UAAAA;AAAZ,YAAuBH,MAA7B;AACA,eAAO,EACN,GAAGD,KADG;AAEN,WAAEG,QAAF,GAAcC;AAFR,SAAP;AAIA;;AACD;AAAS;AACR,eAAOJ,KAAP;AACA;AAbF;AAeA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASK,kBAAT,CAA6BL,KAAK,GAAG,KAArC,EAA4CC,MAA5C,EAAqD;AAC3D,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,yBAAL;AACC,aAAOD,MAAM,CAACG,MAAP,GAAgB,KAAhB,GAAwBJ,KAA/B;;AACD,SAAK,wBAAL;AACC,aAAOC,MAAM,CAACK,KAAd;AAJF;;AAMA,SAAON,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASO,aAAT,CAAwBP,KAAK,GAAG,KAAhC,EAAuCC,MAAvC,EAAgD;AACtD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,wBAAL;AACC,aAAOD,MAAM,CAACK,KAAP,GAAe,KAAf,GAAuBN,KAA9B;;AACD,SAAK,yBAAL;AACC,aAAOC,MAAM,CAACG,MAAd;AAJF;;AAMA,SAAOJ,KAAP;AACA;;eAEc,2BAAiB;AAC/BK,EAAAA,kBAD+B;AAE/BE,EAAAA,aAF+B;AAG/BR,EAAAA;AAH+B,CAAjB,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tlistViewPanel,\n\twidgetAreasOpenState,\n} );\n"]}
1
+ {"version":3,"names":["_data","require","widgetAreasOpenState","state","action","type","clientId","isOpen","blockInserterPanel","value","listViewPanel","_default","combineReducers","exports","default"],"sources":["@wordpress/edit-widgets/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tlistViewPanel,\n\twidgetAreasOpenState,\n} );\n"],"mappings":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAG;EAC1D,MAAM;IAAEC;EAAK,CAAC,GAAGD,MAAM;EACvB,QAASC,IAAI;IACZ,KAAK,6BAA6B;MAAE;QACnC,OAAOD,MAAM,CAACF,oBAAoB;MACnC;IACA,KAAK,yBAAyB;MAAE;QAC/B,MAAM;UAAEI,QAAQ;UAAEC;QAAO,CAAC,GAAGH,MAAM;QACnC,OAAO;UACN,GAAGD,KAAK;UACR,CAAEG,QAAQ,GAAIC;QACf,CAAC;MACF;IACA;MAAS;QACR,OAAOJ,KAAK;MACb;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,kBAAkBA,CAAEL,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,yBAAyB;MAC7B,OAAOD,MAAM,CAACG,MAAM,GAAG,KAAK,GAAGJ,KAAK;IACrC,KAAK,wBAAwB;MAC5B,OAAOC,MAAM,CAACK,KAAK;EACrB;EACA,OAAON,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,aAAaA,CAAEP,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EACtD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,wBAAwB;MAC5B,OAAOD,MAAM,CAACK,KAAK,GAAG,KAAK,GAAGN,KAAK;IACpC,KAAK,yBAAyB;MAC7B,OAAOC,MAAM,CAACG,MAAM;EACtB;EACA,OAAOJ,KAAK;AACb;AAAC,IAAAQ,QAAA,GAEc,IAAAC,qBAAe,EAAE;EAC/BJ,kBAAkB;EAClBE,aAAa;EACbR;AACD,CAAE,CAAC;AAAAW,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getWidgets = exports.getWidgetAreas = void 0;
7
-
8
7
  var _blocks = require("@wordpress/blocks");
9
-
10
8
  var _coreData = require("@wordpress/core-data");
11
-
12
9
  var _actions = require("./actions");
13
-
14
10
  var _utils = require("./utils");
15
-
16
11
  var _transformers = require("./transformers");
17
-
18
12
  /**
19
13
  * WordPress dependencies
20
14
  */
@@ -43,27 +37,22 @@ const getWidgetAreas = () => async ({
43
37
  if (a.id === 'wp_inactive_widgets') {
44
38
  return 1;
45
39
  }
46
-
47
40
  if (b.id === 'wp_inactive_widgets') {
48
41
  return -1;
49
42
  }
50
-
51
43
  return 0;
52
44
  });
53
-
54
45
  for (const widgetArea of sortedWidgetAreas) {
55
46
  widgetAreaBlocks.push((0, _blocks.createBlock)('core/widget-area', {
56
47
  id: widgetArea.id,
57
48
  name: widgetArea.name
58
49
  }));
59
-
60
50
  if (!widgetArea.widgets.length) {
61
51
  // If this widget area has no widgets, it won't get a post setup by
62
52
  // the getWidgets resolver.
63
53
  dispatch((0, _actions.persistStubPost)((0, _utils.buildWidgetAreaPostId)(widgetArea.id), []));
64
54
  }
65
55
  }
66
-
67
56
  const widgetAreasOpenState = {};
68
57
  widgetAreaBlocks.forEach((widgetAreaBlock, index) => {
69
58
  // Defaults to open the first widget area.
@@ -72,15 +61,13 @@ const getWidgetAreas = () => async ({
72
61
  dispatch((0, _actions.setWidgetAreasOpenState)(widgetAreasOpenState));
73
62
  dispatch((0, _actions.persistStubPost)((0, _utils.buildWidgetAreasPostId)(), widgetAreaBlocks));
74
63
  };
64
+
75
65
  /**
76
66
  * Fetches all widgets from all widgets ares, and groups them by widget area Id.
77
67
  *
78
68
  * @return {Function} An action creator.
79
69
  */
80
-
81
-
82
70
  exports.getWidgetAreas = getWidgetAreas;
83
-
84
71
  const getWidgets = () => async ({
85
72
  dispatch,
86
73
  registry
@@ -88,13 +75,11 @@ const getWidgets = () => async ({
88
75
  const query = (0, _utils.buildWidgetsQuery)();
89
76
  const widgets = await registry.resolveSelect(_coreData.store).getEntityRecords('root', 'widget', query);
90
77
  const groupedBySidebar = {};
91
-
92
78
  for (const widget of widgets) {
93
79
  const block = (0, _transformers.transformWidgetToBlock)(widget);
94
80
  groupedBySidebar[widget.sidebar] = groupedBySidebar[widget.sidebar] || [];
95
81
  groupedBySidebar[widget.sidebar].push(block);
96
82
  }
97
-
98
83
  for (const sidebarId in groupedBySidebar) {
99
84
  if (groupedBySidebar.hasOwnProperty(sidebarId)) {
100
85
  // Persist the actual post containing the widget block
@@ -102,6 +87,5 @@ const getWidgets = () => async ({
102
87
  }
103
88
  }
104
89
  };
105
-
106
90
  exports.getWidgets = getWidgets;
107
91
  //# sourceMappingURL=resolvers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/store/resolvers.js"],"names":["getWidgetAreas","dispatch","registry","query","widgetAreas","resolveSelect","coreStore","getEntityRecords","KIND","WIDGET_AREA_ENTITY_TYPE","widgetAreaBlocks","sortedWidgetAreas","sort","a","b","id","widgetArea","push","name","widgets","length","widgetAreasOpenState","forEach","widgetAreaBlock","index","clientId","getWidgets","groupedBySidebar","widget","block","sidebar","sidebarId","hasOwnProperty"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { persistStubPost, setWidgetAreasOpenState } from './actions';\nimport {\n\tKIND,\n\tWIDGET_AREA_ENTITY_TYPE,\n\tbuildWidgetsQuery,\n\tbuildWidgetAreasQuery,\n\tbuildWidgetAreaPostId,\n\tbuildWidgetAreasPostId,\n} from './utils';\nimport { transformWidgetToBlock } from './transformers';\n\n/**\n * Creates a \"stub\" widgets post reflecting all available widget areas. The\n * post is meant as a convenient to only exists in runtime and should never be saved. It\n * enables a convenient way of editing the widgets by using a regular post editor.\n *\n * Fetches all widgets from all widgets aras, converts them into blocks, and hydrates a new post with them.\n *\n * @return {Function} An action creator.\n */\nexport const getWidgetAreas =\n\t() =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst query = buildWidgetAreasQuery();\n\t\tconst widgetAreas = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getEntityRecords( KIND, WIDGET_AREA_ENTITY_TYPE, query );\n\n\t\tconst widgetAreaBlocks = [];\n\t\tconst sortedWidgetAreas = widgetAreas.sort( ( a, b ) => {\n\t\t\tif ( a.id === 'wp_inactive_widgets' ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ( b.id === 'wp_inactive_widgets' ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t} );\n\t\tfor ( const widgetArea of sortedWidgetAreas ) {\n\t\t\twidgetAreaBlocks.push(\n\t\t\t\tcreateBlock( 'core/widget-area', {\n\t\t\t\t\tid: widgetArea.id,\n\t\t\t\t\tname: widgetArea.name,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif ( ! widgetArea.widgets.length ) {\n\t\t\t\t// If this widget area has no widgets, it won't get a post setup by\n\t\t\t\t// the getWidgets resolver.\n\t\t\t\tdispatch(\n\t\t\t\t\tpersistStubPost(\n\t\t\t\t\t\tbuildWidgetAreaPostId( widgetArea.id ),\n\t\t\t\t\t\t[]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst widgetAreasOpenState = {};\n\t\twidgetAreaBlocks.forEach( ( widgetAreaBlock, index ) => {\n\t\t\t// Defaults to open the first widget area.\n\t\t\twidgetAreasOpenState[ widgetAreaBlock.clientId ] = index === 0;\n\t\t} );\n\t\tdispatch( setWidgetAreasOpenState( widgetAreasOpenState ) );\n\n\t\tdispatch(\n\t\t\tpersistStubPost( buildWidgetAreasPostId(), widgetAreaBlocks )\n\t\t);\n\t};\n\n/**\n * Fetches all widgets from all widgets ares, and groups them by widget area Id.\n *\n * @return {Function} An action creator.\n */\nexport const getWidgets =\n\t() =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst query = buildWidgetsQuery();\n\t\tconst widgets = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getEntityRecords( 'root', 'widget', query );\n\n\t\tconst groupedBySidebar = {};\n\n\t\tfor ( const widget of widgets ) {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\t\t\tgroupedBySidebar[ widget.sidebar ] =\n\t\t\t\tgroupedBySidebar[ widget.sidebar ] || [];\n\t\t\tgroupedBySidebar[ widget.sidebar ].push( block );\n\t\t}\n\n\t\tfor ( const sidebarId in groupedBySidebar ) {\n\t\t\tif ( groupedBySidebar.hasOwnProperty( sidebarId ) ) {\n\t\t\t\t// Persist the actual post containing the widget block\n\t\t\t\tdispatch(\n\t\t\t\t\tpersistStubPost(\n\t\t\t\t\t\tbuildWidgetAreaPostId( sidebarId ),\n\t\t\t\t\t\tgroupedBySidebar[ sidebarId ]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n"]}
1
+ {"version":3,"names":["_blocks","require","_coreData","_actions","_utils","_transformers","getWidgetAreas","dispatch","registry","query","buildWidgetAreasQuery","widgetAreas","resolveSelect","coreStore","getEntityRecords","KIND","WIDGET_AREA_ENTITY_TYPE","widgetAreaBlocks","sortedWidgetAreas","sort","a","b","id","widgetArea","push","createBlock","name","widgets","length","persistStubPost","buildWidgetAreaPostId","widgetAreasOpenState","forEach","widgetAreaBlock","index","clientId","setWidgetAreasOpenState","buildWidgetAreasPostId","exports","getWidgets","buildWidgetsQuery","groupedBySidebar","widget","block","transformWidgetToBlock","sidebar","sidebarId","hasOwnProperty"],"sources":["@wordpress/edit-widgets/src/store/resolvers.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { persistStubPost, setWidgetAreasOpenState } from './actions';\nimport {\n\tKIND,\n\tWIDGET_AREA_ENTITY_TYPE,\n\tbuildWidgetsQuery,\n\tbuildWidgetAreasQuery,\n\tbuildWidgetAreaPostId,\n\tbuildWidgetAreasPostId,\n} from './utils';\nimport { transformWidgetToBlock } from './transformers';\n\n/**\n * Creates a \"stub\" widgets post reflecting all available widget areas. The\n * post is meant as a convenient to only exists in runtime and should never be saved. It\n * enables a convenient way of editing the widgets by using a regular post editor.\n *\n * Fetches all widgets from all widgets aras, converts them into blocks, and hydrates a new post with them.\n *\n * @return {Function} An action creator.\n */\nexport const getWidgetAreas =\n\t() =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst query = buildWidgetAreasQuery();\n\t\tconst widgetAreas = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getEntityRecords( KIND, WIDGET_AREA_ENTITY_TYPE, query );\n\n\t\tconst widgetAreaBlocks = [];\n\t\tconst sortedWidgetAreas = widgetAreas.sort( ( a, b ) => {\n\t\t\tif ( a.id === 'wp_inactive_widgets' ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ( b.id === 'wp_inactive_widgets' ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t} );\n\t\tfor ( const widgetArea of sortedWidgetAreas ) {\n\t\t\twidgetAreaBlocks.push(\n\t\t\t\tcreateBlock( 'core/widget-area', {\n\t\t\t\t\tid: widgetArea.id,\n\t\t\t\t\tname: widgetArea.name,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif ( ! widgetArea.widgets.length ) {\n\t\t\t\t// If this widget area has no widgets, it won't get a post setup by\n\t\t\t\t// the getWidgets resolver.\n\t\t\t\tdispatch(\n\t\t\t\t\tpersistStubPost(\n\t\t\t\t\t\tbuildWidgetAreaPostId( widgetArea.id ),\n\t\t\t\t\t\t[]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst widgetAreasOpenState = {};\n\t\twidgetAreaBlocks.forEach( ( widgetAreaBlock, index ) => {\n\t\t\t// Defaults to open the first widget area.\n\t\t\twidgetAreasOpenState[ widgetAreaBlock.clientId ] = index === 0;\n\t\t} );\n\t\tdispatch( setWidgetAreasOpenState( widgetAreasOpenState ) );\n\n\t\tdispatch(\n\t\t\tpersistStubPost( buildWidgetAreasPostId(), widgetAreaBlocks )\n\t\t);\n\t};\n\n/**\n * Fetches all widgets from all widgets ares, and groups them by widget area Id.\n *\n * @return {Function} An action creator.\n */\nexport const getWidgets =\n\t() =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst query = buildWidgetsQuery();\n\t\tconst widgets = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getEntityRecords( 'root', 'widget', query );\n\n\t\tconst groupedBySidebar = {};\n\n\t\tfor ( const widget of widgets ) {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\t\t\tgroupedBySidebar[ widget.sidebar ] =\n\t\t\t\tgroupedBySidebar[ widget.sidebar ] || [];\n\t\t\tgroupedBySidebar[ widget.sidebar ].push( block );\n\t\t}\n\n\t\tfor ( const sidebarId in groupedBySidebar ) {\n\t\t\tif ( groupedBySidebar.hasOwnProperty( sidebarId ) ) {\n\t\t\t\t// Persist the actual post containing the widget block\n\t\t\t\tdispatch(\n\t\t\t\t\tpersistStubPost(\n\t\t\t\t\t\tbuildWidgetAreaPostId( sidebarId ),\n\t\t\t\t\t\tgroupedBySidebar[ sidebarId ]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n"],"mappings":"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"}
@@ -8,19 +8,12 @@ exports.getWidgets = exports.getWidgetAreas = exports.getWidgetAreaForWidgetId =
8
8
  exports.isInserterOpened = isInserterOpened;
9
9
  exports.isListViewOpened = isListViewOpened;
10
10
  exports.isSavingWidgetAreas = void 0;
11
-
12
11
  var _data = require("@wordpress/data");
13
-
14
12
  var _widgets = require("@wordpress/widgets");
15
-
16
13
  var _coreData = require("@wordpress/core-data");
17
-
18
14
  var _blockEditor = require("@wordpress/block-editor");
19
-
20
15
  var _utils = require("./utils");
21
-
22
16
  var _constants = require("./constants");
23
-
24
17
  /**
25
18
  * WordPress dependencies
26
19
  */
@@ -29,6 +22,11 @@ var _constants = require("./constants");
29
22
  * Internal dependencies
30
23
  */
31
24
 
25
+ const EMPTY_INSERTION_POINT = {
26
+ rootClientId: undefined,
27
+ insertionIndex: undefined
28
+ };
29
+
32
30
  /**
33
31
  * Returns all API widgets.
34
32
  *
@@ -36,12 +34,15 @@ var _constants = require("./constants");
36
34
  */
37
35
  const getWidgets = (0, _data.createRegistrySelector)(select => () => {
38
36
  const widgets = select(_coreData.store).getEntityRecords('root', 'widget', (0, _utils.buildWidgetsQuery)());
39
- return (// Key widgets by their ID.
40
- widgets?.reduce((allWidgets, widget) => ({ ...allWidgets,
37
+ return (
38
+ // Key widgets by their ID.
39
+ widgets?.reduce((allWidgets, widget) => ({
40
+ ...allWidgets,
41
41
  [widget.id]: widget
42
42
  }), {}) || {}
43
43
  );
44
44
  });
45
+
45
46
  /**
46
47
  * Returns API widget data for a particular widget ID.
47
48
  *
@@ -49,30 +50,29 @@ const getWidgets = (0, _data.createRegistrySelector)(select => () => {
49
50
  *
50
51
  * @return {Object} API widget data for a particular widget ID.
51
52
  */
52
-
53
53
  exports.getWidgets = getWidgets;
54
54
  const getWidget = (0, _data.createRegistrySelector)(select => (state, id) => {
55
55
  const widgets = select(_constants.STORE_NAME).getWidgets();
56
56
  return widgets[id];
57
57
  });
58
+
58
59
  /**
59
60
  * Returns all API widget areas.
60
61
  *
61
62
  * @return {Object[]} API List of widget areas.
62
63
  */
63
-
64
64
  exports.getWidget = getWidget;
65
65
  const getWidgetAreas = (0, _data.createRegistrySelector)(select => () => {
66
66
  const query = (0, _utils.buildWidgetAreasQuery)();
67
67
  return select(_coreData.store).getEntityRecords(_utils.KIND, _utils.WIDGET_AREA_ENTITY_TYPE, query);
68
68
  });
69
+
69
70
  /**
70
71
  * Returns widgetArea containing a block identify by given widgetId
71
72
  *
72
73
  * @param {string} widgetId The ID of the widget.
73
74
  * @return {Object} Containing widget area.
74
75
  */
75
-
76
76
  exports.getWidgetAreas = getWidgetAreas;
77
77
  const getWidgetAreaForWidgetId = (0, _data.createRegistrySelector)(select => (state, widgetId) => {
78
78
  const widgetAreas = select(_constants.STORE_NAME).getWidgetAreas();
@@ -82,6 +82,7 @@ const getWidgetAreaForWidgetId = (0, _data.createRegistrySelector)(select => (st
82
82
  return blockWidgetIds.includes(widgetId);
83
83
  });
84
84
  });
85
+
85
86
  /**
86
87
  * Given a child client id, returns the parent widget area block.
87
88
  *
@@ -89,7 +90,6 @@ const getWidgetAreaForWidgetId = (0, _data.createRegistrySelector)(select => (st
89
90
  *
90
91
  * @return {WPBlock} The widget area block.
91
92
  */
92
-
93
93
  exports.getWidgetAreaForWidgetId = getWidgetAreaForWidgetId;
94
94
  const getParentWidgetAreaBlock = (0, _data.createRegistrySelector)(select => (state, clientId) => {
95
95
  const {
@@ -101,93 +101,82 @@ const getParentWidgetAreaBlock = (0, _data.createRegistrySelector)(select => (st
101
101
  const widgetAreaClientId = blockParents.find(parentClientId => getBlockName(parentClientId) === 'core/widget-area');
102
102
  return getBlock(widgetAreaClientId);
103
103
  });
104
+
104
105
  /**
105
106
  * Returns all edited widget area entity records.
106
107
  *
107
108
  * @return {Object[]} List of edited widget area entity records.
108
109
  */
109
-
110
110
  exports.getParentWidgetAreaBlock = getParentWidgetAreaBlock;
111
111
  const getEditedWidgetAreas = (0, _data.createRegistrySelector)(select => (state, ids) => {
112
112
  let widgetAreas = select(_constants.STORE_NAME).getWidgetAreas();
113
-
114
113
  if (!widgetAreas) {
115
114
  return [];
116
115
  }
117
-
118
116
  if (ids) {
119
117
  widgetAreas = widgetAreas.filter(({
120
118
  id
121
119
  }) => ids.includes(id));
122
120
  }
123
-
124
121
  return widgetAreas.filter(({
125
122
  id
126
123
  }) => select(_coreData.store).hasEditsForEntityRecord(_utils.KIND, _utils.POST_TYPE, (0, _utils.buildWidgetAreaPostId)(id))).map(({
127
124
  id
128
125
  }) => select(_coreData.store).getEditedEntityRecord(_utils.KIND, _utils.WIDGET_AREA_ENTITY_TYPE, id));
129
126
  });
127
+
130
128
  /**
131
129
  * Returns all blocks representing reference widgets.
132
130
  *
133
131
  * @param {string} referenceWidgetName Optional. If given, only reference widgets with this name will be returned.
134
132
  * @return {Array} List of all blocks representing reference widgets
135
133
  */
136
-
137
134
  exports.getEditedWidgetAreas = getEditedWidgetAreas;
138
135
  const getReferenceWidgetBlocks = (0, _data.createRegistrySelector)(select => (state, referenceWidgetName = null) => {
139
136
  const results = [];
140
137
  const widgetAreas = select(_constants.STORE_NAME).getWidgetAreas();
141
-
142
138
  for (const _widgetArea of widgetAreas) {
143
139
  const post = select(_coreData.store).getEditedEntityRecord(_utils.KIND, _utils.POST_TYPE, (0, _utils.buildWidgetAreaPostId)(_widgetArea.id));
144
-
145
140
  for (const block of post.blocks) {
146
141
  if (block.name === 'core/legacy-widget' && (!referenceWidgetName || block.attributes?.referenceWidgetName === referenceWidgetName)) {
147
142
  results.push(block);
148
143
  }
149
144
  }
150
145
  }
151
-
152
146
  return results;
153
147
  });
148
+
154
149
  /**
155
150
  * Returns true if any widget area is currently being saved.
156
151
  *
157
152
  * @return {boolean} True if any widget area is currently being saved. False otherwise.
158
153
  */
159
-
160
154
  exports.getReferenceWidgetBlocks = getReferenceWidgetBlocks;
161
155
  const isSavingWidgetAreas = (0, _data.createRegistrySelector)(select => () => {
162
156
  const widgetAreasIds = select(_constants.STORE_NAME).getWidgetAreas()?.map(({
163
157
  id
164
158
  }) => id);
165
-
166
159
  if (!widgetAreasIds) {
167
160
  return false;
168
161
  }
169
-
170
162
  for (const id of widgetAreasIds) {
171
163
  const isSaving = select(_coreData.store).isSavingEntityRecord(_utils.KIND, _utils.WIDGET_AREA_ENTITY_TYPE, id);
172
-
173
164
  if (isSaving) {
174
165
  return true;
175
166
  }
176
167
  }
177
-
178
168
  const widgetIds = [...Object.keys(select(_constants.STORE_NAME).getWidgets()), undefined // account for new widgets without an ID
179
169
  ];
180
170
 
181
171
  for (const id of widgetIds) {
182
172
  const isSaving = select(_coreData.store).isSavingEntityRecord('root', 'widget', id);
183
-
184
173
  if (isSaving) {
185
174
  return true;
186
175
  }
187
176
  }
188
-
189
177
  return false;
190
178
  });
179
+
191
180
  /**
192
181
  * Gets whether the widget area is opened.
193
182
  *
@@ -196,15 +185,14 @@ const isSavingWidgetAreas = (0, _data.createRegistrySelector)(select => () => {
196
185
  *
197
186
  * @return {boolean} True if the widget area is open.
198
187
  */
199
-
200
188
  exports.isSavingWidgetAreas = isSavingWidgetAreas;
201
-
202
189
  const getIsWidgetAreaOpen = (state, clientId) => {
203
190
  const {
204
191
  widgetAreasOpenState
205
192
  } = state;
206
193
  return !!widgetAreasOpenState[clientId];
207
194
  };
195
+
208
196
  /**
209
197
  * Returns true if the inserter is opened.
210
198
  *
@@ -212,13 +200,11 @@ const getIsWidgetAreaOpen = (state, clientId) => {
212
200
  *
213
201
  * @return {boolean} Whether the inserter is opened.
214
202
  */
215
-
216
-
217
203
  exports.getIsWidgetAreaOpen = getIsWidgetAreaOpen;
218
-
219
204
  function isInserterOpened(state) {
220
205
  return !!state.blockInserterPanel;
221
206
  }
207
+
222
208
  /**
223
209
  * Get the insertion point for the inserter.
224
210
  *
@@ -226,18 +212,13 @@ function isInserterOpened(state) {
226
212
  *
227
213
  * @return {Object} The root client ID and index to insert at.
228
214
  */
229
-
230
-
231
215
  function __experimentalGetInsertionPoint(state) {
232
- const {
233
- rootClientId,
234
- insertionIndex
235
- } = state.blockInserterPanel;
236
- return {
237
- rootClientId,
238
- insertionIndex
239
- };
216
+ if (typeof state === 'boolean') {
217
+ return EMPTY_INSERTION_POINT;
218
+ }
219
+ return state.blockInserterPanel;
240
220
  }
221
+
241
222
  /**
242
223
  * Returns true if a block can be inserted into a widget area.
243
224
  *
@@ -246,17 +227,17 @@ function __experimentalGetInsertionPoint(state) {
246
227
  *
247
228
  * @return {boolean} True if the block can be inserted in a widget area.
248
229
  */
249
-
250
-
251
230
  const canInsertBlockInWidgetArea = (0, _data.createRegistrySelector)(select => (state, blockName) => {
252
231
  // Widget areas are always top-level blocks, which getBlocks will return.
253
- const widgetAreas = select(_blockEditor.store).getBlocks(); // Makes an assumption that a block that can be inserted into one
232
+ const widgetAreas = select(_blockEditor.store).getBlocks();
233
+
234
+ // Makes an assumption that a block that can be inserted into one
254
235
  // widget area can be inserted into any widget area. Uses the first
255
236
  // widget area for testing whether the block can be inserted.
256
-
257
237
  const [firstWidgetArea] = widgetAreas;
258
238
  return select(_blockEditor.store).canInsertBlockType(blockName, firstWidgetArea.clientId);
259
239
  });
240
+
260
241
  /**
261
242
  * Returns true if the list view is opened.
262
243
  *
@@ -264,9 +245,7 @@ const canInsertBlockInWidgetArea = (0, _data.createRegistrySelector)(select => (
264
245
  *
265
246
  * @return {boolean} Whether the list view is opened.
266
247
  */
267
-
268
248
  exports.canInsertBlockInWidgetArea = canInsertBlockInWidgetArea;
269
-
270
249
  function isListViewOpened(state) {
271
250
  return state.listViewPanel;
272
251
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-widgets/src/store/selectors.js"],"names":["getWidgets","select","widgets","coreStore","getEntityRecords","reduce","allWidgets","widget","id","getWidget","state","editWidgetsStoreName","getWidgetAreas","query","KIND","WIDGET_AREA_ENTITY_TYPE","getWidgetAreaForWidgetId","widgetId","widgetAreas","find","widgetArea","post","getEditedEntityRecord","POST_TYPE","blockWidgetIds","blocks","map","block","includes","getParentWidgetAreaBlock","clientId","getBlock","getBlockName","getBlockParents","blockEditorStore","blockParents","widgetAreaClientId","parentClientId","getEditedWidgetAreas","ids","filter","hasEditsForEntityRecord","getReferenceWidgetBlocks","referenceWidgetName","results","_widgetArea","name","attributes","push","isSavingWidgetAreas","widgetAreasIds","isSaving","isSavingEntityRecord","widgetIds","Object","keys","undefined","getIsWidgetAreaOpen","widgetAreasOpenState","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","canInsertBlockInWidgetArea","blockName","getBlocks","firstWidgetArea","canInsertBlockType","isListViewOpened","listViewPanel"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\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 {\n\tbuildWidgetsQuery,\n\tbuildWidgetAreasQuery,\n\tbuildWidgetAreaPostId,\n\tKIND,\n\tPOST_TYPE,\n\tWIDGET_AREA_ENTITY_TYPE,\n} from './utils';\nimport { STORE_NAME as editWidgetsStoreName } from './constants';\n\n/**\n * Returns all API widgets.\n *\n * @return {Object[]} API List of widgets.\n */\nexport const getWidgets = createRegistrySelector( ( select ) => () => {\n\tconst widgets = select( coreStore ).getEntityRecords(\n\t\t'root',\n\t\t'widget',\n\t\tbuildWidgetsQuery()\n\t);\n\n\treturn (\n\t\t// Key widgets by their ID.\n\t\twidgets?.reduce(\n\t\t\t( allWidgets, widget ) => ( {\n\t\t\t\t...allWidgets,\n\t\t\t\t[ widget.id ]: widget,\n\t\t\t} ),\n\t\t\t{}\n\t\t) || {}\n\t);\n} );\n\n/**\n * Returns API widget data for a particular widget ID.\n *\n * @param {number} id Widget ID.\n *\n * @return {Object} API widget data for a particular widget ID.\n */\nexport const getWidget = createRegistrySelector(\n\t( select ) => ( state, id ) => {\n\t\tconst widgets = select( editWidgetsStoreName ).getWidgets();\n\t\treturn widgets[ id ];\n\t}\n);\n\n/**\n * Returns all API widget areas.\n *\n * @return {Object[]} API List of widget areas.\n */\nexport const getWidgetAreas = createRegistrySelector( ( select ) => () => {\n\tconst query = buildWidgetAreasQuery();\n\treturn select( coreStore ).getEntityRecords(\n\t\tKIND,\n\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\tquery\n\t);\n} );\n\n/**\n * Returns widgetArea containing a block identify by given widgetId\n *\n * @param {string} widgetId The ID of the widget.\n * @return {Object} Containing widget area.\n */\nexport const getWidgetAreaForWidgetId = createRegistrySelector(\n\t( select ) => ( state, widgetId ) => {\n\t\tconst widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\treturn widgetAreas.find( ( widgetArea ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tbuildWidgetAreaPostId( widgetArea.id )\n\t\t\t);\n\t\t\tconst blockWidgetIds = post.blocks.map( ( block ) =>\n\t\t\t\tgetWidgetIdFromBlock( block )\n\t\t\t);\n\t\t\treturn blockWidgetIds.includes( widgetId );\n\t\t} );\n\t}\n);\n\n/**\n * Given a child client id, returns the parent widget area block.\n *\n * @param {string} clientId The client id of a block in a widget area.\n *\n * @return {WPBlock} The widget area block.\n */\nexport const getParentWidgetAreaBlock = createRegistrySelector(\n\t( select ) => ( state, clientId ) => {\n\t\tconst { getBlock, getBlockName, getBlockParents } =\n\t\t\tselect( blockEditorStore );\n\t\tconst blockParents = getBlockParents( clientId );\n\t\tconst widgetAreaClientId = blockParents.find(\n\t\t\t( parentClientId ) =>\n\t\t\t\tgetBlockName( parentClientId ) === 'core/widget-area'\n\t\t);\n\t\treturn getBlock( widgetAreaClientId );\n\t}\n);\n\n/**\n * Returns all edited widget area entity records.\n *\n * @return {Object[]} List of edited widget area entity records.\n */\nexport const getEditedWidgetAreas = createRegistrySelector(\n\t( select ) => ( state, ids ) => {\n\t\tlet widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\tif ( ! widgetAreas ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ids ) {\n\t\t\twidgetAreas = widgetAreas.filter( ( { id } ) =>\n\t\t\t\tids.includes( id )\n\t\t\t);\n\t\t}\n\t\treturn widgetAreas\n\t\t\t.filter( ( { id } ) =>\n\t\t\t\tselect( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tPOST_TYPE,\n\t\t\t\t\tbuildWidgetAreaPostId( id )\n\t\t\t\t)\n\t\t\t)\n\t\t\t.map( ( { id } ) =>\n\t\t\t\tselect( coreStore ).getEditedEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\t\tid\n\t\t\t\t)\n\t\t\t);\n\t}\n);\n\n/**\n * Returns all blocks representing reference widgets.\n *\n * @param {string} referenceWidgetName Optional. If given, only reference widgets with this name will be returned.\n * @return {Array} List of all blocks representing reference widgets\n */\nexport const getReferenceWidgetBlocks = createRegistrySelector(\n\t( select ) =>\n\t\t( state, referenceWidgetName = null ) => {\n\t\t\tconst results = [];\n\t\t\tconst widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\t\tfor ( const _widgetArea of widgetAreas ) {\n\t\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tPOST_TYPE,\n\t\t\t\t\tbuildWidgetAreaPostId( _widgetArea.id )\n\t\t\t\t);\n\t\t\t\tfor ( const block of post.blocks ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tblock.name === 'core/legacy-widget' &&\n\t\t\t\t\t\t( ! referenceWidgetName ||\n\t\t\t\t\t\t\tblock.attributes?.referenceWidgetName ===\n\t\t\t\t\t\t\t\treferenceWidgetName )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresults.push( block );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn results;\n\t\t}\n);\n\n/**\n * Returns true if any widget area is currently being saved.\n *\n * @return {boolean} True if any widget area is currently being saved. False otherwise.\n */\nexport const isSavingWidgetAreas = createRegistrySelector( ( select ) => () => {\n\tconst widgetAreasIds = select( editWidgetsStoreName )\n\t\t.getWidgetAreas()\n\t\t?.map( ( { id } ) => id );\n\tif ( ! widgetAreasIds ) {\n\t\treturn false;\n\t}\n\n\tfor ( const id of widgetAreasIds ) {\n\t\tconst isSaving = select( coreStore ).isSavingEntityRecord(\n\t\t\tKIND,\n\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\tid\n\t\t);\n\t\tif ( isSaving ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tconst widgetIds = [\n\t\t...Object.keys( select( editWidgetsStoreName ).getWidgets() ),\n\t\tundefined, // account for new widgets without an ID\n\t];\n\tfor ( const id of widgetIds ) {\n\t\tconst isSaving = select( coreStore ).isSavingEntityRecord(\n\t\t\t'root',\n\t\t\t'widget',\n\t\t\tid\n\t\t);\n\t\tif ( isSaving ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n} );\n\n/**\n * Gets whether the widget area is opened.\n *\n * @param {Array} state The open state of the widget areas.\n * @param {string} clientId The clientId of the widget area.\n *\n * @return {boolean} True if the widget area is open.\n */\nexport const getIsWidgetAreaOpen = ( state, clientId ) => {\n\tconst { widgetAreasOpenState } = state;\n\treturn !! widgetAreasOpenState[ clientId ];\n};\n\n/**\n * Returns true if the inserter is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the inserter is opened.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID and index to insert at.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tconst { rootClientId, insertionIndex } = state.blockInserterPanel;\n\treturn { rootClientId, insertionIndex };\n}\n\n/**\n * Returns true if a block can be inserted into a widget area.\n *\n * @param {Array} state The open state of the widget areas.\n * @param {string} blockName The name of the block being inserted.\n *\n * @return {boolean} True if the block can be inserted in a widget area.\n */\nexport const canInsertBlockInWidgetArea = createRegistrySelector(\n\t( select ) => ( state, blockName ) => {\n\t\t// Widget areas are always top-level blocks, which getBlocks will return.\n\t\tconst widgetAreas = select( blockEditorStore ).getBlocks();\n\n\t\t// Makes an assumption that a block that can be inserted into one\n\t\t// widget area can be inserted into any widget area. Uses the first\n\t\t// widget area for testing whether the block can be inserted.\n\t\tconst [ firstWidgetArea ] = widgetAreas;\n\t\treturn select( blockEditorStore ).canInsertBlockType(\n\t\t\tblockName,\n\t\t\tfirstWidgetArea.clientId\n\t\t);\n\t}\n);\n\n/**\n * Returns true if the list view is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the list view is opened.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n"]}
1
+ {"version":3,"names":["_data","require","_widgets","_coreData","_blockEditor","_utils","_constants","EMPTY_INSERTION_POINT","rootClientId","undefined","insertionIndex","getWidgets","createRegistrySelector","select","widgets","coreStore","getEntityRecords","buildWidgetsQuery","reduce","allWidgets","widget","id","exports","getWidget","state","editWidgetsStoreName","getWidgetAreas","query","buildWidgetAreasQuery","KIND","WIDGET_AREA_ENTITY_TYPE","getWidgetAreaForWidgetId","widgetId","widgetAreas","find","widgetArea","post","getEditedEntityRecord","POST_TYPE","buildWidgetAreaPostId","blockWidgetIds","blocks","map","block","getWidgetIdFromBlock","includes","getParentWidgetAreaBlock","clientId","getBlock","getBlockName","getBlockParents","blockEditorStore","blockParents","widgetAreaClientId","parentClientId","getEditedWidgetAreas","ids","filter","hasEditsForEntityRecord","getReferenceWidgetBlocks","referenceWidgetName","results","_widgetArea","name","attributes","push","isSavingWidgetAreas","widgetAreasIds","isSaving","isSavingEntityRecord","widgetIds","Object","keys","getIsWidgetAreaOpen","widgetAreasOpenState","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","canInsertBlockInWidgetArea","blockName","getBlocks","firstWidgetArea","canInsertBlockType","isListViewOpened","listViewPanel"],"sources":["@wordpress/edit-widgets/src/store/selectors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\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 {\n\tbuildWidgetsQuery,\n\tbuildWidgetAreasQuery,\n\tbuildWidgetAreaPostId,\n\tKIND,\n\tPOST_TYPE,\n\tWIDGET_AREA_ENTITY_TYPE,\n} from './utils';\nimport { STORE_NAME as editWidgetsStoreName } from './constants';\n\nconst EMPTY_INSERTION_POINT = {\n\trootClientId: undefined,\n\tinsertionIndex: undefined,\n};\n\n/**\n * Returns all API widgets.\n *\n * @return {Object[]} API List of widgets.\n */\nexport const getWidgets = createRegistrySelector( ( select ) => () => {\n\tconst widgets = select( coreStore ).getEntityRecords(\n\t\t'root',\n\t\t'widget',\n\t\tbuildWidgetsQuery()\n\t);\n\n\treturn (\n\t\t// Key widgets by their ID.\n\t\twidgets?.reduce(\n\t\t\t( allWidgets, widget ) => ( {\n\t\t\t\t...allWidgets,\n\t\t\t\t[ widget.id ]: widget,\n\t\t\t} ),\n\t\t\t{}\n\t\t) || {}\n\t);\n} );\n\n/**\n * Returns API widget data for a particular widget ID.\n *\n * @param {number} id Widget ID.\n *\n * @return {Object} API widget data for a particular widget ID.\n */\nexport const getWidget = createRegistrySelector(\n\t( select ) => ( state, id ) => {\n\t\tconst widgets = select( editWidgetsStoreName ).getWidgets();\n\t\treturn widgets[ id ];\n\t}\n);\n\n/**\n * Returns all API widget areas.\n *\n * @return {Object[]} API List of widget areas.\n */\nexport const getWidgetAreas = createRegistrySelector( ( select ) => () => {\n\tconst query = buildWidgetAreasQuery();\n\treturn select( coreStore ).getEntityRecords(\n\t\tKIND,\n\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\tquery\n\t);\n} );\n\n/**\n * Returns widgetArea containing a block identify by given widgetId\n *\n * @param {string} widgetId The ID of the widget.\n * @return {Object} Containing widget area.\n */\nexport const getWidgetAreaForWidgetId = createRegistrySelector(\n\t( select ) => ( state, widgetId ) => {\n\t\tconst widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\treturn widgetAreas.find( ( widgetArea ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tbuildWidgetAreaPostId( widgetArea.id )\n\t\t\t);\n\t\t\tconst blockWidgetIds = post.blocks.map( ( block ) =>\n\t\t\t\tgetWidgetIdFromBlock( block )\n\t\t\t);\n\t\t\treturn blockWidgetIds.includes( widgetId );\n\t\t} );\n\t}\n);\n\n/**\n * Given a child client id, returns the parent widget area block.\n *\n * @param {string} clientId The client id of a block in a widget area.\n *\n * @return {WPBlock} The widget area block.\n */\nexport const getParentWidgetAreaBlock = createRegistrySelector(\n\t( select ) => ( state, clientId ) => {\n\t\tconst { getBlock, getBlockName, getBlockParents } =\n\t\t\tselect( blockEditorStore );\n\t\tconst blockParents = getBlockParents( clientId );\n\t\tconst widgetAreaClientId = blockParents.find(\n\t\t\t( parentClientId ) =>\n\t\t\t\tgetBlockName( parentClientId ) === 'core/widget-area'\n\t\t);\n\t\treturn getBlock( widgetAreaClientId );\n\t}\n);\n\n/**\n * Returns all edited widget area entity records.\n *\n * @return {Object[]} List of edited widget area entity records.\n */\nexport const getEditedWidgetAreas = createRegistrySelector(\n\t( select ) => ( state, ids ) => {\n\t\tlet widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\tif ( ! widgetAreas ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ids ) {\n\t\t\twidgetAreas = widgetAreas.filter( ( { id } ) =>\n\t\t\t\tids.includes( id )\n\t\t\t);\n\t\t}\n\t\treturn widgetAreas\n\t\t\t.filter( ( { id } ) =>\n\t\t\t\tselect( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tPOST_TYPE,\n\t\t\t\t\tbuildWidgetAreaPostId( id )\n\t\t\t\t)\n\t\t\t)\n\t\t\t.map( ( { id } ) =>\n\t\t\t\tselect( coreStore ).getEditedEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\t\tid\n\t\t\t\t)\n\t\t\t);\n\t}\n);\n\n/**\n * Returns all blocks representing reference widgets.\n *\n * @param {string} referenceWidgetName Optional. If given, only reference widgets with this name will be returned.\n * @return {Array} List of all blocks representing reference widgets\n */\nexport const getReferenceWidgetBlocks = createRegistrySelector(\n\t( select ) =>\n\t\t( state, referenceWidgetName = null ) => {\n\t\t\tconst results = [];\n\t\t\tconst widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\t\tfor ( const _widgetArea of widgetAreas ) {\n\t\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tPOST_TYPE,\n\t\t\t\t\tbuildWidgetAreaPostId( _widgetArea.id )\n\t\t\t\t);\n\t\t\t\tfor ( const block of post.blocks ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tblock.name === 'core/legacy-widget' &&\n\t\t\t\t\t\t( ! referenceWidgetName ||\n\t\t\t\t\t\t\tblock.attributes?.referenceWidgetName ===\n\t\t\t\t\t\t\t\treferenceWidgetName )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresults.push( block );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn results;\n\t\t}\n);\n\n/**\n * Returns true if any widget area is currently being saved.\n *\n * @return {boolean} True if any widget area is currently being saved. False otherwise.\n */\nexport const isSavingWidgetAreas = createRegistrySelector( ( select ) => () => {\n\tconst widgetAreasIds = select( editWidgetsStoreName )\n\t\t.getWidgetAreas()\n\t\t?.map( ( { id } ) => id );\n\tif ( ! widgetAreasIds ) {\n\t\treturn false;\n\t}\n\n\tfor ( const id of widgetAreasIds ) {\n\t\tconst isSaving = select( coreStore ).isSavingEntityRecord(\n\t\t\tKIND,\n\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\tid\n\t\t);\n\t\tif ( isSaving ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tconst widgetIds = [\n\t\t...Object.keys( select( editWidgetsStoreName ).getWidgets() ),\n\t\tundefined, // account for new widgets without an ID\n\t];\n\tfor ( const id of widgetIds ) {\n\t\tconst isSaving = select( coreStore ).isSavingEntityRecord(\n\t\t\t'root',\n\t\t\t'widget',\n\t\t\tid\n\t\t);\n\t\tif ( isSaving ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n} );\n\n/**\n * Gets whether the widget area is opened.\n *\n * @param {Array} state The open state of the widget areas.\n * @param {string} clientId The clientId of the widget area.\n *\n * @return {boolean} True if the widget area is open.\n */\nexport const getIsWidgetAreaOpen = ( state, clientId ) => {\n\tconst { widgetAreasOpenState } = state;\n\treturn !! widgetAreasOpenState[ clientId ];\n};\n\n/**\n * Returns true if the inserter is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the inserter is opened.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID and index to insert at.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tif ( typeof state === 'boolean' ) {\n\t\treturn EMPTY_INSERTION_POINT;\n\t}\n\n\treturn state.blockInserterPanel;\n}\n\n/**\n * Returns true if a block can be inserted into a widget area.\n *\n * @param {Array} state The open state of the widget areas.\n * @param {string} blockName The name of the block being inserted.\n *\n * @return {boolean} True if the block can be inserted in a widget area.\n */\nexport const canInsertBlockInWidgetArea = createRegistrySelector(\n\t( select ) => ( state, blockName ) => {\n\t\t// Widget areas are always top-level blocks, which getBlocks will return.\n\t\tconst widgetAreas = select( blockEditorStore ).getBlocks();\n\n\t\t// Makes an assumption that a block that can be inserted into one\n\t\t// widget area can be inserted into any widget area. Uses the first\n\t\t// widget area for testing whether the block can be inserted.\n\t\tconst [ firstWidgetArea ] = widgetAreas;\n\t\treturn select( blockEditorStore ).canInsertBlockType(\n\t\t\tblockName,\n\t\t\tfirstWidgetArea.clientId\n\t\t);\n\t}\n);\n\n/**\n * Returns true if the list view is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the list view is opened.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n"],"mappings":"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"}
@@ -5,11 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.transformBlockToWidget = transformBlockToWidget;
7
7
  exports.transformWidgetToBlock = transformWidgetToBlock;
8
-
9
8
  var _blocks = require("@wordpress/blocks");
10
-
11
9
  var _widgets = require("@wordpress/widgets");
12
-
13
10
  /**
14
11
  * WordPress dependencies
15
12
  */
@@ -25,16 +22,12 @@ function transformWidgetToBlock(widget) {
25
22
  const parsedBlocks = (0, _blocks.parse)(widget.instance.raw.content, {
26
23
  __unstableSkipAutop: true
27
24
  });
28
-
29
25
  if (!parsedBlocks.length) {
30
26
  return (0, _widgets.addWidgetIdToBlock)((0, _blocks.createBlock)('core/paragraph', {}, []), widget.id);
31
27
  }
32
-
33
28
  return (0, _widgets.addWidgetIdToBlock)(parsedBlocks[0], widget.id);
34
29
  }
35
-
36
30
  let attributes;
37
-
38
31
  if (widget._embedded.about[0].is_multi) {
39
32
  attributes = {
40
33
  idBase: widget.id_base,
@@ -45,9 +38,9 @@ function transformWidgetToBlock(widget) {
45
38
  id: widget.id
46
39
  };
47
40
  }
48
-
49
41
  return (0, _widgets.addWidgetIdToBlock)((0, _blocks.createBlock)('core/legacy-widget', attributes, []), widget.id);
50
42
  }
43
+
51
44
  /**
52
45
  * Converts a block to a widget entity record.
53
46
  *
@@ -55,22 +48,20 @@ function transformWidgetToBlock(widget) {
55
48
  * @param {Object?} relatedWidget A related widget entity record from the API (optional).
56
49
  * @return {Object} the widget object (converted from block).
57
50
  */
58
-
59
-
60
51
  function transformBlockToWidget(block, relatedWidget = {}) {
61
52
  let widget;
62
53
  const isValidLegacyWidgetBlock = block.name === 'core/legacy-widget' && (block.attributes.id || block.attributes.instance);
63
-
64
54
  if (isValidLegacyWidgetBlock) {
65
55
  var _block$attributes$id, _block$attributes$idB, _block$attributes$ins;
66
-
67
- widget = { ...relatedWidget,
56
+ widget = {
57
+ ...relatedWidget,
68
58
  id: (_block$attributes$id = block.attributes.id) !== null && _block$attributes$id !== void 0 ? _block$attributes$id : relatedWidget.id,
69
59
  id_base: (_block$attributes$idB = block.attributes.idBase) !== null && _block$attributes$idB !== void 0 ? _block$attributes$idB : relatedWidget.id_base,
70
60
  instance: (_block$attributes$ins = block.attributes.instance) !== null && _block$attributes$ins !== void 0 ? _block$attributes$ins : relatedWidget.instance
71
61
  };
72
62
  } else {
73
- widget = { ...relatedWidget,
63
+ widget = {
64
+ ...relatedWidget,
74
65
  id_base: 'block',
75
66
  instance: {
76
67
  raw: {
@@ -78,9 +69,9 @@ function transformBlockToWidget(block, relatedWidget = {}) {
78
69
  }
79
70
  }
80
71
  };
81
- } // Delete read-only properties.
82
-
72
+ }
83
73
 
74
+ // Delete read-only properties.
84
75
  delete widget.rendered;
85
76
  delete widget.rendered_form;
86
77
  return widget;