@wordpress/block-editor 14.15.0 → 14.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/background-image-control/index.js +18 -10
- package/build/components/background-image-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +3 -1
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -2
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +14 -11
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +1 -1
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-tools/index.js +9 -0
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +3 -2
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/global-styles/border-panel.js +4 -8
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +3 -0
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +1 -7
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +9 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/link-control/index.js +2 -0
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +2 -3
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/list-view/block.js +9 -0
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +21 -14
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/spacing-visualizer.js +14 -8
- package/build/hooks/spacing-visualizer.js.map +1 -1
- package/build-module/components/background-image-control/index.js +19 -11
- package/build-module/components/background-image-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +3 -1
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-list/block.js +4 -2
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +14 -11
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-tools/index.js +9 -0
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +3 -2
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +5 -9
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +4 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +1 -7
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +9 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/link-control/index.js +4 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +2 -3
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/list-view/block.js +9 -0
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +21 -14
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js +15 -9
- package/build-module/hooks/spacing-visualizer.js.map +1 -1
- package/build-style/style-rtl.css +3 -6
- package/build-style/style.css +3 -6
- package/package.json +34 -34
- package/src/components/background-image-control/index.js +22 -7
- package/src/components/block-breadcrumb/index.js +1 -1
- package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +3 -1
- package/src/components/block-list/block.js +6 -2
- package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +14 -11
- package/src/components/block-switcher/preview-block-popover.js +4 -1
- package/src/components/block-tools/index.js +9 -0
- package/src/components/block-tools/use-show-block-tools.js +2 -0
- package/src/components/global-styles/border-panel.js +5 -8
- package/src/components/global-styles/style.scss +2 -5
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +7 -0
- package/src/components/inserter/media-tab/media-preview.js +1 -8
- package/src/components/inserter/style.scss +1 -1
- package/src/components/keyboard-shortcuts/index.js +12 -0
- package/src/components/link-control/index.js +6 -1
- package/src/components/link-control/search-input.js +2 -4
- package/src/components/link-control/test/index.js +46 -46
- package/src/components/list-view/block.js +10 -0
- package/src/components/media-replace-flow/test/index.js +1 -1
- package/src/components/writing-flow/use-tab-nav.js +22 -17
- package/src/hooks/spacing-visualizer.js +14 -17
|
@@ -66,6 +66,15 @@ function KeyboardShortcutsRegister() {
|
|
|
66
66
|
character: 'backspace'
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
|
+
registerShortcut({
|
|
70
|
+
name: 'core/block-editor/paste-styles',
|
|
71
|
+
category: 'block',
|
|
72
|
+
description: (0, _i18n.__)('Paste the copied style to the selected block(s).'),
|
|
73
|
+
keyCombination: {
|
|
74
|
+
modifier: 'primaryAlt',
|
|
75
|
+
character: 'v'
|
|
76
|
+
}
|
|
77
|
+
});
|
|
69
78
|
registerShortcut({
|
|
70
79
|
name: 'core/block-editor/insert-before',
|
|
71
80
|
category: 'block',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","KeyboardShortcuts","KeyboardShortcutsRegister","registerShortcut","useDispatch","keyboardShortcutsStore","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","Register","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\n\nfunction KeyboardShortcuts() {\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/copy',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Copy the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'c',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/cut',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Cut the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'x',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/paste',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Paste the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'v',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/duplicate',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Duplicate the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'd',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/remove',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Remove the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'backspace',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-before',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block before the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-after',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block after the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/delete-multi-selection',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Delete selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'del',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tcharacter: 'backspace',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/select-all',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __(\n\t\t\t\t'Select all text when typing. Press again to select all blocks.'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'a',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/unselect',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Clear selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'escape',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/multi-text-selection',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Select text across multiple blocks.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'shift',\n\t\t\t\tcharacter: 'arrow',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/focus-toolbar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the nearest toolbar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'F10',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-up',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) up.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-down',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) down.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\t// List view shortcuts.\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/collapse-list-view',\n\t\t\tcategory: 'list-view',\n\t\t\tdescription: __( 'Collapse all other items.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'l',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/group',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Create a group block from the selected multiple blocks.'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'g',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\n\nexport default KeyboardShortcuts;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","KeyboardShortcuts","KeyboardShortcutsRegister","registerShortcut","useDispatch","keyboardShortcutsStore","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","Register","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\n\nfunction KeyboardShortcuts() {\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/copy',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Copy the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'c',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/cut',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Cut the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'x',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/paste',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Paste the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'v',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/duplicate',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Duplicate the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'd',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/remove',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Remove the selected block(s).' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'backspace',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/paste-styles',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Paste the copied style to the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 'v',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-before',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block before the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/insert-after',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Insert a new block after the selected block(s).'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryAlt',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/delete-multi-selection',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Delete selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'del',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tcharacter: 'backspace',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/select-all',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __(\n\t\t\t\t'Select all text when typing. Press again to select all blocks.'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'a',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/unselect',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Clear selection.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tcharacter: 'escape',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/multi-text-selection',\n\t\t\tcategory: 'selection',\n\t\t\tdescription: __( 'Select text across multiple blocks.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'shift',\n\t\t\t\tcharacter: 'arrow',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/focus-toolbar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the nearest toolbar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'F10',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-up',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) up.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 't',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/move-down',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __( 'Move the selected block(s) down.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'y',\n\t\t\t},\n\t\t} );\n\n\t\t// List view shortcuts.\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/collapse-list-view',\n\t\t\tcategory: 'list-view',\n\t\t\tdescription: __( 'Collapse all other items.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'alt',\n\t\t\t\tcharacter: 'l',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/block-editor/group',\n\t\t\tcategory: 'block',\n\t\t\tdescription: __(\n\t\t\t\t'Create a group block from the selected multiple blocks.'\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'g',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\n\nexport default KeyboardShortcuts;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -417,5 +417,7 @@ const DeprecatedExperimentalLinkControl = props => {
|
|
|
417
417
|
});
|
|
418
418
|
};
|
|
419
419
|
exports.DeprecatedExperimentalLinkControl = DeprecatedExperimentalLinkControl;
|
|
420
|
+
DeprecatedExperimentalLinkControl.ViewerFill = LinkControl.ViewerFill;
|
|
421
|
+
DeprecatedExperimentalLinkControl.DEFAULT_LINK_SETTINGS = LinkControl.DEFAULT_LINK_SETTINGS;
|
|
420
422
|
var _default = exports.default = LinkControl;
|
|
421
423
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_dom","_keycodes","_isShallowEqual","_data","_preferences","_icons","_settingsDrawer","_searchInput","_linkPreview","_settings","_useCreatePage","_useInternalValue","_viewerSlot","_constants","_deprecated","_jsxRuntime","noop","PREFERENCE_SCOPE","PREFERENCE_KEY","LinkControl","searchInputPlaceholder","value","settings","DEFAULT_LINK_SETTINGS","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","settingsOpen","setSettingsOpen","useState","advancedSettingsPreference","useSelect","select","_prefsStore$get","prefsStore","preferencesStore","get","set","setPreference","useDispatch","setSettingsOpenWithPreference","prefVal","isSettingsOpen","isMountingRef","useRef","wrapperNode","textInputRef","isEndingEditWithFocusRef","settingsKeys","map","id","internalControlValue","setInternalControlValue","setInternalURLInputValue","setInternalTextInputValue","createSetInternalSettingValueHandler","useInternalValue","valueHasChanges","isShallowEqualObjects","isEditingLink","setIsEditingLink","url","createPage","isCreatingPage","errorMessage","useCreatePage","useEffect","current","nextFocusTarget","focus","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","nonSettingsChanges","Object","keys","reduce","acc","key","includes","title","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","ENTER","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showActions","showTextControl","isEditing","isDisabled","showSettings","jsxs","tabIndex","ref","className","children","jsx","Spinner","__","Fragment","clsx","TextControl","__nextHasNoMarginBottom","label","onKeyDown","__next40pxDefaultSize","default","currentLink","placeholder","onCreateSuggestion","onSelect","allowDirectEntry","withURLSuggestion","hideLabelFromVision","suffix","__experimentalInputControlSuffixWrapper","variant","Button","onClick","icon","keyboardReturn","size","Notice","status","isDismissible","onEditClick","hasUnlinkControl","__experimentalHStack","justify","ViewerFill","DeprecatedExperimentalLinkControl","props","deprecated","since","alternative","exports","_default"],"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tSpinner,\n\tNotice,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\nimport { isShallowEqualObjects } from '@wordpress/is-shallow-equal';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport LinkSettings from './settings';\nimport useCreatePage from './use-create-page';\nimport useInternalValue from './use-internal-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\nconst PREFERENCE_SCOPE = 'core/block-editor';\nconst PREFERENCE_KEY = 'linkControlSettingsDrawer';\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst [ settingsOpen, setSettingsOpen ] = useState( false );\n\n\tconst { advancedSettingsPreference } = useSelect( ( select ) => {\n\t\tconst prefsStore = select( preferencesStore );\n\n\t\treturn {\n\t\t\tadvancedSettingsPreference:\n\t\t\t\tprefsStore.get( PREFERENCE_SCOPE, PREFERENCE_KEY ) ?? false,\n\t\t};\n\t}, [] );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\t/**\n\t * Sets the open/closed state of the Advanced Settings Drawer,\n\t * optionlly persisting the state to the user's preferences.\n\t *\n\t * Note that Block Editor components can be consumed by non-WordPress\n\t * environments which may not have preferences setup.\n\t * Therefore a local state is also used as a fallback.\n\t *\n\t * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer.\n\t */\n\tconst setSettingsOpenWithPreference = ( prefVal ) => {\n\t\tif ( setPreference ) {\n\t\t\tsetPreference( PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal );\n\t\t}\n\t\tsetSettingsOpen( prefVal );\n\t};\n\n\t// Block Editor components can be consumed by non-WordPress environments\n\t// which may not have these preferences setup.\n\t// Therefore a local state is used as a fallback.\n\tconst isSettingsOpen = advancedSettingsPreference || settingsOpen;\n\n\tconst isMountingRef = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocusRef = useRef( false );\n\n\tconst settingsKeys = settings.map( ( { id } ) => id );\n\n\tconst [\n\t\tinternalControlValue,\n\t\tsetInternalControlValue,\n\t\tsetInternalURLInputValue,\n\t\tsetInternalTextInputValue,\n\t\tcreateSetInternalSettingValueHandler,\n\t] = useInternalValue( value );\n\n\tconst valueHasChanges =\n\t\tvalue && ! isShallowEqualObjects( internalControlValue, value );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif ( forceIsEditingLink === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsEditingLink( forceIsEditingLink );\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMountingRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[ 0 ] ||\n\t\t\twrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocusRef.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\t// The component mounting reference is maintained separately\n\t// to correctly reset values in `StrictMode`.\n\tuseEffect( () => {\n\t\tisMountingRef.current = false;\n\n\t\treturn () => {\n\t\t\tisMountingRef.current = true;\n\t\t};\n\t}, [] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocusRef.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\t// Suggestions may contains \"settings\" values (e.g. `opensInNewTab`)\n\t\t// which should not override any existing settings values set by the\n\t\t// user. This filters out any settings values from the suggestion.\n\t\tconst nonSettingsChanges = Object.keys( updatedValue ).reduce(\n\t\t\t( acc, key ) => {\n\t\t\t\tif ( ! settingsKeys.includes( key ) ) {\n\t\t\t\t\tacc[ key ] = updatedValue[ key ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tonChange( {\n\t\t\t...internalControlValue,\n\t\t\t...nonSettingsChanges,\n\t\t\t// As title is not a setting, it must be manually applied\n\t\t\t// in such a way as to preserve the users changes over\n\t\t\t// any \"title\" value provided by the \"suggestion\".\n\t\t\ttitle: internalControlValue?.title || updatedValue?.title,\n\t\t} );\n\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif ( valueHasChanges ) {\n\t\t\t// Submit the original value with new stored values applied\n\t\t\t// on top. URL is a special case as it may also be a prop.\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\t...internalControlValue,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalControlValue( value );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue =\n\t\tpropInputValue || internalControlValue?.url || '';\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showActions = isEditingLink && hasLinkValue;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\tconst isDisabled = ! valueHasChanges || currentInputIsEmpty;\n\tconst showSettings = !! settings?.length && isEditingLink && hasLinkValue;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t\t'has-actions': showActions,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\tvalue={ internalControlValue?.title }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalURLInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision={ ! showTextControl }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tshowActions ? undefined : (\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tisDisabled ? noop : handleSubmit\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\tsetIsEditingLink( true );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettings && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t{ ! currentInputIsEmpty && (\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tsettingsOpen={ isSettingsOpen }\n\t\t\t\t\t\t\tsetSettingsOpen={ setSettingsOpenWithPreference }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonChange={ createSetInternalSettingValueHandler(\n\t\t\t\t\t\t\t\t\tsettingsKeys\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</LinkControlSettingsDrawer>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ showActions && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t\tclassName=\"block-editor-link-control__search-actions\"\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ handleCancel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t{ ! isCreatingPage && renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\nLinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;\n\nexport const DeprecatedExperimentalLinkControl = ( props ) => {\n\tdeprecated( 'wp.blockEditor.__experimentalLinkControl', {\n\t\tsince: '6.8',\n\t\talternative: 'wp.blockEditor.LinkControl',\n\t} );\n\n\treturn <LinkControl { ...props } />;\n};\n\nexport default LinkControl;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_dom","_keycodes","_isShallowEqual","_data","_preferences","_icons","_settingsDrawer","_searchInput","_linkPreview","_settings","_useCreatePage","_useInternalValue","_viewerSlot","_constants","_deprecated","_jsxRuntime","noop","PREFERENCE_SCOPE","PREFERENCE_KEY","LinkControl","searchInputPlaceholder","value","settings","DEFAULT_LINK_SETTINGS","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","settingsOpen","setSettingsOpen","useState","advancedSettingsPreference","useSelect","select","_prefsStore$get","prefsStore","preferencesStore","get","set","setPreference","useDispatch","setSettingsOpenWithPreference","prefVal","isSettingsOpen","isMountingRef","useRef","wrapperNode","textInputRef","isEndingEditWithFocusRef","settingsKeys","map","id","internalControlValue","setInternalControlValue","setInternalURLInputValue","setInternalTextInputValue","createSetInternalSettingValueHandler","useInternalValue","valueHasChanges","isShallowEqualObjects","isEditingLink","setIsEditingLink","url","createPage","isCreatingPage","errorMessage","useCreatePage","useEffect","current","nextFocusTarget","focus","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","nonSettingsChanges","Object","keys","reduce","acc","key","includes","title","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","ENTER","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showActions","showTextControl","isEditing","isDisabled","showSettings","jsxs","tabIndex","ref","className","children","jsx","Spinner","__","Fragment","clsx","TextControl","__nextHasNoMarginBottom","label","onKeyDown","__next40pxDefaultSize","default","currentLink","placeholder","onCreateSuggestion","onSelect","allowDirectEntry","withURLSuggestion","hideLabelFromVision","suffix","__experimentalInputControlSuffixWrapper","variant","Button","onClick","icon","keyboardReturn","size","Notice","status","isDismissible","onEditClick","hasUnlinkControl","__experimentalHStack","justify","ViewerFill","DeprecatedExperimentalLinkControl","props","deprecated","since","alternative","exports","_default"],"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tSpinner,\n\tNotice,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\nimport { isShallowEqualObjects } from '@wordpress/is-shallow-equal';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport LinkSettings from './settings';\nimport useCreatePage from './use-create-page';\nimport useInternalValue from './use-internal-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\nconst PREFERENCE_SCOPE = 'core/block-editor';\nconst PREFERENCE_KEY = 'linkControlSettingsDrawer';\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst [ settingsOpen, setSettingsOpen ] = useState( false );\n\n\tconst { advancedSettingsPreference } = useSelect( ( select ) => {\n\t\tconst prefsStore = select( preferencesStore );\n\n\t\treturn {\n\t\t\tadvancedSettingsPreference:\n\t\t\t\tprefsStore.get( PREFERENCE_SCOPE, PREFERENCE_KEY ) ?? false,\n\t\t};\n\t}, [] );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\t/**\n\t * Sets the open/closed state of the Advanced Settings Drawer,\n\t * optionlly persisting the state to the user's preferences.\n\t *\n\t * Note that Block Editor components can be consumed by non-WordPress\n\t * environments which may not have preferences setup.\n\t * Therefore a local state is also used as a fallback.\n\t *\n\t * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer.\n\t */\n\tconst setSettingsOpenWithPreference = ( prefVal ) => {\n\t\tif ( setPreference ) {\n\t\t\tsetPreference( PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal );\n\t\t}\n\t\tsetSettingsOpen( prefVal );\n\t};\n\n\t// Block Editor components can be consumed by non-WordPress environments\n\t// which may not have these preferences setup.\n\t// Therefore a local state is used as a fallback.\n\tconst isSettingsOpen = advancedSettingsPreference || settingsOpen;\n\n\tconst isMountingRef = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocusRef = useRef( false );\n\n\tconst settingsKeys = settings.map( ( { id } ) => id );\n\n\tconst [\n\t\tinternalControlValue,\n\t\tsetInternalControlValue,\n\t\tsetInternalURLInputValue,\n\t\tsetInternalTextInputValue,\n\t\tcreateSetInternalSettingValueHandler,\n\t] = useInternalValue( value );\n\n\tconst valueHasChanges =\n\t\tvalue && ! isShallowEqualObjects( internalControlValue, value );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif ( forceIsEditingLink === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsEditingLink( forceIsEditingLink );\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMountingRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[ 0 ] ||\n\t\t\twrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocusRef.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\t// The component mounting reference is maintained separately\n\t// to correctly reset values in `StrictMode`.\n\tuseEffect( () => {\n\t\tisMountingRef.current = false;\n\n\t\treturn () => {\n\t\t\tisMountingRef.current = true;\n\t\t};\n\t}, [] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocusRef.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\t// Suggestions may contains \"settings\" values (e.g. `opensInNewTab`)\n\t\t// which should not override any existing settings values set by the\n\t\t// user. This filters out any settings values from the suggestion.\n\t\tconst nonSettingsChanges = Object.keys( updatedValue ).reduce(\n\t\t\t( acc, key ) => {\n\t\t\t\tif ( ! settingsKeys.includes( key ) ) {\n\t\t\t\t\tacc[ key ] = updatedValue[ key ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tonChange( {\n\t\t\t...internalControlValue,\n\t\t\t...nonSettingsChanges,\n\t\t\t// As title is not a setting, it must be manually applied\n\t\t\t// in such a way as to preserve the users changes over\n\t\t\t// any \"title\" value provided by the \"suggestion\".\n\t\t\ttitle: internalControlValue?.title || updatedValue?.title,\n\t\t} );\n\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif ( valueHasChanges ) {\n\t\t\t// Submit the original value with new stored values applied\n\t\t\t// on top. URL is a special case as it may also be a prop.\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\t...internalControlValue,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalControlValue( value );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue =\n\t\tpropInputValue || internalControlValue?.url || '';\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showActions = isEditingLink && hasLinkValue;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\tconst isDisabled = ! valueHasChanges || currentInputIsEmpty;\n\tconst showSettings = !! settings?.length && isEditingLink && hasLinkValue;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t\t'has-actions': showActions,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\tvalue={ internalControlValue?.title }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalURLInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision={ ! showTextControl }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tshowActions ? undefined : (\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tisDisabled ? noop : handleSubmit\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\tsetIsEditingLink( true );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettings && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t{ ! currentInputIsEmpty && (\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tsettingsOpen={ isSettingsOpen }\n\t\t\t\t\t\t\tsetSettingsOpen={ setSettingsOpenWithPreference }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonChange={ createSetInternalSettingValueHandler(\n\t\t\t\t\t\t\t\t\tsettingsKeys\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</LinkControlSettingsDrawer>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ showActions && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t\tclassName=\"block-editor-link-control__search-actions\"\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ handleCancel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t{ ! isCreatingPage && renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\nLinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;\n\nconst DeprecatedExperimentalLinkControl = ( props ) => {\n\tdeprecated( 'wp.blockEditor.__experimentalLinkControl', {\n\t\tsince: '6.8',\n\t\talternative: 'wp.blockEditor.LinkControl',\n\t} );\n\n\treturn <LinkControl { ...props } />;\n};\n\nDeprecatedExperimentalLinkControl.ViewerFill = LinkControl.ViewerFill;\nDeprecatedExperimentalLinkControl.DEFAULT_LINK_SETTINGS =\n\tLinkControl.DEFAULT_LINK_SETTINGS;\n\nexport { DeprecatedExperimentalLinkControl };\nexport default LinkControl;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -102,17 +102,16 @@ const LinkControlSearchInput = (0, _element.forwardRef)(({
|
|
|
102
102
|
}, suggestion);
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
|
-
const inputLabel = placeholder !== null && placeholder !== void 0 ? placeholder : (0, _i18n.__)('Search or type URL');
|
|
106
105
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
107
106
|
className: "block-editor-link-control__search-input-container",
|
|
108
107
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_.URLInput, {
|
|
109
108
|
disableSuggestions: currentLink?.url === value,
|
|
110
|
-
label:
|
|
109
|
+
label: (0, _i18n.__)('Link'),
|
|
111
110
|
hideLabelFromVision: hideLabelFromVision,
|
|
112
111
|
className: className,
|
|
113
112
|
value: value,
|
|
114
113
|
onChange: onInputChange,
|
|
115
|
-
placeholder:
|
|
114
|
+
placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : (0, _i18n.__)('Search or type URL'),
|
|
116
115
|
__experimentalRenderSuggestions: showSuggestions ? handleRenderSuggestions : null,
|
|
117
116
|
__experimentalFetchLinkSuggestions: searchHandler,
|
|
118
117
|
__experimentalHandleURLSuggestions: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_i18n","_","_searchResults","_interopRequireDefault","_constants","_useSearchHandler","_deprecated","_jsxRuntime","noopSearchHandler","Promise","resolve","noop","LinkControlSearchInput","forwardRef","value","children","currentLink","className","placeholder","withCreateSuggestion","onCreateSuggestion","onChange","onSelect","showSuggestions","renderSuggestions","props","jsx","default","fetchSuggestions","allowDirectEntry","showInitialSuggestions","suggestionsQuery","withURLSuggestion","createSuggestionButtonText","hideLabelFromVision","suffix","ref","genericSearchHandler","useSearchHandler","searchHandler","focusedSuggestion","setFocusedSuggestion","useState","onInputChange","selection","suggestion","handleRenderSuggestions","handleSuggestionClick","onSuggestionSelected","selectedSuggestion","CREATE_TYPE","type","title","url","e","Object","keys","length","id","restLinkProps","inputLabel","__","jsxs","URLInput","disableSuggestions","label","__experimentalRenderSuggestions","__experimentalFetchLinkSuggestions","__experimentalHandleURLSuggestions","__experimentalShowInitialSuggestions","onSubmit","event","hasSuggestion","trim","preventDefault","_default","exports","__experimentalLinkControlSearchInput","deprecated","since"],"sources":["@wordpress/block-editor/src/components/link-control/search-input.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { URLInput } from '../';\nimport LinkControlSearchResults from './search-results';\nimport { CREATE_TYPE } from './constants';\nimport useSearchHandler from './use-search-handler';\nimport deprecated from '@wordpress/deprecated';\n\n// Must be a function as otherwise URLInput will default\n// to the fetchLinkSuggestions passed in block editor settings\n// which will cause an unintended http request.\nconst noopSearchHandler = () => Promise.resolve( [] );\n\nconst noop = () => {};\n\nconst LinkControlSearchInput = forwardRef(\n\t(\n\t\t{\n\t\t\tvalue,\n\t\t\tchildren,\n\t\t\tcurrentLink = {},\n\t\t\tclassName = null,\n\t\t\tplaceholder = null,\n\t\t\twithCreateSuggestion = false,\n\t\t\tonCreateSuggestion = noop,\n\t\t\tonChange = noop,\n\t\t\tonSelect = noop,\n\t\t\tshowSuggestions = true,\n\t\t\trenderSuggestions = ( props ) => (\n\t\t\t\t<LinkControlSearchResults { ...props } />\n\t\t\t),\n\t\t\tfetchSuggestions = null,\n\t\t\tallowDirectEntry = true,\n\t\t\tshowInitialSuggestions = false,\n\t\t\tsuggestionsQuery = {},\n\t\t\twithURLSuggestion = true,\n\t\t\tcreateSuggestionButtonText,\n\t\t\thideLabelFromVision = false,\n\t\t\tsuffix,\n\t\t},\n\t\tref\n\t) => {\n\t\tconst genericSearchHandler = useSearchHandler(\n\t\t\tsuggestionsQuery,\n\t\t\tallowDirectEntry,\n\t\t\twithCreateSuggestion,\n\t\t\twithURLSuggestion\n\t\t);\n\n\t\tconst searchHandler = showSuggestions\n\t\t\t? fetchSuggestions || genericSearchHandler\n\t\t\t: noopSearchHandler;\n\n\t\tconst [ focusedSuggestion, setFocusedSuggestion ] = useState();\n\n\t\t/**\n\t\t * Handles the user moving between different suggestions. Does not handle\n\t\t * choosing an individual item.\n\t\t *\n\t\t * @param {string} selection the url of the selected suggestion.\n\t\t * @param {Object} suggestion the suggestion object.\n\t\t */\n\t\tconst onInputChange = ( selection, suggestion ) => {\n\t\t\tonChange( selection );\n\t\t\tsetFocusedSuggestion( suggestion );\n\t\t};\n\n\t\tconst handleRenderSuggestions = ( props ) =>\n\t\t\trenderSuggestions( {\n\t\t\t\t...props,\n\t\t\t\twithCreateSuggestion,\n\t\t\t\tcreateSuggestionButtonText,\n\t\t\t\tsuggestionsQuery,\n\t\t\t\thandleSuggestionClick: ( suggestion ) => {\n\t\t\t\t\tif ( props.handleSuggestionClick ) {\n\t\t\t\t\t\tprops.handleSuggestionClick( suggestion );\n\t\t\t\t\t}\n\t\t\t\t\tonSuggestionSelected( suggestion );\n\t\t\t\t},\n\t\t\t} );\n\n\t\tconst onSuggestionSelected = async ( selectedSuggestion ) => {\n\t\t\tlet suggestion = selectedSuggestion;\n\t\t\tif ( CREATE_TYPE === selectedSuggestion.type ) {\n\t\t\t\t// Create a new page and call onSelect with the output from the onCreateSuggestion callback.\n\t\t\t\ttry {\n\t\t\t\t\tsuggestion = await onCreateSuggestion(\n\t\t\t\t\t\tselectedSuggestion.title\n\t\t\t\t\t);\n\t\t\t\t\tif ( suggestion?.url ) {\n\t\t\t\t\t\tonSelect( suggestion );\n\t\t\t\t\t}\n\t\t\t\t} catch ( e ) {}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tallowDirectEntry ||\n\t\t\t\t( suggestion && Object.keys( suggestion ).length >= 1 )\n\t\t\t) {\n\t\t\t\tconst { id, url, ...restLinkProps } = currentLink ?? {};\n\t\t\t\tonSelect(\n\t\t\t\t\t// Some direct entries don't have types or IDs, and we still need to clear the previous ones.\n\t\t\t\t\t{ ...restLinkProps, ...suggestion },\n\t\t\t\t\tsuggestion\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tconst inputLabel = placeholder ?? __( 'Search or type URL' );\n\n\t\treturn (\n\t\t\t<div className=\"block-editor-link-control__search-input-container\">\n\t\t\t\t<URLInput\n\t\t\t\t\tdisableSuggestions={ currentLink?.url === value }\n\t\t\t\t\tlabel={ inputLabel }\n\t\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\tplaceholder={ inputLabel }\n\t\t\t\t\t__experimentalRenderSuggestions={\n\t\t\t\t\t\tshowSuggestions ? handleRenderSuggestions : null\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalFetchLinkSuggestions={ searchHandler }\n\t\t\t\t\t__experimentalHandleURLSuggestions\n\t\t\t\t\t__experimentalShowInitialSuggestions={\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t}\n\t\t\t\t\tonSubmit={ ( suggestion, event ) => {\n\t\t\t\t\t\tconst hasSuggestion = suggestion || focusedSuggestion;\n\n\t\t\t\t\t\t// If there is no suggestion and the value (ie: any manually entered URL) is empty\n\t\t\t\t\t\t// then don't allow submission otherwise we get empty links.\n\t\t\t\t\t\tif ( ! hasSuggestion && ! value?.trim()?.length ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonSuggestionSelected(\n\t\t\t\t\t\t\t\thasSuggestion || { url: value }\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\tref={ ref }\n\t\t\t\t\tsuffix={ suffix }\n\t\t\t\t/>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nexport default LinkControlSearchInput;\n\nexport const __experimentalLinkControlSearchInput = ( props ) => {\n\tdeprecated( 'wp.blockEditor.__experimentalLinkControlSearchInput', {\n\t\tsince: '6.8',\n\t} );\n\n\treturn <LinkControlSearchInput { ...props } />;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_element","require","_i18n","_","_searchResults","_interopRequireDefault","_constants","_useSearchHandler","_deprecated","_jsxRuntime","noopSearchHandler","Promise","resolve","noop","LinkControlSearchInput","forwardRef","value","children","currentLink","className","placeholder","withCreateSuggestion","onCreateSuggestion","onChange","onSelect","showSuggestions","renderSuggestions","props","jsx","default","fetchSuggestions","allowDirectEntry","showInitialSuggestions","suggestionsQuery","withURLSuggestion","createSuggestionButtonText","hideLabelFromVision","suffix","ref","genericSearchHandler","useSearchHandler","searchHandler","focusedSuggestion","setFocusedSuggestion","useState","onInputChange","selection","suggestion","handleRenderSuggestions","handleSuggestionClick","onSuggestionSelected","selectedSuggestion","CREATE_TYPE","type","title","url","e","Object","keys","length","id","restLinkProps","jsxs","URLInput","disableSuggestions","label","__","__experimentalRenderSuggestions","__experimentalFetchLinkSuggestions","__experimentalHandleURLSuggestions","__experimentalShowInitialSuggestions","onSubmit","event","hasSuggestion","trim","preventDefault","_default","exports","__experimentalLinkControlSearchInput","deprecated","since"],"sources":["@wordpress/block-editor/src/components/link-control/search-input.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { URLInput } from '../';\nimport LinkControlSearchResults from './search-results';\nimport { CREATE_TYPE } from './constants';\nimport useSearchHandler from './use-search-handler';\nimport deprecated from '@wordpress/deprecated';\n\n// Must be a function as otherwise URLInput will default\n// to the fetchLinkSuggestions passed in block editor settings\n// which will cause an unintended http request.\nconst noopSearchHandler = () => Promise.resolve( [] );\n\nconst noop = () => {};\n\nconst LinkControlSearchInput = forwardRef(\n\t(\n\t\t{\n\t\t\tvalue,\n\t\t\tchildren,\n\t\t\tcurrentLink = {},\n\t\t\tclassName = null,\n\t\t\tplaceholder = null,\n\t\t\twithCreateSuggestion = false,\n\t\t\tonCreateSuggestion = noop,\n\t\t\tonChange = noop,\n\t\t\tonSelect = noop,\n\t\t\tshowSuggestions = true,\n\t\t\trenderSuggestions = ( props ) => (\n\t\t\t\t<LinkControlSearchResults { ...props } />\n\t\t\t),\n\t\t\tfetchSuggestions = null,\n\t\t\tallowDirectEntry = true,\n\t\t\tshowInitialSuggestions = false,\n\t\t\tsuggestionsQuery = {},\n\t\t\twithURLSuggestion = true,\n\t\t\tcreateSuggestionButtonText,\n\t\t\thideLabelFromVision = false,\n\t\t\tsuffix,\n\t\t},\n\t\tref\n\t) => {\n\t\tconst genericSearchHandler = useSearchHandler(\n\t\t\tsuggestionsQuery,\n\t\t\tallowDirectEntry,\n\t\t\twithCreateSuggestion,\n\t\t\twithURLSuggestion\n\t\t);\n\n\t\tconst searchHandler = showSuggestions\n\t\t\t? fetchSuggestions || genericSearchHandler\n\t\t\t: noopSearchHandler;\n\n\t\tconst [ focusedSuggestion, setFocusedSuggestion ] = useState();\n\n\t\t/**\n\t\t * Handles the user moving between different suggestions. Does not handle\n\t\t * choosing an individual item.\n\t\t *\n\t\t * @param {string} selection the url of the selected suggestion.\n\t\t * @param {Object} suggestion the suggestion object.\n\t\t */\n\t\tconst onInputChange = ( selection, suggestion ) => {\n\t\t\tonChange( selection );\n\t\t\tsetFocusedSuggestion( suggestion );\n\t\t};\n\n\t\tconst handleRenderSuggestions = ( props ) =>\n\t\t\trenderSuggestions( {\n\t\t\t\t...props,\n\t\t\t\twithCreateSuggestion,\n\t\t\t\tcreateSuggestionButtonText,\n\t\t\t\tsuggestionsQuery,\n\t\t\t\thandleSuggestionClick: ( suggestion ) => {\n\t\t\t\t\tif ( props.handleSuggestionClick ) {\n\t\t\t\t\t\tprops.handleSuggestionClick( suggestion );\n\t\t\t\t\t}\n\t\t\t\t\tonSuggestionSelected( suggestion );\n\t\t\t\t},\n\t\t\t} );\n\n\t\tconst onSuggestionSelected = async ( selectedSuggestion ) => {\n\t\t\tlet suggestion = selectedSuggestion;\n\t\t\tif ( CREATE_TYPE === selectedSuggestion.type ) {\n\t\t\t\t// Create a new page and call onSelect with the output from the onCreateSuggestion callback.\n\t\t\t\ttry {\n\t\t\t\t\tsuggestion = await onCreateSuggestion(\n\t\t\t\t\t\tselectedSuggestion.title\n\t\t\t\t\t);\n\t\t\t\t\tif ( suggestion?.url ) {\n\t\t\t\t\t\tonSelect( suggestion );\n\t\t\t\t\t}\n\t\t\t\t} catch ( e ) {}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tallowDirectEntry ||\n\t\t\t\t( suggestion && Object.keys( suggestion ).length >= 1 )\n\t\t\t) {\n\t\t\t\tconst { id, url, ...restLinkProps } = currentLink ?? {};\n\t\t\t\tonSelect(\n\t\t\t\t\t// Some direct entries don't have types or IDs, and we still need to clear the previous ones.\n\t\t\t\t\t{ ...restLinkProps, ...suggestion },\n\t\t\t\t\tsuggestion\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"block-editor-link-control__search-input-container\">\n\t\t\t\t<URLInput\n\t\t\t\t\tdisableSuggestions={ currentLink?.url === value }\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\tplaceholder={ placeholder ?? __( 'Search or type URL' ) }\n\t\t\t\t\t__experimentalRenderSuggestions={\n\t\t\t\t\t\tshowSuggestions ? handleRenderSuggestions : null\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalFetchLinkSuggestions={ searchHandler }\n\t\t\t\t\t__experimentalHandleURLSuggestions\n\t\t\t\t\t__experimentalShowInitialSuggestions={\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t}\n\t\t\t\t\tonSubmit={ ( suggestion, event ) => {\n\t\t\t\t\t\tconst hasSuggestion = suggestion || focusedSuggestion;\n\n\t\t\t\t\t\t// If there is no suggestion and the value (ie: any manually entered URL) is empty\n\t\t\t\t\t\t// then don't allow submission otherwise we get empty links.\n\t\t\t\t\t\tif ( ! hasSuggestion && ! value?.trim()?.length ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonSuggestionSelected(\n\t\t\t\t\t\t\t\thasSuggestion || { url: value }\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\tref={ ref }\n\t\t\t\t\tsuffix={ suffix }\n\t\t\t\t/>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nexport default LinkControlSearchInput;\n\nexport const __experimentalLinkControlSearchInput = ( props ) => {\n\tdeprecated( 'wp.blockEditor.__experimentalLinkControlSearchInput', {\n\t\tsince: '6.8',\n\t} );\n\n\treturn <LinkControlSearchInput { ...props } />;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,6 +28,7 @@ var _useBlockDisplayInformation = _interopRequireDefault(require("../use-block-d
|
|
|
28
28
|
var _blockLock = require("../block-lock");
|
|
29
29
|
var _ariaReferencedText = _interopRequireDefault(require("./aria-referenced-text"));
|
|
30
30
|
var _lockUnlock = require("../../lock-unlock");
|
|
31
|
+
var _usePasteStyles = _interopRequireDefault(require("../use-paste-styles"));
|
|
31
32
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
32
33
|
/**
|
|
33
34
|
* External dependencies
|
|
@@ -99,6 +100,7 @@ function ListViewBlock({
|
|
|
99
100
|
getGroupingBlockName
|
|
100
101
|
} = (0, _data.useSelect)(_blocks.store);
|
|
101
102
|
const blockInformation = (0, _useBlockDisplayInformation.default)(clientId);
|
|
103
|
+
const pasteStyles = (0, _usePasteStyles.default)();
|
|
102
104
|
const {
|
|
103
105
|
block,
|
|
104
106
|
blockName,
|
|
@@ -200,6 +202,13 @@ function ListViewBlock({
|
|
|
200
202
|
blockToFocus = getBlockOrder()[0];
|
|
201
203
|
}
|
|
202
204
|
updateFocusAndSelection(blockToFocus, shouldUpdateSelection);
|
|
205
|
+
} else if (isMatch('core/block-editor/paste-styles', event)) {
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
const {
|
|
208
|
+
blocksToUpdate
|
|
209
|
+
} = getBlocksToUpdate();
|
|
210
|
+
const blocks = getBlocksByClientId(blocksToUpdate);
|
|
211
|
+
pasteStyles(blocks);
|
|
203
212
|
} else if (isMatch('core/block-editor/duplicate', event)) {
|
|
204
213
|
event.preventDefault();
|
|
205
214
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_components","_compose","_icons","_element","_data","_i18n","_keycodes","_isShallowEqual","_keyboardShortcuts","_a11y","_leaf","_useListViewScrollIntoView","_button","_blockContents","_context","_utils","_store","_useBlockDisplayInformation","_blockLock","_ariaReferencedText","_lockUnlock","_jsxRuntime","ListViewBlock","block","clientId","displacement","isAfterDraggedBlocks","isDragged","isNesting","isSelected","isBranchSelected","selectBlock","position","level","rowCount","siblingBlockCount","showBlockMovers","path","isExpanded","selectedClientIds","isSyncedBranch","cellRef","useRef","rowRef","settingsRef","isHovered","setIsHovered","useState","settingsAnchorRect","setSettingsAnchorRect","isLocked","canEdit","canMove","useBlockLock","isFirstSelectedBlock","isLastSelectedBlock","length","toggleBlockHighlight","duplicateBlocks","multiSelect","replaceBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","setOpenedBlockSettingsMenu","unlock","useDispatch","blockEditorStore","canInsertBlockType","getSelectedBlockClientIds","getPreviousBlockClientId","getBlockRootClientId","getBlockOrder","getBlockParents","getBlocksByClientId","canRemoveBlocks","isGroupable","useSelect","getGroupingBlockName","blocksStore","blockInformation","useBlockDisplayInformation","blockName","allowRightClickOverrides","select","getBlock","getBlockName","getSettings","showBlockActions","hasBlockSupport","instanceId","useInstanceId","descriptionId","expand","collapse","collapseAll","BlockSettingsMenu","listViewInstanceId","expandedState","setInsertedBlock","treeGridElementRef","rootClientId","useListViewContext","isMatch","useShortcutEventMatch","getBlocksToUpdate","selectedBlockClientIds","isUpdatingSelectedBlocks","includes","firstBlockClientId","firstBlockRootClientId","blocksToUpdate","onKeyDown","event","defaultPrevented","target","closest","isDeleteKey","BACKSPACE","DELETE","keyCode","stopPropagation","preventDefault","undefined","_getPreviousBlockClie","blocksToDelete","blockToFocus","shouldUpdateSelection","updateFocusAndSelection","canDuplicate","every","blockToUpdate","name","updatedBlocks","newlySelectedBlocks","at","blockClientIds","isShallowEqual","blockParents","blocks","groupingBlockName","newBlocks","switchToBlockType","speak","__","onMouseEnter","useCallback","onMouseLeave","selectEditorBlock","focusClientId","shouldSelectBlock","focusListItem","current","toggleExpanded","onContextMenu","click","window","DOMRect","clientX","clientY","onMouseDown","button","settingsPopoverAnchor","useMemo","ownerDocument","getBoundingClientRect","clearSettingsAnchorRect","useListViewScrollIntoView","rowItemRef","blockPositionDescription","getBlockPositionDescription","blockPropertiesDescription","getBlockPropertiesDescription","hasSiblings","hasRenderedMovers","moverCellClassName","clsx","listViewBlockSettingsClassName","colSpan","classes","isSynced","dropdownClientIds","currentlyEditingBlockInCanvas","jsxs","default","className","onFocus","onBlur","id","ref","children","jsx","__experimentalTreeGridCell","tabIndex","onClick","onToggleExpanded","ariaDescribedBy","filter","Boolean","join","Fragment","withoutGridItem","__experimentalTreeGridItem","BlockMoverUpButton","orientation","clientIds","BlockMoverDownButton","icon","moreVertical","label","popoverProps","anchor","toggleProps","disableOpenOnArrowDown","__experimentalSelectBlock","_default","exports","memo"],"sources":["@wordpress/block-editor/src/components/list-view/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { useBlockLock } from '../block-lock';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\n\nfunction ListViewBlock( {\n\tblock: { clientId },\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\n\tconst { isLocked, canEdit, canMove } = useBlockLock( clientId );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetOpenedBlockSettingsMenu,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlocksByClientId,\n\t\tcanRemoveBlocks,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tconst { block, blockName, allowRightClickOverrides } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlockName, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\tallowRightClickOverrides:\n\t\t\t\t\tgetSettings().allowRightClickOverrides,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true );\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\texpand,\n\t\tcollapse,\n\t\tcollapseAll,\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\texpandedState,\n\t\tsetInsertedBlock,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not handle events if it comes from modals;\n\t\t// retain the default behavior for these keys.\n\t\tif ( event.target.closest( '[role=dialog]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tisDeleteKey ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks.\n\t\t\tcollapseAll();\n\t\t\t// Expand all parents of the current block.\n\t\t\texpand( blockParents );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tif ( blocksToUpdate.length > 1 && isGroupable( blocksToUpdate ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\t\tblocks,\n\t\t\t\t\tgroupingBlockName\n\t\t\t\t);\n\t\t\t\treplaceBlocks( blocksToUpdate, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\t\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\ttoggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\ttoggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tselectBlock( event, clientId );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription = getBlockPropertiesDescription(\n\t\tblockInformation,\n\t\tisLocked\n\t);\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = clsx(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = clsx(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! showBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = clsx( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': blockInformation?.isSynced,\n\t\t'is-draggable': canMove,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\tconst currentlyEditingBlockInCanvas =\n\t\tisSelected && selectedClientIds.length === 1;\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEdit ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={ onContextMenu }\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t\tcurrentlyEditingBlockInCanvas ? 0 : tabIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEdit ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ [\n\t\t\t\t\t\t\t\tblockPositionDescription,\n\t\t\t\t\t\t\t\tblockPropertiesDescription,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\texpand={ expand }\n\t\t\t\t\t\t\texpandedState={ expandedState }\n\t\t\t\t\t\t\tsetInsertedBlock={ setInsertedBlock }\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\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</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_components","_compose","_icons","_element","_data","_i18n","_keycodes","_isShallowEqual","_keyboardShortcuts","_a11y","_leaf","_useListViewScrollIntoView","_button","_blockContents","_context","_utils","_store","_useBlockDisplayInformation","_blockLock","_ariaReferencedText","_lockUnlock","_usePasteStyles","_jsxRuntime","ListViewBlock","block","clientId","displacement","isAfterDraggedBlocks","isDragged","isNesting","isSelected","isBranchSelected","selectBlock","position","level","rowCount","siblingBlockCount","showBlockMovers","path","isExpanded","selectedClientIds","isSyncedBranch","cellRef","useRef","rowRef","settingsRef","isHovered","setIsHovered","useState","settingsAnchorRect","setSettingsAnchorRect","isLocked","canEdit","canMove","useBlockLock","isFirstSelectedBlock","isLastSelectedBlock","length","toggleBlockHighlight","duplicateBlocks","multiSelect","replaceBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","setOpenedBlockSettingsMenu","unlock","useDispatch","blockEditorStore","canInsertBlockType","getSelectedBlockClientIds","getPreviousBlockClientId","getBlockRootClientId","getBlockOrder","getBlockParents","getBlocksByClientId","canRemoveBlocks","isGroupable","useSelect","getGroupingBlockName","blocksStore","blockInformation","useBlockDisplayInformation","pasteStyles","usePasteStyles","blockName","allowRightClickOverrides","select","getBlock","getBlockName","getSettings","showBlockActions","hasBlockSupport","instanceId","useInstanceId","descriptionId","expand","collapse","collapseAll","BlockSettingsMenu","listViewInstanceId","expandedState","setInsertedBlock","treeGridElementRef","rootClientId","useListViewContext","isMatch","useShortcutEventMatch","getBlocksToUpdate","selectedBlockClientIds","isUpdatingSelectedBlocks","includes","firstBlockClientId","firstBlockRootClientId","blocksToUpdate","onKeyDown","event","defaultPrevented","target","closest","isDeleteKey","BACKSPACE","DELETE","keyCode","stopPropagation","preventDefault","undefined","_getPreviousBlockClie","blocksToDelete","blockToFocus","shouldUpdateSelection","updateFocusAndSelection","blocks","canDuplicate","every","blockToUpdate","name","updatedBlocks","newlySelectedBlocks","at","blockClientIds","isShallowEqual","blockParents","groupingBlockName","newBlocks","switchToBlockType","speak","__","onMouseEnter","useCallback","onMouseLeave","selectEditorBlock","focusClientId","shouldSelectBlock","focusListItem","current","toggleExpanded","onContextMenu","click","window","DOMRect","clientX","clientY","onMouseDown","button","settingsPopoverAnchor","useMemo","ownerDocument","getBoundingClientRect","clearSettingsAnchorRect","useListViewScrollIntoView","rowItemRef","blockPositionDescription","getBlockPositionDescription","blockPropertiesDescription","getBlockPropertiesDescription","hasSiblings","hasRenderedMovers","moverCellClassName","clsx","listViewBlockSettingsClassName","colSpan","classes","isSynced","dropdownClientIds","currentlyEditingBlockInCanvas","jsxs","default","className","onFocus","onBlur","id","ref","children","jsx","__experimentalTreeGridCell","tabIndex","onClick","onToggleExpanded","ariaDescribedBy","filter","Boolean","join","Fragment","withoutGridItem","__experimentalTreeGridItem","BlockMoverUpButton","orientation","clientIds","BlockMoverDownButton","icon","moreVertical","label","popoverProps","anchor","toggleProps","disableOpenOnArrowDown","__experimentalSelectBlock","_default","exports","memo"],"sources":["@wordpress/block-editor/src/components/list-view/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { useBlockLock } from '../block-lock';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\nimport usePasteStyles from '../use-paste-styles';\n\nfunction ListViewBlock( {\n\tblock: { clientId },\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\n\tconst { isLocked, canEdit, canMove } = useBlockLock( clientId );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetOpenedBlockSettingsMenu,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlocksByClientId,\n\t\tcanRemoveBlocks,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tconst pasteStyles = usePasteStyles();\n\n\tconst { block, blockName, allowRightClickOverrides } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlockName, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\tallowRightClickOverrides:\n\t\t\t\t\tgetSettings().allowRightClickOverrides,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true );\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\texpand,\n\t\tcollapse,\n\t\tcollapseAll,\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\texpandedState,\n\t\tsetInsertedBlock,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not handle events if it comes from modals;\n\t\t// retain the default behavior for these keys.\n\t\tif ( event.target.closest( '[role=dialog]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tisDeleteKey ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/paste-styles', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\n\t\t\tpasteStyles( blocks );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks.\n\t\t\tcollapseAll();\n\t\t\t// Expand all parents of the current block.\n\t\t\texpand( blockParents );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tif ( blocksToUpdate.length > 1 && isGroupable( blocksToUpdate ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\t\tblocks,\n\t\t\t\t\tgroupingBlockName\n\t\t\t\t);\n\t\t\t\treplaceBlocks( blocksToUpdate, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\t\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\ttoggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\ttoggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tselectBlock( event, clientId );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription = getBlockPropertiesDescription(\n\t\tblockInformation,\n\t\tisLocked\n\t);\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = clsx(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = clsx(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! showBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = clsx( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': blockInformation?.isSynced,\n\t\t'is-draggable': canMove,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\tconst currentlyEditingBlockInCanvas =\n\t\tisSelected && selectedClientIds.length === 1;\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEdit ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={ onContextMenu }\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t\tcurrentlyEditingBlockInCanvas ? 0 : tabIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEdit ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ [\n\t\t\t\t\t\t\t\tblockPositionDescription,\n\t\t\t\t\t\t\t\tblockPropertiesDescription,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\texpand={ expand }\n\t\t\t\t\t\t\texpandedState={ expandedState }\n\t\t\t\t\t\t\tsetInsertedBlock={ setInsertedBlock }\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\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</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],"mappings":"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","ignoreList":[]}
|