Gutenberg 私有 API
本文概述 Gutenberg 包公开的私有 API。这些 API 用于实现 Gutenberg 编辑器(文章编辑器、站点编辑器、核心区块等)的部分功能,但未向插件和主题开发者或自定义 Gutenberg 集成的开发者公开。
本文档旨在展示我们拥有多少私有 API,以及如何利用 @wordpress/* 系列包提供的库和框架,使用这些 API 构建 Gutenberg 编辑器应用。
data
注册表有两个私有方法:
privateActionsOfprivateSelectorsOf
每个存储都有一个用于注册私有选择器/操作的私有 API:
privateActionsregisterPrivateActionsprivateSelectorsregisterPrivateSelectors
blocks
core/blocks 存储
私有操作:
addBlockBindingsSourceremoveBlockBindingsSourceaddBootstrappedBlockTypeaddUnprocessedBlockType
私有选择器:
getAllBlockBindingsSourcesgetBlockBindingsSourcegetBootstrappedBlockTypegetSupportedStylesgetUnprocessedBlockTypeshasContentRoleAttribute
组件
私有导出项:
__experimentalPopoverLegacyPositionToPlacementComponentsContextTabsThemeMenukebabCase
命令
私有导出项:
useCommandContext(2023年5月在 #50543 中添加)
core/commands 存储
私有操作:
setContext(与useCommandContext一同添加)
preferences
私有导出:(于 2024 年 1 月在 #57639 中添加)
PreferenceBaseOptionPreferenceToggleControlPreferencesModalPreferencesModalSectionPreferencesModalTabs
仅有一个公开导出的组件!
block-editor
私有导出:
AdvancedPanelBackgroundPanelBorderPanelColorPanelDimensionsPanelFiltersPanelImageSettingsPanelTypographyPaneluseHasBackgroundPaneluseHasBorderPaneluseHasBorderPanelControlsuseHasColorPaneluseHasDimensionsPaneluseHasFiltersPaneluseHasImageSettingsPaneluseHasTypographyPaneluseSettingsForBlockElementExperimentalBlockCanvas:公共BlockCanvas的版本,具有几个额外属性:contentRef、shouldIframe、iframeProps。ExperimentalBlockEditorProvider:公共BlockEditorProvider的版本,过滤掉几个私有/实验性设置。另请参阅__experimentalUpdateSettings。getDuotoneFiltergetRichTextValuesPrivateQuickInserterextractWordsgetNormalizedSearchTermsnormalizeStringPrivateListViewResizableBoxPopoverBlockInfouseHasBlockToolbarcleanEmptyObjectBlockQuickNavigationLayoutStyleBlockRemovalWarningModaluseLayoutClassesuseLayoutStylesDimensionsToolResolutionToolTabbedSidebarTextAlignmentControlusesContextKeyuseFlashEditableBlocksuseZoomOutglobalStylesDataKeyglobalStylesLinksDataKeyselectBlockPatternsKeyrequiresWrapperOnCopyPrivateRichText:在 #58916 和 #60327(2024 年 2 月和 3 月)中添加了额外属性readOnly。PrivateInserterLibrary:在 #62130(2024 年 5 月)中添加了额外属性onPatternCategorySelection。reusableBlocksSelectKeyPrivateBlockPopover:有两个额外属性,__unstableContentRef和__unstablePopoverSlot。PrivatePublishDateTimePicker:公共PublishDateTimePicker的版本,具有两个额外属性:isCompact和showPopoverHeaderActions。useSpacingSizesuseBlockDisplayTitle__unstableBlockStyleVariationOverridesWithConfigsetBackgroundStyleDefaultssectionRootClientIdKey__unstableCommentIconFill__unstableCommentIconToolbarFill
core/block-editor 存储
私有操作:
__experimentalUpdateSettings:公共updateSettings操作的版本,会过滤掉某些私有/实验性设置。clearBlockRemovalPromptclearRequestedInspectorTabdeleteStyleOverrideensureDefaultBlockexpandBlockhideBlockInterfacemodifyContentLockBlockprivateRemoveBlocksrequestInspectorTabresetZoomLevelsetBlockRemovalRulessetInsertionPointsetLastFocussetOpenedBlockSettingsMenusetStyleOverridesetZoomLevelshowBlockInterfacestartDraggingstopDraggingstopEditingAsBlocks
私有选择器:
getAllPatternsgetBlockRemovalRulesgetBlockSettingsgetBlockStylesgetBlockWithoutAttributesgetClosestAllowedInsertionPointgetClosestAllowedInsertionPointForPatterngetContentLockingParentgetEnabledBlockParentsgetEnabledClientIdsTreegetExpandedBlockgetInserterMediaCategoriesgetInsertionPointgetLastFocusgetLastInsertedBlocksClientIdsgetOpenedBlockSettingsMenugetParentSectionBlockgetPatternBySluggetRegisteredInserterMediaCategoriesgetRemovalPromptDatagetRequestedInspectorTabgetReusableBlocksgetSectionRootClientIdgetStyleOverridesgetTemporarilyEditingAsBlocksgetTemporarilyEditingFocusModeToRevertgetZoomLevelhasAllowedPatternsisBlockInterfaceHiddenisBlockSubtreeDisabledisDraggingisResolvingPatternsisSectionBlockisZoomOut
core-data
私有导出:
useEntityRecordsWithPermissions
core 存储
私有操作:
receiveRegisteredPostMetaeditMediaEntity
私有选择器:
getBlockPatternsForPostTypegetEntityRecordPermissionsgetEntityRecordsPermissionsgetNavigationFallbackIdgetRegisteredPostMetagetUndoManager
patterns(该包创建于 2023 年 8 月,没有公开导出项,所有内容均为私有)
私有导出项:
OverridesPanelCreatePatternModalCreatePatternModalContentsDuplicatePatternModalisOverridableBlockuseDuplicatePatternPropsRenamePatternModalPatternsMenuItemsRenamePatternCategoryModalPatternOverridesControlsResetOverridesControlPatternOverridesBlockControlsuseAddPatternCategoryPATTERN_TYPESPATTERN_DEFAULT_CATEGORYPATTERN_USER_CATEGORYEXCLUDED_PATTERN_SOURCESPATTERN_SYNC_TYPES
core/patterns 存储库
私有操作:
convertSyncedPatternToStaticcreatePatterncreatePatternFromFilesetEditingPattern
私有选择器:
isEditingPattern
区块库
私有导出:
BlockKeyboardShortcuts
router(仅限私有导出)
私有导出:
useHistoryuseLocationRouterProvider
core-commands(仅限私有导出)
私有导出:
useCommands
编辑器
私有导出项:
CreateTemplatePartModalBackButtonEntitiesSavedStatesExtensibleEditorPluginPostExcerptPostCardPanelPreferencesModalusePostActionsToolsMoreMenuGroupViewMoreMenuGroupResizableEditorregisterCoreBlockBindingsSourcesinterfaceStoreActionItemComplementaryAreaComplementaryAreaMoreMenuItemFullscreenModeInterfaceSkeletonPinnedItems
core/editor 存储
私有操作:
createTemplatehideBlockTypesregisterEntityActionregisterPostTypeActionsremoveTemplatesrevertTemplatesaveDirtyEntitiessetCurrentTemplateIdsetIsReadyshowBlockTypesunregisterEntityAction
私有选择器:
getEntityActionsgetInsertergetInserterSidebarToggleRefgetListViewToggleRefgetPostBlocksByNamegetPostIconhasPostMetaChangesisEntityReady
edit-post
core/edit-post 存储
私有选择器:
getEditedPostTemplateId
edit-site
core/edit-site 存储
私有操作:
registerRoutesetEditorCanvasContainerView
私有选择器:
getRoutesgetEditorCanvasContainerView
这篇文档对你有帮助吗?
谢谢你的反馈!