@wordpress/customize-widgets 5.32.0 → 5.32.1-next.ff1cebbba.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 (164) hide show
  1. package/build/components/block-appender/index.js +33 -27
  2. package/build/components/block-appender/index.js.map +7 -1
  3. package/build/components/block-inspector-button/index.js +51 -36
  4. package/build/components/block-inspector-button/index.js.map +7 -1
  5. package/build/components/customize-widgets/index.js +83 -61
  6. package/build/components/customize-widgets/index.js.map +7 -1
  7. package/build/components/customize-widgets/use-clear-selected-block.js +56 -63
  8. package/build/components/customize-widgets/use-clear-selected-block.js.map +7 -1
  9. package/build/components/error-boundary/index.js +46 -45
  10. package/build/components/error-boundary/index.js.map +7 -1
  11. package/build/components/focus-control/index.js +69 -57
  12. package/build/components/focus-control/index.js.map +7 -1
  13. package/build/components/focus-control/use-blocks-focus-control.js +38 -31
  14. package/build/components/focus-control/use-blocks-focus-control.js.map +7 -1
  15. package/build/components/header/index.js +110 -71
  16. package/build/components/header/index.js.map +7 -1
  17. package/build/components/inserter/index.js +77 -53
  18. package/build/components/inserter/index.js.map +7 -1
  19. package/build/components/inserter/use-inserter.js +46 -29
  20. package/build/components/inserter/use-inserter.js.map +7 -1
  21. package/build/components/keyboard-shortcut-help-modal/config.js +74 -71
  22. package/build/components/keyboard-shortcut-help-modal/config.js.map +7 -1
  23. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +61 -44
  24. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +7 -1
  25. package/build/components/keyboard-shortcut-help-modal/index.js +155 -110
  26. package/build/components/keyboard-shortcut-help-modal/index.js.map +7 -1
  27. package/build/components/keyboard-shortcut-help-modal/shortcut.js +76 -56
  28. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +7 -1
  29. package/build/components/keyboard-shortcuts/index.js +60 -51
  30. package/build/components/keyboard-shortcuts/index.js.map +7 -1
  31. package/build/components/more-menu/index.js +151 -90
  32. package/build/components/more-menu/index.js.map +7 -1
  33. package/build/components/sidebar-block-editor/index.js +133 -105
  34. package/build/components/sidebar-block-editor/index.js.map +7 -1
  35. package/build/components/sidebar-block-editor/sidebar-adapter.js +73 -67
  36. package/build/components/sidebar-block-editor/sidebar-adapter.js.map +7 -1
  37. package/build/components/sidebar-block-editor/sidebar-editor-provider.js +51 -33
  38. package/build/components/sidebar-block-editor/sidebar-editor-provider.js.map +7 -1
  39. package/build/components/sidebar-block-editor/use-sidebar-block-editor.js +100 -79
  40. package/build/components/sidebar-block-editor/use-sidebar-block-editor.js.map +7 -1
  41. package/build/components/sidebar-controls/index.js +45 -31
  42. package/build/components/sidebar-controls/index.js.map +7 -1
  43. package/build/components/welcome-guide/index.js +86 -58
  44. package/build/components/welcome-guide/index.js.map +7 -1
  45. package/build/controls/inserter-outer-section.js +49 -58
  46. package/build/controls/inserter-outer-section.js.map +7 -1
  47. package/build/controls/inspector-section.js +30 -36
  48. package/build/controls/inspector-section.js.map +7 -1
  49. package/build/controls/sidebar-control.js +51 -30
  50. package/build/controls/sidebar-control.js.map +7 -1
  51. package/build/controls/sidebar-section.js +71 -39
  52. package/build/controls/sidebar-section.js.map +7 -1
  53. package/build/filters/index.js +4 -6
  54. package/build/filters/index.js.map +7 -1
  55. package/build/filters/move-to-sidebar.js +77 -79
  56. package/build/filters/move-to-sidebar.js.map +7 -1
  57. package/build/filters/replace-media-upload.js +9 -11
  58. package/build/filters/replace-media-upload.js.map +7 -1
  59. package/build/filters/wide-widget-display.js +20 -25
  60. package/build/filters/wide-widget-display.js.map +7 -1
  61. package/build/index.js +81 -70
  62. package/build/index.js.map +7 -1
  63. package/build/lock-unlock.js +31 -15
  64. package/build/lock-unlock.js.map +7 -1
  65. package/build/store/actions.js +27 -44
  66. package/build/store/actions.js.map +7 -1
  67. package/build/store/constants.js +27 -10
  68. package/build/store/constants.js.map +7 -1
  69. package/build/store/index.js +44 -40
  70. package/build/store/index.js.map +7 -1
  71. package/build/store/reducer.js +25 -19
  72. package/build/store/reducer.js.map +7 -1
  73. package/build/store/selectors.js +31 -44
  74. package/build/store/selectors.js.map +7 -1
  75. package/build/utils.js +45 -73
  76. package/build/utils.js.map +7 -1
  77. package/build-module/components/block-appender/index.js +17 -20
  78. package/build-module/components/block-appender/index.js.map +7 -1
  79. package/build-module/components/block-inspector-button/index.js +33 -30
  80. package/build-module/components/block-inspector-button/index.js.map +7 -1
  81. package/build-module/components/customize-widgets/index.js +52 -51
  82. package/build-module/components/customize-widgets/index.js.map +7 -1
  83. package/build-module/components/customize-widgets/use-clear-selected-block.js +38 -58
  84. package/build-module/components/customize-widgets/use-clear-selected-block.js.map +7 -1
  85. package/build-module/components/error-boundary/index.js +27 -37
  86. package/build-module/components/error-boundary/index.js.map +7 -1
  87. package/build-module/components/focus-control/index.js +50 -45
  88. package/build-module/components/focus-control/index.js.map +7 -1
  89. package/build-module/components/focus-control/use-blocks-focus-control.js +17 -22
  90. package/build-module/components/focus-control/use-blocks-focus-control.js.map +7 -1
  91. package/build-module/components/header/index.js +81 -63
  92. package/build-module/components/header/index.js.map +7 -1
  93. package/build-module/components/inserter/index.js +59 -47
  94. package/build-module/components/inserter/index.js.map +7 -1
  95. package/build-module/components/inserter/use-inserter.js +28 -23
  96. package/build-module/components/inserter/use-inserter.js.map +7 -1
  97. package/build-module/components/keyboard-shortcut-help-modal/config.js +62 -75
  98. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +7 -1
  99. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +33 -37
  100. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +7 -1
  101. package/build-module/components/keyboard-shortcut-help-modal/index.js +130 -103
  102. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +7 -1
  103. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +58 -50
  104. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +7 -1
  105. package/build-module/components/keyboard-shortcuts/index.js +44 -44
  106. package/build-module/components/keyboard-shortcuts/index.js.map +7 -1
  107. package/build-module/components/more-menu/index.js +129 -84
  108. package/build-module/components/more-menu/index.js.map +7 -1
  109. package/build-module/components/sidebar-block-editor/index.js +109 -96
  110. package/build-module/components/sidebar-block-editor/index.js.map +7 -1
  111. package/build-module/components/sidebar-block-editor/sidebar-adapter.js +54 -59
  112. package/build-module/components/sidebar-block-editor/sidebar-adapter.js.map +7 -1
  113. package/build-module/components/sidebar-block-editor/sidebar-editor-provider.js +22 -25
  114. package/build-module/components/sidebar-block-editor/sidebar-editor-provider.js.map +7 -1
  115. package/build-module/components/sidebar-block-editor/use-sidebar-block-editor.js +70 -70
  116. package/build-module/components/sidebar-block-editor/use-sidebar-block-editor.js.map +7 -1
  117. package/build-module/components/sidebar-controls/index.js +24 -25
  118. package/build-module/components/sidebar-controls/index.js.map +7 -1
  119. package/build-module/components/welcome-guide/index.js +68 -52
  120. package/build-module/components/welcome-guide/index.js.map +7 -1
  121. package/build-module/controls/inserter-outer-section.js +31 -52
  122. package/build-module/controls/inserter-outer-section.js.map +7 -1
  123. package/build-module/controls/inspector-section.js +13 -32
  124. package/build-module/controls/inspector-section.js.map +7 -1
  125. package/build-module/controls/sidebar-control.js +22 -22
  126. package/build-module/controls/sidebar-control.js.map +7 -1
  127. package/build-module/controls/sidebar-section.js +43 -32
  128. package/build-module/controls/sidebar-section.js.map +7 -1
  129. package/build-module/filters/index.js +4 -7
  130. package/build-module/filters/index.js.map +7 -1
  131. package/build-module/filters/move-to-sidebar.js +83 -76
  132. package/build-module/filters/move-to-sidebar.js.map +7 -1
  133. package/build-module/filters/replace-media-upload.js +8 -7
  134. package/build-module/filters/replace-media-upload.js.map +7 -1
  135. package/build-module/filters/wide-widget-display.js +20 -22
  136. package/build-module/filters/wide-widget-display.js.map +7 -1
  137. package/build-module/index.js +53 -51
  138. package/build-module/index.js.map +7 -1
  139. package/build-module/lock-unlock.js +8 -7
  140. package/build-module/lock-unlock.js.map +7 -1
  141. package/build-module/store/actions.js +6 -40
  142. package/build-module/store/actions.js.map +7 -1
  143. package/build-module/store/constants.js +5 -5
  144. package/build-module/store/constants.js.map +7 -1
  145. package/build-module/store/index.js +10 -30
  146. package/build-module/store/index.js.map +7 -1
  147. package/build-module/store/reducer.js +7 -14
  148. package/build-module/store/reducer.js.map +7 -1
  149. package/build-module/store/selectors.js +10 -40
  150. package/build-module/store/selectors.js.map +7 -1
  151. package/build-module/utils.js +21 -66
  152. package/build-module/utils.js.map +7 -1
  153. package/build-style/style-rtl.css +14 -149
  154. package/build-style/style.css +14 -149
  155. package/package.json +30 -23
  156. package/src/components/block-inspector-button/style.scss +3 -0
  157. package/src/components/header/style.scss +5 -0
  158. package/src/components/inserter/style.scss +3 -0
  159. package/src/components/keyboard-shortcut-help-modal/style.scss +2 -0
  160. package/src/components/more-menu/style.scss +2 -0
  161. package/src/components/sidebar-block-editor/style.scss +2 -0
  162. package/src/components/welcome-guide/style.scss +2 -0
  163. package/src/controls/style.scss +2 -0
  164. package/src/style.scss +10 -8
@@ -1,73 +1,71 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useViewportMatch } from '@wordpress/compose';
5
- import { store as coreStore } from '@wordpress/core-data';
6
- import { useSelect } from '@wordpress/data';
7
- import { useMemo, createPortal } from '@wordpress/element';
8
- import { BlockList, BlockToolbar, BlockInspector, privateApis as blockEditorPrivateApis, __unstableBlockSettingsMenuFirstItem } from '@wordpress/block-editor';
9
- import { uploadMedia } from '@wordpress/media-utils';
10
- import { store as preferencesStore } from '@wordpress/preferences';
11
- import { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import BlockInspectorButton from '../block-inspector-button';
17
- import Header from '../header';
18
- import useInserter from '../inserter/use-inserter';
19
- import SidebarEditorProvider from './sidebar-editor-provider';
20
- import WelcomeGuide from '../welcome-guide';
21
- import KeyboardShortcuts from '../keyboard-shortcuts';
22
- import BlockAppender from '../block-appender';
23
- import { unlock } from '../../lock-unlock';
24
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
25
- const {
26
- ExperimentalBlockCanvas: BlockCanvas
27
- } = unlock(blockEditorPrivateApis);
28
- const {
29
- BlockKeyboardShortcuts
30
- } = unlock(blockLibraryPrivateApis);
31
- export default function SidebarBlockEditor({
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useViewportMatch } from "@wordpress/compose";
3
+ import { store as coreStore } from "@wordpress/core-data";
4
+ import { useSelect } from "@wordpress/data";
5
+ import { useMemo, createPortal } from "@wordpress/element";
6
+ import {
7
+ BlockList,
8
+ BlockToolbar,
9
+ BlockInspector,
10
+ privateApis as blockEditorPrivateApis,
11
+ __unstableBlockSettingsMenuFirstItem
12
+ } from "@wordpress/block-editor";
13
+ import { uploadMedia } from "@wordpress/media-utils";
14
+ import { store as preferencesStore } from "@wordpress/preferences";
15
+ import { privateApis as blockLibraryPrivateApis } from "@wordpress/block-library";
16
+ import BlockInspectorButton from "../block-inspector-button";
17
+ import Header from "../header";
18
+ import useInserter from "../inserter/use-inserter";
19
+ import SidebarEditorProvider from "./sidebar-editor-provider";
20
+ import WelcomeGuide from "../welcome-guide";
21
+ import KeyboardShortcuts from "../keyboard-shortcuts";
22
+ import BlockAppender from "../block-appender";
23
+ import { unlock } from "../../lock-unlock";
24
+ const { ExperimentalBlockCanvas: BlockCanvas } = unlock(
25
+ blockEditorPrivateApis
26
+ );
27
+ const { BlockKeyboardShortcuts } = unlock(blockLibraryPrivateApis);
28
+ function SidebarBlockEditor({
32
29
  blockEditorSettings,
33
30
  sidebar,
34
31
  inserter,
35
32
  inspector
36
33
  }) {
37
34
  const [isInserterOpened, setIsInserterOpened] = useInserter(inserter);
38
- const isMediumViewport = useViewportMatch('small');
35
+ const isMediumViewport = useViewportMatch("small");
39
36
  const {
40
37
  hasUploadPermissions,
41
38
  isFixedToolbarActive,
42
39
  keepCaretInsideBlock,
43
40
  isWelcomeGuideActive
44
- } = useSelect(select => {
45
- var _select$canUser;
46
- const {
47
- get
48
- } = select(preferencesStore);
41
+ } = useSelect((select) => {
42
+ const { get } = select(preferencesStore);
49
43
  return {
50
- hasUploadPermissions: (_select$canUser = select(coreStore).canUser('create', {
51
- kind: 'postType',
52
- name: 'attachment'
53
- })) !== null && _select$canUser !== void 0 ? _select$canUser : true,
54
- isFixedToolbarActive: !!get('core/customize-widgets', 'fixedToolbar'),
55
- keepCaretInsideBlock: !!get('core/customize-widgets', 'keepCaretInsideBlock'),
56
- isWelcomeGuideActive: !!get('core/customize-widgets', 'welcomeGuide')
44
+ hasUploadPermissions: select(coreStore).canUser("create", {
45
+ kind: "postType",
46
+ name: "attachment"
47
+ }) ?? true,
48
+ isFixedToolbarActive: !!get(
49
+ "core/customize-widgets",
50
+ "fixedToolbar"
51
+ ),
52
+ keepCaretInsideBlock: !!get(
53
+ "core/customize-widgets",
54
+ "keepCaretInsideBlock"
55
+ ),
56
+ isWelcomeGuideActive: !!get(
57
+ "core/customize-widgets",
58
+ "welcomeGuide"
59
+ )
57
60
  };
58
61
  }, []);
59
62
  const settings = useMemo(() => {
60
63
  let mediaUploadBlockEditor;
61
64
  if (hasUploadPermissions) {
62
- mediaUploadBlockEditor = ({
63
- onError,
64
- ...argumentsObject
65
- }) => {
65
+ mediaUploadBlockEditor = ({ onError, ...argumentsObject }) => {
66
66
  uploadMedia({
67
67
  wpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,
68
- onError: ({
69
- message
70
- }) => onError(message),
68
+ onError: ({ message }) => onError(message),
71
69
  ...argumentsObject
72
70
  });
73
71
  };
@@ -78,54 +76,69 @@ export default function SidebarBlockEditor({
78
76
  mediaUpload: mediaUploadBlockEditor,
79
77
  hasFixedToolbar: isFixedToolbarActive || !isMediumViewport,
80
78
  keepCaretInsideBlock,
81
- editorTool: 'edit',
79
+ editorTool: "edit",
82
80
  __unstableHasCustomAppender: true
83
81
  };
84
- }, [hasUploadPermissions, blockEditorSettings, isFixedToolbarActive, isMediumViewport, keepCaretInsideBlock, setIsInserterOpened]);
82
+ }, [
83
+ hasUploadPermissions,
84
+ blockEditorSettings,
85
+ isFixedToolbarActive,
86
+ isMediumViewport,
87
+ keepCaretInsideBlock,
88
+ setIsInserterOpened
89
+ ]);
85
90
  if (isWelcomeGuideActive) {
86
- return /*#__PURE__*/_jsx(WelcomeGuide, {
87
- sidebar: sidebar
88
- });
91
+ return /* @__PURE__ */ jsx(WelcomeGuide, { sidebar });
89
92
  }
90
- return /*#__PURE__*/_jsxs(_Fragment, {
91
- children: [/*#__PURE__*/_jsx(KeyboardShortcuts.Register, {}), /*#__PURE__*/_jsx(BlockKeyboardShortcuts, {}), /*#__PURE__*/_jsxs(SidebarEditorProvider, {
92
- sidebar: sidebar,
93
- settings: settings,
94
- children: [/*#__PURE__*/_jsx(KeyboardShortcuts, {
95
- undo: sidebar.undo,
96
- redo: sidebar.redo,
97
- save: sidebar.save
98
- }), /*#__PURE__*/_jsx(Header, {
99
- sidebar: sidebar,
100
- inserter: inserter,
101
- isInserterOpened: isInserterOpened,
102
- setIsInserterOpened: setIsInserterOpened,
103
- isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
104
- }), (isFixedToolbarActive || !isMediumViewport) && /*#__PURE__*/_jsx(BlockToolbar, {
105
- hideDragHandle: true
106
- }), /*#__PURE__*/_jsx(BlockCanvas, {
107
- shouldIframe: false,
108
- styles: settings.defaultEditorStyles,
109
- height: "100%",
110
- children: /*#__PURE__*/_jsx(BlockList, {
111
- renderAppender: BlockAppender
112
- })
113
- }), createPortal(
114
- /*#__PURE__*/
115
- // This is a temporary hack to prevent button component inside <BlockInspector>
116
- // from submitting form when type="button" is not specified.
117
- _jsx("form", {
118
- onSubmit: event => event.preventDefault(),
119
- children: /*#__PURE__*/_jsx(BlockInspector, {})
120
- }), inspector.contentContainer[0])]
121
- }), /*#__PURE__*/_jsx(__unstableBlockSettingsMenuFirstItem, {
122
- children: ({
123
- onClose
124
- }) => /*#__PURE__*/_jsx(BlockInspectorButton, {
125
- inspector: inspector,
93
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
94
+ /* @__PURE__ */ jsx(KeyboardShortcuts.Register, {}),
95
+ /* @__PURE__ */ jsx(BlockKeyboardShortcuts, {}),
96
+ /* @__PURE__ */ jsxs(SidebarEditorProvider, { sidebar, settings, children: [
97
+ /* @__PURE__ */ jsx(
98
+ KeyboardShortcuts,
99
+ {
100
+ undo: sidebar.undo,
101
+ redo: sidebar.redo,
102
+ save: sidebar.save
103
+ }
104
+ ),
105
+ /* @__PURE__ */ jsx(
106
+ Header,
107
+ {
108
+ sidebar,
109
+ inserter,
110
+ isInserterOpened,
111
+ setIsInserterOpened,
112
+ isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
113
+ }
114
+ ),
115
+ (isFixedToolbarActive || !isMediumViewport) && /* @__PURE__ */ jsx(BlockToolbar, { hideDragHandle: true }),
116
+ /* @__PURE__ */ jsx(
117
+ BlockCanvas,
118
+ {
119
+ shouldIframe: false,
120
+ styles: settings.defaultEditorStyles,
121
+ height: "100%",
122
+ children: /* @__PURE__ */ jsx(BlockList, { renderAppender: BlockAppender })
123
+ }
124
+ ),
125
+ createPortal(
126
+ // This is a temporary hack to prevent button component inside <BlockInspector>
127
+ // from submitting form when type="button" is not specified.
128
+ /* @__PURE__ */ jsx("form", { onSubmit: (event) => event.preventDefault(), children: /* @__PURE__ */ jsx(BlockInspector, {}) }),
129
+ inspector.contentContainer[0]
130
+ )
131
+ ] }),
132
+ /* @__PURE__ */ jsx(__unstableBlockSettingsMenuFirstItem, { children: ({ onClose }) => /* @__PURE__ */ jsx(
133
+ BlockInspectorButton,
134
+ {
135
+ inspector,
126
136
  closeMenu: onClose
127
- })
128
- })]
129
- });
137
+ }
138
+ ) })
139
+ ] });
130
140
  }
131
- //# sourceMappingURL=index.js.map
141
+ export {
142
+ SidebarBlockEditor as default
143
+ };
144
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["useViewportMatch","store","coreStore","useSelect","useMemo","createPortal","BlockList","BlockToolbar","BlockInspector","privateApis","blockEditorPrivateApis","__unstableBlockSettingsMenuFirstItem","uploadMedia","preferencesStore","blockLibraryPrivateApis","BlockInspectorButton","Header","useInserter","SidebarEditorProvider","WelcomeGuide","KeyboardShortcuts","BlockAppender","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ExperimentalBlockCanvas","BlockCanvas","BlockKeyboardShortcuts","SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","isMediumViewport","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","select","_select$canUser","get","canUser","kind","name","settings","mediaUploadBlockEditor","onError","argumentsObject","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","editorTool","__unstableHasCustomAppender","children","Register","undo","redo","save","hideDragHandle","shouldIframe","styles","defaultEditorStyles","height","renderAppender","onSubmit","event","preventDefault","contentContainer","onClose","closeMenu"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockToolbar,\n\tBlockInspector,\n\tprivateApis as blockEditorPrivateApis,\n\t__unstableBlockSettingsMenuFirstItem,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockCanvas: BlockCanvas } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst isMediumViewport = useViewportMatch( 'small' );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'attachment',\n\t\t\t\t} ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive || ! isMediumViewport,\n\t\t\tkeepCaretInsideBlock,\n\t\t\teditorTool: 'edit',\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tisMediumViewport,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<KeyboardShortcuts.Register />\n\t\t\t<BlockKeyboardShortcuts />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={\n\t\t\t\t\t\tisFixedToolbarActive || ! isMediumViewport\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isFixedToolbarActive || ! isMediumViewport ) && (\n\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t) }\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ false }\n\t\t\t\t\tstyles={ settings.defaultEditorStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t>\n\t\t\t\t\t<BlockList renderAppender={ BlockAppender } />\n\t\t\t\t</BlockCanvas>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/sidebar-block-editor/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockToolbar,\n\tBlockInspector,\n\tprivateApis as blockEditorPrivateApis,\n\t__unstableBlockSettingsMenuFirstItem,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockCanvas: BlockCanvas } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst isMediumViewport = useViewportMatch( 'small' );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'attachment',\n\t\t\t\t} ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive || ! isMediumViewport,\n\t\t\tkeepCaretInsideBlock,\n\t\t\teditorTool: 'edit',\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tisMediumViewport,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<KeyboardShortcuts.Register />\n\t\t\t<BlockKeyboardShortcuts />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={\n\t\t\t\t\t\tisFixedToolbarActive || ! isMediumViewport\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isFixedToolbarActive || ! isMediumViewport ) && (\n\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t) }\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ false }\n\t\t\t\t\tstyles={ settings.defaultEditorStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t>\n\t\t\t\t\t<BlockList renderAppender={ BlockAppender } />\n\t\t\t\t</BlockCanvas>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,10 +1,5 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { settingIdToWidgetId } from '../../utils';
5
- const {
6
- wp
7
- } = window;
1
+ import { settingIdToWidgetId } from "../../utils";
2
+ const { wp } = window;
8
3
  function parseWidgetId(widgetId) {
9
4
  const matches = widgetId.match(/^(.+)-(\d+)$/);
10
5
  if (matches) {
@@ -13,32 +8,15 @@ function parseWidgetId(widgetId) {
13
8
  number: parseInt(matches[2], 10)
14
9
  };
15
10
  }
16
-
17
- // Likely an old single widget.
18
- return {
19
- idBase: widgetId
20
- };
11
+ return { idBase: widgetId };
21
12
  }
22
13
  function widgetIdToSettingId(widgetId) {
23
- const {
24
- idBase,
25
- number
26
- } = parseWidgetId(widgetId);
14
+ const { idBase, number } = parseWidgetId(widgetId);
27
15
  if (number) {
28
16
  return `widget_${idBase}[${number}]`;
29
17
  }
30
18
  return `widget_${idBase}`;
31
19
  }
32
-
33
- /**
34
- * This is a custom debounce function to call different callbacks depending on
35
- * whether it's the _leading_ call or not.
36
- *
37
- * @param {Function} leading The callback that gets called first.
38
- * @param {Function} callback The callback that gets called after the first time.
39
- * @param {number} timeout The debounced time in milliseconds.
40
- * @return {Function} The debounced function.
41
- */
42
20
  function debounce(leading, callback, timeout) {
43
21
  let isLeading = false;
44
22
  let timerID;
@@ -57,20 +35,27 @@ function debounce(leading, callback, timeout) {
57
35
  };
58
36
  return debounced;
59
37
  }
60
- export default class SidebarAdapter {
38
+ class SidebarAdapter {
61
39
  constructor(setting, api) {
62
40
  this.setting = setting;
63
41
  this.api = api;
64
42
  this.locked = false;
65
- this.widgetsCache = new WeakMap();
66
- this.subscribers = new Set();
67
- this.history = [this._getWidgetIds().map(widgetId => this.getWidget(widgetId))];
43
+ this.widgetsCache = /* @__PURE__ */ new WeakMap();
44
+ this.subscribers = /* @__PURE__ */ new Set();
45
+ this.history = [
46
+ this._getWidgetIds().map(
47
+ (widgetId) => this.getWidget(widgetId)
48
+ )
49
+ ];
68
50
  this.historyIndex = 0;
69
- this.historySubscribers = new Set();
70
- // Debounce the input for 1 second.
71
- this._debounceSetHistory = debounce(this._pushHistory, this._replaceHistory, 1000);
51
+ this.historySubscribers = /* @__PURE__ */ new Set();
52
+ this._debounceSetHistory = debounce(
53
+ this._pushHistory,
54
+ this._replaceHistory,
55
+ 1e3
56
+ );
72
57
  this.setting.bind(this._handleSettingChange.bind(this));
73
- this.api.bind('change', this._handleAllSettingsChange.bind(this));
58
+ this.api.bind("change", this._handleAllSettingsChange.bind(this));
74
59
  this.undo = this.undo.bind(this);
75
60
  this.redo = this.redo.bind(this);
76
61
  this.save = this.save.bind(this);
@@ -93,12 +78,19 @@ export default class SidebarAdapter {
93
78
  return this.setting.get();
94
79
  }
95
80
  _pushHistory() {
96
- this.history = [...this.history.slice(0, this.historyIndex + 1), this._getWidgetIds().map(widgetId => this.getWidget(widgetId))];
81
+ this.history = [
82
+ ...this.history.slice(0, this.historyIndex + 1),
83
+ this._getWidgetIds().map(
84
+ (widgetId) => this.getWidget(widgetId)
85
+ )
86
+ ];
97
87
  this.historyIndex += 1;
98
- this.historySubscribers.forEach(listener => listener());
88
+ this.historySubscribers.forEach((listener) => listener());
99
89
  }
100
90
  _replaceHistory() {
101
- this.history[this.historyIndex] = this._getWidgetIds().map(widgetId => this.getWidget(widgetId));
91
+ this.history[this.historyIndex] = this._getWidgetIds().map(
92
+ (widgetId) => this.getWidget(widgetId)
93
+ );
102
94
  }
103
95
  _handleSettingChange() {
104
96
  if (this.locked) {
@@ -112,7 +104,7 @@ export default class SidebarAdapter {
112
104
  if (this.locked) {
113
105
  return;
114
106
  }
115
- if (!setting.id.startsWith('widget_')) {
107
+ if (!setting.id.startsWith("widget_")) {
116
108
  return;
117
109
  }
118
110
  const widgetId = settingIdToWidgetId(setting.id);
@@ -128,16 +120,24 @@ export default class SidebarAdapter {
128
120
  id_base: widget.idBase
129
121
  });
130
122
  let number = widget.number;
131
- if (widgetModel.get('is_multi') && !number) {
132
- widgetModel.set('multi_number', widgetModel.get('multi_number') + 1);
133
- number = widgetModel.get('multi_number');
123
+ if (widgetModel.get("is_multi") && !number) {
124
+ widgetModel.set(
125
+ "multi_number",
126
+ widgetModel.get("multi_number") + 1
127
+ );
128
+ number = widgetModel.get("multi_number");
134
129
  }
135
130
  const settingId = number ? `widget_${widget.idBase}[${number}]` : `widget_${widget.idBase}`;
136
131
  const settingArgs = {
137
- transport: wp.customize.Widgets.data.selectiveRefreshableWidgets[widgetModel.get('id_base')] ? 'postMessage' : 'refresh',
132
+ transport: wp.customize.Widgets.data.selectiveRefreshableWidgets[widgetModel.get("id_base")] ? "postMessage" : "refresh",
138
133
  previewer: this.setting.previewer
139
134
  };
140
- const setting = this.api.create(settingId, settingId, '', settingArgs);
135
+ const setting = this.api.create(
136
+ settingId,
137
+ settingId,
138
+ "",
139
+ settingArgs
140
+ );
141
141
  setting.set(widget.instance);
142
142
  const widgetId = settingIdToWidgetId(settingId);
143
143
  return widgetId;
@@ -153,20 +153,14 @@ export default class SidebarAdapter {
153
153
  }
154
154
  _updateWidget(widget) {
155
155
  const prevWidget = this.getWidget(widget.id);
156
-
157
- // Bail out update if nothing changed.
158
156
  if (prevWidget === widget) {
159
157
  return widget.id;
160
158
  }
161
-
162
- // Update existing setting if only the widget's instance changed.
163
159
  if (prevWidget.idBase && widget.idBase && prevWidget.idBase === widget.idBase) {
164
160
  const settingId = widgetIdToSettingId(widget.id);
165
161
  this.api(settingId).set(widget.instance);
166
162
  return widget.id;
167
163
  }
168
-
169
- // Otherwise delete and re-create.
170
164
  this._removeWidget(widget);
171
165
  return this._createWidget(widget);
172
166
  }
@@ -174,10 +168,7 @@ export default class SidebarAdapter {
174
168
  if (!widgetId) {
175
169
  return null;
176
170
  }
177
- const {
178
- idBase,
179
- number
180
- } = parseWidgetId(widgetId);
171
+ const { idBase, number } = parseWidgetId(widgetId);
181
172
  const settingId = widgetIdToSettingId(widgetId);
182
173
  const setting = this.api(settingId);
183
174
  if (!setting) {
@@ -199,7 +190,7 @@ export default class SidebarAdapter {
199
190
  _updateWidgets(nextWidgets) {
200
191
  this.locked = true;
201
192
  const addedWidgetIds = [];
202
- const nextWidgetIds = nextWidgets.map(nextWidget => {
193
+ const nextWidgetIds = nextWidgets.map((nextWidget) => {
203
194
  if (nextWidget.id && this.getWidget(nextWidget.id)) {
204
195
  addedWidgetIds.push(null);
205
196
  return this._updateWidget(nextWidget);
@@ -208,8 +199,10 @@ export default class SidebarAdapter {
208
199
  addedWidgetIds.push(widgetId);
209
200
  return widgetId;
210
201
  });
211
- const deletedWidgets = this.getWidgets().filter(widget => !nextWidgetIds.includes(widget.id));
212
- deletedWidgets.forEach(widget => this._removeWidget(widget));
202
+ const deletedWidgets = this.getWidgets().filter(
203
+ (widget) => !nextWidgetIds.includes(widget.id)
204
+ );
205
+ deletedWidgets.forEach((widget) => this._removeWidget(widget));
213
206
  this.setting.set(nextWidgetIds);
214
207
  this.locked = false;
215
208
  return addedWidgetIds;
@@ -219,7 +212,6 @@ export default class SidebarAdapter {
219
212
  this._debounceSetHistory();
220
213
  return addedWidgetIds;
221
214
  }
222
-
223
215
  /**
224
216
  * Undo/Redo related features
225
217
  */
@@ -235,7 +227,7 @@ export default class SidebarAdapter {
235
227
  const widgets = this.history[this.historyIndex];
236
228
  this._updateWidgets(widgets);
237
229
  this._emit(currentWidgets, this.getWidgets());
238
- this.historySubscribers.forEach(listener => listener());
230
+ this.historySubscribers.forEach((listener) => listener());
239
231
  this._debounceSetHistory.cancel();
240
232
  }
241
233
  undo() {
@@ -260,4 +252,7 @@ export default class SidebarAdapter {
260
252
  this.api.previewer.save();
261
253
  }
262
254
  }
263
- //# sourceMappingURL=sidebar-adapter.js.map
255
+ export {
256
+ SidebarAdapter as default
257
+ };
258
+ //# sourceMappingURL=sidebar-adapter.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["settingIdToWidgetId","wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/sidebar-block-editor/sidebar-adapter.js"],
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,32 +1,29 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import useSidebarBlockEditor from './use-sidebar-block-editor';
10
- import useBlocksFocusControl from '../focus-control/use-blocks-focus-control';
11
- import { unlock } from '../../lock-unlock';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- const {
14
- ExperimentalBlockEditorProvider
15
- } = unlock(blockEditorPrivateApis);
16
- export default function SidebarEditorProvider({
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { privateApis as blockEditorPrivateApis } from "@wordpress/block-editor";
3
+ import useSidebarBlockEditor from "./use-sidebar-block-editor";
4
+ import useBlocksFocusControl from "../focus-control/use-blocks-focus-control";
5
+ import { unlock } from "../../lock-unlock";
6
+ const { ExperimentalBlockEditorProvider } = unlock(blockEditorPrivateApis);
7
+ function SidebarEditorProvider({
17
8
  sidebar,
18
9
  settings,
19
10
  children
20
11
  }) {
21
12
  const [blocks, onInput, onChange] = useSidebarBlockEditor(sidebar);
22
13
  useBlocksFocusControl(blocks);
23
- return /*#__PURE__*/_jsx(ExperimentalBlockEditorProvider, {
24
- value: blocks,
25
- onInput: onInput,
26
- onChange: onChange,
27
- settings: settings,
28
- useSubRegistry: false,
29
- children: children
30
- });
14
+ return /* @__PURE__ */ jsx(
15
+ ExperimentalBlockEditorProvider,
16
+ {
17
+ value: blocks,
18
+ onInput,
19
+ onChange,
20
+ settings,
21
+ useSubRegistry: false,
22
+ children
23
+ }
24
+ );
31
25
  }
32
- //# sourceMappingURL=sidebar-editor-provider.js.map
26
+ export {
27
+ SidebarEditorProvider as default
28
+ };
29
+ //# sourceMappingURL=sidebar-editor-provider.js.map