@wordpress/editor 13.28.2 → 13.29.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.
- package/CHANGELOG.md +2 -0
- package/build/components/commands/index.js +201 -0
- package/build/components/commands/index.js.map +1 -0
- package/build/components/commands/index.native.js +9 -0
- package/build/components/commands/index.native.js.map +1 -0
- package/build/components/document-bar/index.js +78 -67
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-tools/index.js +4 -2
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/index.js +20 -2
- package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/mode-switcher/index.js +86 -0
- package/build/components/mode-switcher/index.js.map +1 -0
- package/build/components/post-title/index.js +0 -5
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/provider/index.js +6 -0
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +4 -9
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +4 -8
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-hide-blocks-from-inserter.js +53 -0
- package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +69 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +13 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/commands/index.js +194 -0
- package/build-module/components/commands/index.js.map +1 -0
- package/build-module/components/commands/index.native.js +3 -0
- package/build-module/components/commands/index.native.js.map +1 -0
- package/build-module/components/document-bar/index.js +81 -70
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-tools/index.js +4 -2
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js +20 -2
- package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build-module/components/mode-switcher/index.js +80 -0
- package/build-module/components/mode-switcher/index.js.map +1 -0
- package/build-module/components/post-title/index.js +0 -5
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/provider/index.js +6 -0
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -10
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +5 -9
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-hide-blocks-from-inserter.js +47 -0
- package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +66 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +12 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +4 -47
- package/build-style/style.css +4 -47
- package/package.json +32 -32
- package/src/components/commands/index.js +202 -0
- package/src/components/commands/index.native.js +2 -0
- package/src/components/document-bar/index.js +115 -94
- package/src/components/document-bar/style.scss +4 -37
- package/src/components/document-tools/index.js +22 -16
- package/src/components/global-keyboard-shortcuts/index.js +35 -4
- package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
- package/src/components/mode-switcher/index.js +90 -0
- package/src/components/post-title/index.js +0 -3
- package/src/components/provider/index.js +7 -0
- package/src/components/provider/index.native.js +7 -6
- package/src/components/provider/use-block-editor-settings.js +6 -15
- package/src/components/provider/use-hide-blocks-from-inserter.js +81 -0
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +95 -0
- package/src/store/selectors.js +12 -0
- package/src/store/test/actions.js +82 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_keyboardShortcuts","require","_data","_store","EditorKeyboardShortcuts","redo","undo","savePost","setIsListViewOpened","
|
|
1
|
+
{"version":3,"names":["_keyboardShortcuts","require","_data","_store","EditorKeyboardShortcuts","isModeToggleDisabled","useSelect","select","richEditingEnabled","codeEditingEnabled","editorStore","getEditorSettings","redo","undo","savePost","setIsListViewOpened","switchEditorMode","toggleDistractionFree","useDispatch","isEditedPostDirty","isPostSavingLocked","isListViewOpened","getEditorMode","useShortcut","isDisabled","event","preventDefault"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function EditorKeyboardShortcuts() {\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\tconst {\n\t\tredo,\n\t\tundo,\n\t\tsavePost,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editorStore );\n\tconst {\n\t\tisEditedPostDirty,\n\t\tisPostSavingLocked,\n\t\tisListViewOpened,\n\t\tgetEditorMode,\n\t} = useSelect( editorStore );\n\n\tuseShortcut(\n\t\t'core/editor/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/editor/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t} );\n\n\tuseShortcut( 'core/editor/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/editor/toggle-list-view', ( event ) => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\treturn null;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,uBAAuBA,CAAA,EAAG;EACjD,MAAMC,oBAAoB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACrD,MAAM;MAAEC,kBAAkB;MAAEC;IAAmB,CAAC,GAC/CF,MAAM,CAAEG,YAAY,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAC1C,OAAO,CAAEH,kBAAkB,IAAI,CAAEC,kBAAkB;EACpD,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IACLG,IAAI;IACJC,IAAI;IACJC,QAAQ;IACRC,mBAAmB;IACnBC,gBAAgB;IAChBC;EACD,CAAC,GAAG,IAAAC,iBAAW,EAAER,YAAY,CAAC;EAC9B,MAAM;IACLS,iBAAiB;IACjBC,kBAAkB;IAClBC,gBAAgB;IAChBC;EACD,CAAC,GAAG,IAAAhB,eAAS,EAAEI,YAAY,CAAC;EAE5B,IAAAa,8BAAW,EACV,yBAAyB,EACzB,MAAM;IACLP,gBAAgB,CACfM,aAAa,CAAC,CAAC,KAAK,QAAQ,GAAG,MAAM,GAAG,QACzC,CAAC;EACF,CAAC,EACD;IACCE,UAAU,EAAEnB;EACb,CACD,CAAC;EAED,IAAAkB,8BAAW,EAAE,qCAAqC,EAAE,MAAM;IACzDN,qBAAqB,CAAC,CAAC;EACxB,CAAE,CAAC;EAEH,IAAAM,8BAAW,EAAE,kBAAkB,EAAIE,KAAK,IAAM;IAC7CZ,IAAI,CAAC,CAAC;IACNY,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEH,IAAAH,8BAAW,EAAE,kBAAkB,EAAIE,KAAK,IAAM;IAC7Cb,IAAI,CAAC,CAAC;IACNa,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEH,IAAAH,8BAAW,EAAE,kBAAkB,EAAIE,KAAK,IAAM;IAC7CA,KAAK,CAACC,cAAc,CAAC,CAAC;;IAEtB;AACF;AACA;IACE,IAAKN,kBAAkB,CAAC,CAAC,EAAG;MAC3B;IACD;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAK,CAAED,iBAAiB,CAAC,CAAC,EAAG;MAC5B;IACD;IAEAL,QAAQ,CAAC,CAAC;EACX,CAAE,CAAC;;EAEH;EACA,IAAAS,8BAAW,EAAE,8BAA8B,EAAIE,KAAK,IAAM;IACzD,IAAK,CAAEJ,gBAAgB,CAAC,CAAC,EAAG;MAC3BI,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBX,mBAAmB,CAAE,IAAK,CAAC;IAC5B;EACD,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ"}
|
|
@@ -21,6 +21,15 @@ function EditorKeyboardShortcutsRegister() {
|
|
|
21
21
|
registerShortcut
|
|
22
22
|
} = (0, _data.useDispatch)(_keyboardShortcuts.store);
|
|
23
23
|
(0, _element.useEffect)(() => {
|
|
24
|
+
registerShortcut({
|
|
25
|
+
name: 'core/editor/toggle-mode',
|
|
26
|
+
category: 'global',
|
|
27
|
+
description: (0, _i18n.__)('Switch between visual editor and code editor.'),
|
|
28
|
+
keyCombination: {
|
|
29
|
+
modifier: 'secondary',
|
|
30
|
+
character: 'm'
|
|
31
|
+
}
|
|
32
|
+
});
|
|
24
33
|
registerShortcut({
|
|
25
34
|
name: 'core/editor/save',
|
|
26
35
|
category: 'global',
|
|
@@ -65,6 +74,15 @@ function EditorKeyboardShortcutsRegister() {
|
|
|
65
74
|
character: 'o'
|
|
66
75
|
}
|
|
67
76
|
});
|
|
77
|
+
registerShortcut({
|
|
78
|
+
name: 'core/editor/toggle-distraction-free',
|
|
79
|
+
category: 'global',
|
|
80
|
+
description: (0, _i18n.__)('Toggle distraction free mode.'),
|
|
81
|
+
keyCombination: {
|
|
82
|
+
modifier: 'primaryShift',
|
|
83
|
+
character: '\\'
|
|
84
|
+
}
|
|
85
|
+
});
|
|
68
86
|
}, [registerShortcut]);
|
|
69
87
|
return (0, _react.createElement)(_blockEditor.BlockEditorKeyboardShortcuts.Register, null);
|
|
70
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_i18n","_blockEditor","_keyboardShortcuts","_keycodes","EditorKeyboardShortcutsRegister","registerShortcut","useDispatch","keyboardShortcutsStore","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","isAppleOS","_react","createElement","BlockEditorKeyboardShortcuts","Register","_default","exports","default"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/register-shortcuts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BlockEditorKeyboardShortcuts } from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\n\nfunction EditorKeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn <BlockEditorKeyboardShortcuts.Register />;\n}\n\nexport default EditorKeyboardShortcutsRegister;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA,SAASM,+BAA+BA,CAAA,EAAG;EAC1C;EACA,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,wBAAuB,CAAC;EAClE,IAAAC,kBAAS,EAAE,MAAM;IAChBH,gBAAgB,CAAE;MACjBI,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;MACvCC,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,yBAA0B,CAAC;MAC5CC,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,sBAAuB,CAAC;MACzCC,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ,CAAC;MACD;MACA;MACA;MACA;MACAC,OAAO,EAAE,IAAAC,mBAAS,EAAC,CAAC,GACjB,EAAE,GACF,CACA;QACCH,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ,CAAC;IAEL,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,8BAA8B;MACpCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,2BAA4B,CAAC;MAC9CC,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEV,gBAAgB,CAAG,CAAC;EAEzB,OAAO,IAAAa,MAAA,CAAAC,aAAA,EAAClB,YAAA,CAAAmB,4BAA4B,CAACC,QAAQ,MAAE,CAAC;AACjD;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcpB,+BAA+B"}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_i18n","_blockEditor","_keyboardShortcuts","_keycodes","EditorKeyboardShortcutsRegister","registerShortcut","useDispatch","keyboardShortcutsStore","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","isAppleOS","_react","createElement","BlockEditorKeyboardShortcuts","Register","_default","exports","default"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/register-shortcuts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BlockEditorKeyboardShortcuts } from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\n\nfunction EditorKeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle distraction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn <BlockEditorKeyboardShortcuts.Register />;\n}\n\nexport default EditorKeyboardShortcutsRegister;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA,SAASM,+BAA+BA,CAAA,EAAG;EAC1C;EACA,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,wBAAuB,CAAC;EAClE,IAAAC,kBAAS,EAAE,MAAM;IAChBH,gBAAgB,CAAE;MACjBI,IAAI,EAAE,yBAAyB;MAC/BC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,+CAAgD,CAAC;MAClEC,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;MACvCC,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,yBAA0B,CAAC;MAC5CC,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,sBAAuB,CAAC;MACzCC,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ,CAAC;MACD;MACA;MACA;MACA;MACAC,OAAO,EAAE,IAAAC,mBAAS,EAAC,CAAC,GACjB,EAAE,GACF,CACA;QACCH,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ,CAAC;IAEL,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,8BAA8B;MACpCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,2BAA4B,CAAC;MAC9CC,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHV,gBAAgB,CAAE;MACjBI,IAAI,EAAE,qCAAqC;MAC3CC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,+BAAgC,CAAC;MAClDC,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEV,gBAAgB,CAAG,CAAC;EAEzB,OAAO,IAAAa,MAAA,CAAAC,aAAA,EAAClB,YAAA,CAAAmB,4BAA4B,CAACC,QAAQ,MAAE,CAAC;AACjD;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcpB,+BAA+B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _i18n = require("@wordpress/i18n");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
|
|
12
|
+
var _store = require("../../store");
|
|
13
|
+
/**
|
|
14
|
+
* WordPress dependencies
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Internal dependencies
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Set of available mode options.
|
|
23
|
+
*
|
|
24
|
+
* @type {Array}
|
|
25
|
+
*/
|
|
26
|
+
const MODES = [{
|
|
27
|
+
value: 'visual',
|
|
28
|
+
label: (0, _i18n.__)('Visual editor')
|
|
29
|
+
}, {
|
|
30
|
+
value: 'text',
|
|
31
|
+
label: (0, _i18n.__)('Code editor')
|
|
32
|
+
}];
|
|
33
|
+
function ModeSwitcher() {
|
|
34
|
+
const {
|
|
35
|
+
shortcut,
|
|
36
|
+
isRichEditingEnabled,
|
|
37
|
+
isCodeEditingEnabled,
|
|
38
|
+
mode
|
|
39
|
+
} = (0, _data.useSelect)(select => ({
|
|
40
|
+
shortcut: select(_keyboardShortcuts.store).getShortcutRepresentation('core/editor/toggle-mode'),
|
|
41
|
+
isRichEditingEnabled: select(_store.store).getEditorSettings().richEditingEnabled,
|
|
42
|
+
isCodeEditingEnabled: select(_store.store).getEditorSettings().codeEditingEnabled,
|
|
43
|
+
mode: select(_store.store).getEditorMode()
|
|
44
|
+
}), []);
|
|
45
|
+
const {
|
|
46
|
+
switchEditorMode
|
|
47
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
48
|
+
let selectedMode = mode;
|
|
49
|
+
if (!isRichEditingEnabled && mode === 'visual') {
|
|
50
|
+
selectedMode = 'text';
|
|
51
|
+
}
|
|
52
|
+
if (!isCodeEditingEnabled && mode === 'text') {
|
|
53
|
+
selectedMode = 'visual';
|
|
54
|
+
}
|
|
55
|
+
const choices = MODES.map(choice => {
|
|
56
|
+
if (!isCodeEditingEnabled && choice.value === 'text') {
|
|
57
|
+
choice = {
|
|
58
|
+
...choice,
|
|
59
|
+
disabled: true
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (!isRichEditingEnabled && choice.value === 'visual') {
|
|
63
|
+
choice = {
|
|
64
|
+
...choice,
|
|
65
|
+
disabled: true,
|
|
66
|
+
info: (0, _i18n.__)('You can enable the visual editor in your profile settings.')
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
if (choice.value !== selectedMode && !choice.disabled) {
|
|
70
|
+
return {
|
|
71
|
+
...choice,
|
|
72
|
+
shortcut
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return choice;
|
|
76
|
+
});
|
|
77
|
+
return (0, _react.createElement)(_components.MenuGroup, {
|
|
78
|
+
label: (0, _i18n.__)('Editor')
|
|
79
|
+
}, (0, _react.createElement)(_components.MenuItemsChoice, {
|
|
80
|
+
choices: choices,
|
|
81
|
+
value: selectedMode,
|
|
82
|
+
onSelect: switchEditorMode
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
var _default = exports.default = ModeSwitcher;
|
|
86
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_data","_keyboardShortcuts","_store","MODES","value","label","__","ModeSwitcher","shortcut","isRichEditingEnabled","isCodeEditingEnabled","mode","useSelect","select","keyboardShortcutsStore","getShortcutRepresentation","editorStore","getEditorSettings","richEditingEnabled","codeEditingEnabled","getEditorMode","switchEditorMode","useDispatch","selectedMode","choices","map","choice","disabled","info","_react","createElement","MenuGroup","MenuItemsChoice","onSelect","_default","exports","default"],"sources":["@wordpress/editor/src/components/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst { shortcut, isRichEditingEnabled, isCodeEditingEnabled, mode } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\tshortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getShortcutRepresentation( 'core/editor/toggle-mode' ),\n\t\t\t\tisRichEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.richEditingEnabled,\n\t\t\t\tisCodeEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.codeEditingEnabled,\n\t\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\tconst { switchEditorMode } = useDispatch( editorStore );\n\n\tlet selectedMode = mode;\n\tif ( ! isRichEditingEnabled && mode === 'visual' ) {\n\t\tselectedMode = 'text';\n\t}\n\tif ( ! isCodeEditingEnabled && mode === 'text' ) {\n\t\tselectedMode = 'visual';\n\t}\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( ! isCodeEditingEnabled && choice.value === 'text' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t}\n\t\tif ( ! isRichEditingEnabled && choice.value === 'visual' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t\tinfo: __(\n\t\t\t\t\t'You can enable the visual editor in your profile settings.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tif ( choice.value !== selectedMode && ! choice.disabled ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ selectedMode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAMK,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB;AAC5B,CAAC,EACD;EACCF,KAAK,EAAE,MAAM;EACbC,KAAK,EAAE,IAAAC,QAAE,EAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,QAAQ;IAAEC,oBAAoB;IAAEC,oBAAoB;IAAEC;EAAK,CAAC,GACnE,IAAAC,eAAS,EACNC,MAAM,KAAQ;IACfL,QAAQ,EAAEK,MAAM,CACfC,wBACD,CAAC,CAACC,yBAAyB,CAAE,yBAA0B,CAAC;IACxDN,oBAAoB,EACnBI,MAAM,CAAEG,YAAY,CAAC,CAACC,iBAAiB,CAAC,CAAC,CACvCC,kBAAkB;IACrBR,oBAAoB,EACnBG,MAAM,CAAEG,YAAY,CAAC,CAACC,iBAAiB,CAAC,CAAC,CACvCE,kBAAkB;IACrBR,IAAI,EAAEE,MAAM,CAAEG,YAAY,CAAC,CAACI,aAAa,CAAC;EAC3C,CAAC,CAAE,EACH,EACD,CAAC;EACF,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEN,YAAY,CAAC;EAEvD,IAAIO,YAAY,GAAGZ,IAAI;EACvB,IAAK,CAAEF,oBAAoB,IAAIE,IAAI,KAAK,QAAQ,EAAG;IAClDY,YAAY,GAAG,MAAM;EACtB;EACA,IAAK,CAAEb,oBAAoB,IAAIC,IAAI,KAAK,MAAM,EAAG;IAChDY,YAAY,GAAG,QAAQ;EACxB;EAEA,MAAMC,OAAO,GAAGrB,KAAK,CAACsB,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAK,CAAEhB,oBAAoB,IAAIgB,MAAM,CAACtB,KAAK,KAAK,MAAM,EAAG;MACxDsB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE;MACX,CAAC;IACF;IACA,IAAK,CAAElB,oBAAoB,IAAIiB,MAAM,CAACtB,KAAK,KAAK,QAAQ,EAAG;MAC1DsB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE,IAAAtB,QAAE,EACP,4DACD;MACD,CAAC;IACF;IACA,IAAKoB,MAAM,CAACtB,KAAK,KAAKmB,YAAY,IAAI,CAAEG,MAAM,CAACC,QAAQ,EAAG;MACzD,OAAO;QAAE,GAAGD,MAAM;QAAElB;MAAS,CAAC;IAC/B;IACA,OAAOkB,MAAM;EACd,CAAE,CAAC;EAEH,OACC,IAAAG,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAgC,SAAS;IAAC1B,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS;EAAG,GAClC,IAAAuB,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAiC,eAAe;IACfR,OAAO,EAAGA,OAAS;IACnBpB,KAAK,EAAGmB,YAAc;IACtBU,QAAQ,EAAGZ;EAAkB,CAC7B,CACS,CAAC;AAEd;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7B,YAAY"}
|
|
@@ -17,7 +17,6 @@ var _blocks = require("@wordpress/blocks");
|
|
|
17
17
|
var _richText = require("@wordpress/rich-text");
|
|
18
18
|
var _compose = require("@wordpress/compose");
|
|
19
19
|
var _dom = require("@wordpress/dom");
|
|
20
|
-
var _store = require("../../store");
|
|
21
20
|
var _constants = require("./constants");
|
|
22
21
|
var _usePostTitleFocus = _interopRequireDefault(require("./use-post-title-focus"));
|
|
23
22
|
var _usePostTitle = _interopRequireDefault(require("./use-post-title"));
|
|
@@ -39,9 +38,6 @@ function PostTitle(_, forwardedRef) {
|
|
|
39
38
|
placeholder,
|
|
40
39
|
hasFixedToolbar
|
|
41
40
|
} = (0, _data.useSelect)(select => {
|
|
42
|
-
const {
|
|
43
|
-
getEditedPostAttribute
|
|
44
|
-
} = select(_store.store);
|
|
45
41
|
const {
|
|
46
42
|
getSettings
|
|
47
43
|
} = select(_blockEditor.store);
|
|
@@ -50,7 +46,6 @@ function PostTitle(_, forwardedRef) {
|
|
|
50
46
|
hasFixedToolbar: _hasFixedToolbar
|
|
51
47
|
} = getSettings();
|
|
52
48
|
return {
|
|
53
|
-
title: getEditedPostAttribute('title'),
|
|
54
49
|
placeholder: titlePlaceholder,
|
|
55
50
|
hasFixedToolbar: _hasFixedToolbar
|
|
56
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_store","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getEditedPostAttribute","editorStore","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","title","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","classnames","DEFAULT_CLASSNAMES","_react","createElement","default","supportKeys","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\nexport default forwardRef( PostTitle );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAMA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,IAAA,GAAAV,OAAA;AAKA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,kBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,aAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,qBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AA/BA;AACA;AACA;;AAGA;AACA;AACA;;AAiBA;AACA;AACA;;AAOA,SAASgB,SAASA,CAAEC,CAAC,EAAEC,YAAY,EAAG;EACrC,MAAM;IAAEC,WAAW;IAAEC;EAAgB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjE,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACxD,MAAM;MAAEC;IAAY,CAAC,GAAGH,MAAM,CAAEI,kBAAiB,CAAC;IAClD,MAAM;MAAEC,gBAAgB;MAAEP,eAAe,EAAEQ;IAAiB,CAAC,GAC5DH,WAAW,CAAC,CAAC;IAEd,OAAO;MACNI,KAAK,EAAEN,sBAAsB,CAAE,OAAQ,CAAC;MACxCJ,WAAW,EAAEQ,gBAAgB;MAC7BP,eAAe,EAAEQ;IAClB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEE,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEvD,MAAM;IAAEC,GAAG,EAAEC;EAAS,CAAC,GAAG,IAAAC,0BAAiB,EAAEjB,YAAa,CAAC;EAE3D,MAAM;IAAEW,KAAK;IAAEO,QAAQ,EAAEC;EAAS,CAAC,GAAG,IAAAC,qBAAY,EAAC,CAAC;EAEpD,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAR,iBAAQ,EAAE,CAAC,CAAE,CAAC;EAElD,MAAM;IAAES,kBAAkB;IAAEC,YAAY;IAAEC;EAAmB,CAAC,GAC7D,IAAAC,iBAAW,EAAElB,kBAAiB,CAAC;EAEhC,SAASmB,QAAQA,CAAEC,KAAK,EAAG;IAC1BT,QAAQ,CAAES,KAAK,CAACC,OAAO,CAAEC,0BAAe,EAAE,GAAI,CAAE,CAAC;EAClD;EAEA,SAASC,kBAAkBA,CAAEC,MAAM,EAAG;IACrCR,YAAY,CAAEQ,MAAM,EAAE,CAAE,CAAC;EAC1B;EAEA,SAASC,QAAQA,CAAA,EAAG;IACnBpB,aAAa,CAAE,IAAK,CAAC;IACrBU,kBAAkB,CAAC,CAAC;EACrB;EAEA,SAASW,UAAUA,CAAA,EAAG;IACrBrB,aAAa,CAAE,KAAM,CAAC;IACtBS,YAAY,CAAE,CAAC,CAAE,CAAC;EACnB;EAEA,SAASa,YAAYA,CAAA,EAAG;IACvBV,kBAAkB,CAAEW,SAAS,EAAEA,SAAS,EAAE,CAAE,CAAC;EAC9C;EAEA,SAASC,SAASA,CAAEC,KAAK,EAAG;IAC3B,IAAKA,KAAK,CAACC,OAAO,KAAKC,eAAK,EAAG;MAC9BF,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBN,YAAY,CAAC,CAAC;IACf;EACD;EAEA,SAASO,OAAOA,CAAEJ,KAAK,EAAG;IACzB,MAAMK,aAAa,GAAGL,KAAK,CAACK,aAAa;IAEzC,IAAIC,SAAS,GAAG,EAAE;IAClB,IAAIC,IAAI,GAAG,EAAE;;IAEb;IACA;IACA;IACA,IAAI;MACHD,SAAS,GAAGD,aAAa,CAACG,OAAO,CAAE,YAAa,CAAC;MACjDD,IAAI,GAAGF,aAAa,CAACG,OAAO,CAAE,WAAY,CAAC;IAC5C,CAAC,CAAC,OAAQC,MAAM,EAAG;MAClB,IAAI;QACHF,IAAI,GAAGF,aAAa,CAACG,OAAO,CAAE,MAAO,CAAC;MACvC,CAAC,CAAC,OAAQE,MAAM,EAAG;QAClB;QACA;QACA;QACA;MACD;IACD;;IAEA;IACAC,MAAM,CAACC,OAAO,CAACC,GAAG,CAAE,oBAAoB,EAAEN,IAAK,CAAC;IAChDI,MAAM,CAACC,OAAO,CAACC,GAAG,CAAE,0BAA0B,EAAEP,SAAU,CAAC;IAE3D,MAAMQ,OAAO,GAAG,IAAAC,oBAAY,EAAE;MAC7BC,IAAI,EAAET,IAAI;MACVD;IACD,CAAE,CAAC;IAEHN,KAAK,CAACG,cAAc,CAAC,CAAC;IAEtB,IAAK,CAAEW,OAAO,CAACG,MAAM,EAAG;MACvB;IACD;IAEA,IAAK,OAAOH,OAAO,KAAK,QAAQ,EAAG;MAClC,MAAM,CAAEI,UAAU,CAAE,GAAGJ,OAAO;MAE9B,IACC,CAAEzC,KAAK,KACL6C,UAAU,CAACC,IAAI,KAAK,cAAc,IACnCD,UAAU,CAACC,IAAI,KAAK,gBAAgB,CAAE,EACtC;QACD;QACA;QACA;QACA,MAAMC,aAAa,GAAG,IAAAC,wBAAS,EAC9BH,UAAU,CAACI,UAAU,CAACR,OACvB,CAAC;QACDjC,QAAQ,CAAEuC,aAAc,CAAC;QACzB3B,kBAAkB,CAAEqB,OAAO,CAACS,KAAK,CAAE,CAAE,CAAE,CAAC;MACzC,CAAC,MAAM;QACN9B,kBAAkB,CAAEqB,OAAQ,CAAC;MAC9B;IACD,CAAC,MAAM;MACN,MAAMxB,KAAK,GAAG;QACb,GAAG,IAAAkC,gBAAM,EAAE;UAAEjB,IAAI,EAAElC;QAAM,CAAE,CAAC;QAC5B,GAAGU;MACJ,CAAC;;MAED;MACA;MACA;MACA,MAAMqC,aAAa,GAAG,IAAAC,wBAAS,EAAEP,OAAQ,CAAC;MAE1C,MAAMW,QAAQ,GAAG,IAAAC,gBAAM,EAAEpC,KAAK,EAAE,IAAAkC,gBAAM,EAAE;QAAEjB,IAAI,EAAEa;MAAc,CAAE,CAAE,CAAC;MACnEvC,QAAQ,CAAE,IAAA8C,sBAAY,EAAE;QAAErC,KAAK,EAAEmC;MAAS,CAAE,CAAE,CAAC;MAC/CzC,YAAY,CAAE;QACb4C,KAAK,EAAEH,QAAQ,CAACG,KAAK;QACrBC,GAAG,EAAEJ,QAAQ,CAACI;MACf,CAAE,CAAC;IACJ;EACD;EAEA,MAAMC,kBAAkB,GACvB,IAAAC,4BAAc,EAAEpE,WAAY,CAAC,IAAI,IAAAqE,QAAE,EAAE,WAAY,CAAC;EAEnD,MAAM;IAAEvD,GAAG,EAAEwD;EAAY,CAAC,GAAG,IAAAC,+BAAW,EAAE;IACzC5C,KAAK,EAAEjB,KAAK;IACZgB,QAAQ;IACR1B,WAAW,EAAEmE,kBAAkB;IAC/BK,cAAc,EAAEpD,SAAS,CAAC6C,KAAK;IAC/BQ,YAAY,EAAErD,SAAS,CAAC8C,GAAG;IAC3BQ,iBAAiBA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;MACrCvD,YAAY,CAAIwD,GAAG,IAAM;QACxB,MAAM;UAAEZ,KAAK;UAAEC;QAAI,CAAC,GAAGW,GAAG;QAC1B,IAAKZ,KAAK,KAAKU,QAAQ,IAAIT,GAAG,KAAKU,MAAM,EAAG;UAC3C,OAAOC,GAAG;QACX;QACA,OAAO;UACNZ,KAAK,EAAEU,QAAQ;UACfT,GAAG,EAAEU;QACN,CAAC;MACF,CAAE,CAAC;IACJ,CAAC;IACDE,wBAAwB,EAAE;EAC3B,CAAE,CAAC;;EAEH;EACA;EACA,MAAMC,SAAS,GAAG,IAAAC,mBAAU,EAAEC,6BAAkB,EAAE;IACjD,aAAa,EAAEtE,UAAU;IACzB,mBAAmB,EAAEV;EACtB,CAAE,CAAC;EAEH,OACC;IACA,IAAAiF,MAAA,CAAAC,aAAA,EAACvF,qBAAA,CAAAwF,OAAoB;MAACC,WAAW,EAAC;IAAO,GACxC,IAAAH,MAAA,CAAAC,aAAA;MACCrE,GAAG,EAAG,IAAAwE,qBAAY,EAAE,CAAEhB,WAAW,EAAEvD,QAAQ,CAAG,CAAG;MACjDwE,eAAe;MACfR,SAAS,EAAGA,SAAW;MACvB,cAAaZ,kBAAoB;MACjCqB,IAAI,EAAC,SAAS;MACd,kBAAe,MAAM;MACrBC,OAAO,EAAGzD,QAAU;MACpB0D,MAAM,EAAGzD,UAAY;MACrBG,SAAS,EAAGA,SAAW;MACvBuD,UAAU,EAAG1D,UAAY;MACzBQ,OAAO,EAAGA;IAAS,CACnB,CACoB;IACtB;EAAA;AAEF;AAAC,IAAAmD,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEc,IAAAU,mBAAU,EAAEjG,SAAU,CAAC"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","title","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","classnames","DEFAULT_CLASSNAMES","_react","createElement","default","supportKeys","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\nexport default forwardRef( PostTitle );\n"],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ var _useBlockEditorSettings = _interopRequireDefault(require("./use-block-editor
|
|
|
21
21
|
var _lockUnlock = require("../../lock-unlock");
|
|
22
22
|
var _disableNonPageContentBlocks = _interopRequireDefault(require("./disable-non-page-content-blocks"));
|
|
23
23
|
var _navigationBlockEditingMode = _interopRequireDefault(require("./navigation-block-editing-mode"));
|
|
24
|
+
var _useHideBlocksFromInserter = require("./use-hide-blocks-from-inserter");
|
|
25
|
+
var _commands = _interopRequireDefault(require("../commands"));
|
|
24
26
|
/**
|
|
25
27
|
* WordPress dependencies
|
|
26
28
|
*/
|
|
@@ -190,6 +192,10 @@ const ExperimentalEditorProvider = exports.ExperimentalEditorProvider = (0, _wit
|
|
|
190
192
|
var _settings$defaultRend;
|
|
191
193
|
setRenderingMode((_settings$defaultRend = settings.defaultRenderingMode) !== null && _settings$defaultRend !== void 0 ? _settings$defaultRend : 'post-only');
|
|
192
194
|
}, [settings.defaultRenderingMode, setRenderingMode]);
|
|
195
|
+
(0, _useHideBlocksFromInserter.useHideBlocksFromInserter)(post.type);
|
|
196
|
+
|
|
197
|
+
// Register the editor commands.
|
|
198
|
+
(0, _commands.default)();
|
|
193
199
|
if (!isReady) {
|
|
194
200
|
return null;
|
|
195
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","useSelect","select","editorStore","getRenderingMode","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","_settings$defaultRend","defaultRenderingMode","_react","createElement","EntityProvider","kind","BlockContextProvider","value","useSubRegistry","default","EditorProvider","props","BlockEditorProvider","_default"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_template',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst mode = useSelect(\n\t\t\t( select ) => select( editorStore ).getRenderingMode(),\n\t\t\t[]\n\t\t);\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext =\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","_useHideBlocksFromInserter","_commands","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","useSelect","select","editorStore","getRenderingMode","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","_settings$defaultRend","defaultRenderingMode","useHideBlocksFromInserter","useCommands","_react","createElement","EntityProvider","kind","BlockContextProvider","value","useSubRegistry","default","EditorProvider","props","BlockEditorProvider","_default"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_template',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst mode = useSelect(\n\t\t\t( select ) => select( editorStore ).getRenderingMode(),\n\t\t\t[]\n\t\t);\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext =\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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"}
|
|
@@ -23,7 +23,6 @@ var _i18n = require("@wordpress/i18n");
|
|
|
23
23
|
var _editor = require("@wordpress/editor");
|
|
24
24
|
var _notices = require("@wordpress/notices");
|
|
25
25
|
var _coreData = require("@wordpress/core-data");
|
|
26
|
-
var _editPost = require("@wordpress/edit-post");
|
|
27
26
|
var _index = _interopRequireDefault(require("./index.js"));
|
|
28
27
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
29
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -313,11 +312,9 @@ const ComposedNativeProvider = exports.ExperimentalEditorProvider = (0, _compose
|
|
|
313
312
|
getEditorBlocks,
|
|
314
313
|
getEditedPostAttribute,
|
|
315
314
|
getEditedPostContent,
|
|
316
|
-
getEditorSettings
|
|
317
|
-
} = select(_editor.store);
|
|
318
|
-
const {
|
|
315
|
+
getEditorSettings,
|
|
319
316
|
getEditorMode
|
|
320
|
-
} = select(
|
|
317
|
+
} = select(_editor.store);
|
|
321
318
|
const {
|
|
322
319
|
getBlockIndex,
|
|
323
320
|
getSelectedBlockClientId,
|
|
@@ -343,7 +340,8 @@ const ComposedNativeProvider = exports.ExperimentalEditorProvider = (0, _compose
|
|
|
343
340
|
const {
|
|
344
341
|
editPost,
|
|
345
342
|
resetEditorBlocks,
|
|
346
|
-
updateEditorSettings
|
|
343
|
+
updateEditorSettings,
|
|
344
|
+
switchEditorMode
|
|
347
345
|
} = dispatch(_editor.store);
|
|
348
346
|
const {
|
|
349
347
|
clearSelectedBlock,
|
|
@@ -351,9 +349,6 @@ const ComposedNativeProvider = exports.ExperimentalEditorProvider = (0, _compose
|
|
|
351
349
|
insertBlock,
|
|
352
350
|
replaceBlock
|
|
353
351
|
} = dispatch(_blockEditor.store);
|
|
354
|
-
const {
|
|
355
|
-
switchEditorMode
|
|
356
|
-
} = dispatch(_editPost.store);
|
|
357
352
|
const {
|
|
358
353
|
addEntities,
|
|
359
354
|
receiveEntityRecords
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_memize","_interopRequireDefault","_reactNativeSafeAreaContext","_reactNativeBridge","_interopRequireWildcard","_element","_wordcount","_blocks","_data","_compose","_hooks","_blockEditor","_components","_blockLibrary","_i18n","_editor","_notices","_coreData","_editPost","_index","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","NativeEditorProvider","Component","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","onHardwareBackPress","bind","getEditorSettings","memize","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","createErrorNotice","locale","hostAppNamespace","updateEditorSettings","updateBlockEditorSettings","getThemeColors","subscriptionParentGetHtml","subscribeParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","subscribeParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","subscribeSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","subscribeUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","subscribeReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","subscribeMediaAppend","blockName","mediaType","blockType","getBlockType","newBlock","createBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","__","subscriptionParentUpdateEditorSettings","subscribeUpdateEditorSettings","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","subscribeUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","subscribeShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","subscribeShowEditorHelp","setState","hardwareBackPressListener","BackHandler","addEventListener","requestBlockTypeImpressions","storedImpressions","impressions","NEW_BLOCK_TYPES","storedImpressionKeys","keys","storedImpressionsCurrent","every","newKey","includes","setBlockTypeImpressions","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","getGlobalStyles","getColorsAndGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","getUnregisteredTypeHandlerName","unsupportedBlockNames","filter","block","attributes","originalName","RNReactNativeGutenbergBridge","editorDidMount","clearSelectedBlock","mode","applyFilters","serialize","hasChanges","raw","content","contentInfo","characterCount","wordCount","paragraphCount","provideToNative_Html","parsed","parse","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","render","children","_react","createElement","Fragment","SafeAreaProvider","EditorHelpTopics","isVisible","onClose","close","showSupport","supportSection","ComposedNativeProvider","exports","ExperimentalEditorProvider","compose","withSelect","select","_settings$colors","_settings$gradients","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","editorStore","getEditorMode","editPostStore","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","blockEditorStore","colors","gradients","selectedBlockClientId","withDispatch","dispatch","editPost","resetEditorBlocks","updateSettings","switchEditorMode","coreStore","noticesStore","__unstableShouldCreateUndoLevel","_default"],"sources":["@wordpress/editor/src/components/provider/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { BackHandler } from 'react-native';\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tgetBlockType,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\nimport { __ } from '@wordpress/i18n';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.onHardwareBackPress = this.onHardwareBackPress.bind( this );\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst {\n\t\t\tcapabilities,\n\t\t\tcreateErrorNotice,\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t\tupdateEditorSettings,\n\t\t\tupdateBlockEditorSettings,\n\t\t} = this.props;\n\n\t\tupdateEditorSettings( {\n\t\t\tcapabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\t\tif ( blockType && blockType?.name ) {\n\t\t\t\t\tconst newBlock = createBlock( blockType.name, {\n\t\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t\t} );\n\n\t\t\t\t\tconst indexAfterSelected =\n\t\t\t\t\t\tthis.props.selectedBlockIndex + 1;\n\t\t\t\t\tconst insertionIndex =\n\t\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t\t} else {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__( 'File type not supported as a media file.' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateEditorSettings(\n\t\t\t\t\t\tthis.getThemeColors( editorSettings )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\tthis.hardwareBackPressListener = BackHandler.addEventListener(\n\t\t\t'hardwareBackPress',\n\t\t\tthis.onHardwareBackPress\n\t\t);\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateBlockEditorSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\n\t\tif ( this.hardwareBackPressListener ) {\n\t\t\tthis.hardwareBackPressListener.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tonHardwareBackPress() {\n\t\tconst { clearSelectedBlock, selectedBlockIndex } = this.props;\n\n\t\tif ( selectedBlockIndex !== -1 ) {\n\t\t\tclearSelectedBlock();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateEditorSettings( { capabilities } );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tshowSupport={ capabilities?.supportSection === true }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nconst ComposedNativeProvider = compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\n\t\tconst { getBlockIndex, getSelectedBlockClientId, getGlobalBlockCount } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst settings = getEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks, updateEditorSettings } =\n\t\t\tdispatch( editorStore );\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tupdateSettings,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tdispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateBlockEditorSettings: updateSettings,\n\t\t\tupdateEditorSettings,\n\t\t\taddEntities,\n\t\t\tinsertBlock,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\tclearSelectedBlock,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n\nexport default ComposedNativeProvider;\nexport { ComposedNativeProvider as ExperimentalEditorProvider };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_memize","_interopRequireDefault","_reactNativeSafeAreaContext","_reactNativeBridge","_interopRequireWildcard","_element","_wordcount","_blocks","_data","_compose","_hooks","_blockEditor","_components","_blockLibrary","_i18n","_editor","_notices","_coreData","_index","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","NativeEditorProvider","Component","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","onHardwareBackPress","bind","getEditorSettings","memize","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","createErrorNotice","locale","hostAppNamespace","updateEditorSettings","updateBlockEditorSettings","getThemeColors","subscriptionParentGetHtml","subscribeParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","subscribeParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","subscribeSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","subscribeUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","subscribeReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","subscribeMediaAppend","blockName","mediaType","blockType","getBlockType","newBlock","createBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","__","subscriptionParentUpdateEditorSettings","subscribeUpdateEditorSettings","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","subscribeUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","subscribeShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","subscribeShowEditorHelp","setState","hardwareBackPressListener","BackHandler","addEventListener","requestBlockTypeImpressions","storedImpressions","impressions","NEW_BLOCK_TYPES","storedImpressionKeys","keys","storedImpressionsCurrent","every","newKey","includes","setBlockTypeImpressions","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","getGlobalStyles","getColorsAndGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","getUnregisteredTypeHandlerName","unsupportedBlockNames","filter","block","attributes","originalName","RNReactNativeGutenbergBridge","editorDidMount","clearSelectedBlock","mode","applyFilters","serialize","hasChanges","raw","content","contentInfo","characterCount","wordCount","paragraphCount","provideToNative_Html","parsed","parse","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","render","children","_react","createElement","Fragment","SafeAreaProvider","EditorHelpTopics","isVisible","onClose","close","showSupport","supportSection","ComposedNativeProvider","exports","ExperimentalEditorProvider","compose","withSelect","select","_settings$colors","_settings$gradients","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","getEditorMode","editorStore","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","blockEditorStore","colors","gradients","selectedBlockClientId","withDispatch","dispatch","editPost","resetEditorBlocks","switchEditorMode","updateSettings","coreStore","noticesStore","__unstableShouldCreateUndoLevel","_default"],"sources":["@wordpress/editor/src/components/provider/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { BackHandler } from 'react-native';\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tgetBlockType,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\nimport { __ } from '@wordpress/i18n';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.onHardwareBackPress = this.onHardwareBackPress.bind( this );\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst {\n\t\t\tcapabilities,\n\t\t\tcreateErrorNotice,\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t\tupdateEditorSettings,\n\t\t\tupdateBlockEditorSettings,\n\t\t} = this.props;\n\n\t\tupdateEditorSettings( {\n\t\t\tcapabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\t\tif ( blockType && blockType?.name ) {\n\t\t\t\t\tconst newBlock = createBlock( blockType.name, {\n\t\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t\t} );\n\n\t\t\t\t\tconst indexAfterSelected =\n\t\t\t\t\t\tthis.props.selectedBlockIndex + 1;\n\t\t\t\t\tconst insertionIndex =\n\t\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t\t} else {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__( 'File type not supported as a media file.' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateEditorSettings(\n\t\t\t\t\t\tthis.getThemeColors( editorSettings )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\tthis.hardwareBackPressListener = BackHandler.addEventListener(\n\t\t\t'hardwareBackPress',\n\t\t\tthis.onHardwareBackPress\n\t\t);\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateBlockEditorSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\n\t\tif ( this.hardwareBackPressListener ) {\n\t\t\tthis.hardwareBackPressListener.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tonHardwareBackPress() {\n\t\tconst { clearSelectedBlock, selectedBlockIndex } = this.props;\n\n\t\tif ( selectedBlockIndex !== -1 ) {\n\t\t\tclearSelectedBlock();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateEditorSettings( { capabilities } );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tshowSupport={ capabilities?.supportSection === true }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nconst ComposedNativeProvider = compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t\tgetEditorSettings,\n\t\t\tgetEditorMode,\n\t\t} = select( editorStore );\n\n\t\tconst { getBlockIndex, getSelectedBlockClientId, getGlobalBlockCount } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst settings = getEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\teditPost,\n\t\t\tresetEditorBlocks,\n\t\t\tupdateEditorSettings,\n\t\t\tswitchEditorMode,\n\t\t} = dispatch( editorStore );\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tupdateSettings,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tdispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateBlockEditorSettings: updateSettings,\n\t\t\tupdateEditorSettings,\n\t\t\taddEntities,\n\t\t\tinsertBlock,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\tclearSelectedBlock,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n\nexport default ComposedNativeProvider;\nexport { ComposedNativeProvider as ExperimentalEditorProvider };\n"],"mappings":"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"}
|