Gutenberg 区块编辑器文档

title: "Gutenberg 私有 API" post_status: publish comment_status: open taxonomy: category: - gutenberg-docs post_tag: - Repos - Data - Docs Translate


Gutenberg 私有 API

本文概述 Gutenberg 包公开的私有 API。这些 API 用于实现 Gutenberg 编辑器(文章编辑器、站点编辑器、核心区块等)的部分功能,但未向插件和主题开发者或自定义 Gutenberg 集成的开发者公开。

本文档旨在展示我们拥有多少私有 API,以及如何利用 @wordpress/* 系列包提供的库和框架,使用这些 API 构建 Gutenberg 编辑器应用。

data

注册表有两个私有方法: - privateActionsOf - privateSelectorsOf

每个存储都有一个用于注册私有选择器/操作的私有 API: - privateActions - registerPrivateActions - privateSelectors - registerPrivateSelectors

blocks

core/blocks 存储

私有操作: - addBlockBindingsSource - removeBlockBindingsSource - addBootstrappedBlockType - addUnprocessedBlockType

私有选择器: - getAllBlockBindingsSources - getBlockBindingsSource - getBootstrappedBlockType - getSupportedStyles - getUnprocessedBlockTypes - hasContentRoleAttribute

组件

私有导出项: - __experimentalPopoverLegacyPositionToPlacement - ComponentsContext - Tabs - Theme - Menu - kebabCase

命令

私有导出项: - useCommandContext(2023年5月在 #50543 中添加)

core/commands 存储

私有操作: - setContext(与 useCommandContext 一同添加)

preferences

私有导出:(于 2024 年 1 月在 #57639 中添加) - PreferenceBaseOption - PreferenceToggleControl - PreferencesModal - PreferencesModalSection - PreferencesModalTabs

仅有一个公开导出的组件! - PreferenceToggleMenuItem

block-editor

私有导出: - AdvancedPanel - BackgroundPanel - BorderPanel - ColorPanel - DimensionsPanel - FiltersPanel - ImageSettingsPanel - TypographyPanel - useHasBackgroundPanel - useHasBorderPanel - useHasBorderPanelControls - useHasColorPanel - useHasDimensionsPanel - useHasFiltersPanel - useHasImageSettingsPanel - useHasTypographyPanel - useSettingsForBlockElement - ExperimentalBlockCanvas:公共 BlockCanvas 的版本,具有几个额外属性:contentRefshouldIframeiframeProps。 - ExperimentalBlockEditorProvider:公共 BlockEditorProvider 的版本,过滤掉几个私有/实验性设置。另请参阅 __experimentalUpdateSettings。 - getDuotoneFilter - getRichTextValues - PrivateQuickInserter - extractWords - getNormalizedSearchTerms - normalizeString - PrivateListView - ResizableBoxPopover - BlockInfo - useHasBlockToolbar - cleanEmptyObject - BlockQuickNavigation - LayoutStyle - BlockRemovalWarningModal - useLayoutClasses - useLayoutStyles - DimensionsTool - ResolutionTool - TabbedSidebar - TextAlignmentControl - usesContextKey - useFlashEditableBlocks - useZoomOut - globalStylesDataKey - globalStylesLinksDataKey - selectBlockPatternsKey - requiresWrapperOnCopy - PrivateRichText:在 #58916 和 #60327(2024 年 2 月和 3 月)中添加了额外属性 readOnly。 - PrivateInserterLibrary:在 #62130(2024 年 5 月)中添加了额外属性 onPatternCategorySelection。 - reusableBlocksSelectKey - PrivateBlockPopover:有两个额外属性,__unstableContentRef__unstablePopoverSlot。 - PrivatePublishDateTimePicker:公共 PublishDateTimePicker 的版本,具有两个额外属性:isCompactshowPopoverHeaderActions。 - useSpacingSizes - useBlockDisplayTitle - __unstableBlockStyleVariationOverridesWithConfig - setBackgroundStyleDefaults - sectionRootClientIdKey - __unstableCommentIconFill - __unstableCommentIconToolbarFill

core/block-editor 存储

私有操作: - __experimentalUpdateSettings:公共 updateSettings 操作的版本,会过滤掉某些私有/实验性设置。 - clearBlockRemovalPrompt - clearRequestedInspectorTab - deleteStyleOverride - ensureDefaultBlock - expandBlock - hideBlockInterface - modifyContentLockBlock - privateRemoveBlocks - requestInspectorTab - resetZoomLevel - setBlockRemovalRules - setInsertionPoint - setLastFocus - setOpenedBlockSettingsMenu - setStyleOverride - setZoomLevel - showBlockInterface - startDragging - stopDragging - stopEditingAsBlocks

私有选择器: - getAllPatterns - getBlockRemovalRules - getBlockSettings - getBlockStyles - getBlockWithoutAttributes - getClosestAllowedInsertionPoint - getClosestAllowedInsertionPointForPattern - getContentLockingParent - getEnabledBlockParents - getEnabledClientIdsTree - getExpandedBlock - getInserterMediaCategories - getInsertionPoint - getLastFocus - getLastInsertedBlocksClientIds - getOpenedBlockSettingsMenu - getParentSectionBlock - getPatternBySlug - getRegisteredInserterMediaCategories - getRemovalPromptData - getRequestedInspectorTab - getReusableBlocks - getSectionRootClientId - getStyleOverrides - getTemporarilyEditingAsBlocks - getTemporarilyEditingFocusModeToRevert - getZoomLevel - hasAllowedPatterns - isBlockInterfaceHidden - isBlockSubtreeDisabled - isDragging - isResolvingPatterns - isSectionBlock - isZoomOut

core-data

私有导出: - useEntityRecordsWithPermissions

core 存储

私有操作: - receiveRegisteredPostMeta - editMediaEntity

私有选择器: - getBlockPatternsForPostType - getEntityRecordPermissions - getEntityRecordsPermissions - getNavigationFallbackId - getRegisteredPostMeta - getUndoManager

patterns(该包创建于 2023 年 8 月,没有公开导出项,所有内容均为私有)

私有导出项: - OverridesPanel - CreatePatternModal - CreatePatternModalContents - DuplicatePatternModal - isOverridableBlock - useDuplicatePatternProps - RenamePatternModal - PatternsMenuItems - RenamePatternCategoryModal - PatternOverridesControls - ResetOverridesControl - PatternOverridesBlockControls - useAddPatternCategory - PATTERN_TYPES - PATTERN_DEFAULT_CATEGORY - PATTERN_USER_CATEGORY - EXCLUDED_PATTERN_SOURCES - PATTERN_SYNC_TYPES

core/patterns 存储库

私有操作: - convertSyncedPatternToStatic - createPattern - createPatternFromFile - setEditingPattern

私有选择器: - isEditingPattern

区块库

私有导出: - BlockKeyboardShortcuts

router(仅限私有导出)

私有导出: - useHistory - useLocation - RouterProvider

core-commands(仅限私有导出)

私有导出: - useCommands

编辑器

私有导出项: - CreateTemplatePartModal - BackButton - EntitiesSavedStatesExtensible - Editor - PluginPostExcerpt - PostCardPanel - PreferencesModal - usePostActions - ToolsMoreMenuGroup - ViewMoreMenuGroup - ResizableEditor - registerCoreBlockBindingsSources - interfaceStore - ActionItem - ComplementaryArea - ComplementaryAreaMoreMenuItem - FullscreenMode - InterfaceSkeleton - PinnedItems

core/editor 存储

私有操作: - createTemplate - hideBlockTypes - registerEntityAction - registerPostTypeActions - removeTemplates - revertTemplate - saveDirtyEntities - setCurrentTemplateId - setIsReady - showBlockTypes - unregisterEntityAction

私有选择器: - getEntityActions - getInserter - getInserterSidebarToggleRef - getListViewToggleRef - getPostBlocksByName - getPostIcon - hasPostMetaChanges - isEntityReady

edit-post

core/edit-post 存储

私有选择器: - getEditedPostTemplateId

edit-site

core/edit-site 存储

私有操作: - registerRoute - setEditorCanvasContainerView

私有选择器: - getRoutes - getEditorCanvasContainerView