Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audit experimental APIs (WP 5.6) #25786

Closed
tellthemachines opened this issue Oct 2, 2020 · 6 comments
Closed

Audit experimental APIs (WP 5.6) #25786

tellthemachines opened this issue Oct 2, 2020 · 6 comments
Labels
[Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.

Comments

@tellthemachines
Copy link
Contributor

This issue lists the experimental APIs in the editor, to help decide whether any of them can be made stable before 5.6.

I used @jorgefilipecosta's snippet to collect everything exposed via the wp global, and then searched the codebase for props and added in all I found.

There's also a bunch of __experimental stuff in the annotations package that I left out because it's been there a while and wasn't mentioned in API audits for the previous releases. Would love to know more about this if anyone has the history!

Cc @WordPress/gutenberg-core

Block Editor

__experimentalAlignmentHookSettingsProvider
__experimentalBlock
__experimentalBlockAlignmentMatrixToolbar
__experimentalBlockNavigationBlockFill
__experimentalBlockNavigationEditor
__experimentalBlockNavigationTree
__experimentalBlockSettingsMenuFirstItem
__experimentalBlockVariationPicker
__experimentalColorGradientControl
__experimentalGetGradientClass
__experimentalGetGradientObjectByGradientValue
__experimentalGradientPicker
__experimentalGradientPickerControl
__experimentalGradientPickerPanel
__experimentalImageSizeControl
__experimentalImageURLInputUI
__experimentalInserterMenuExtension
__experimentalLibrary
__experimentalLineHeightControl
__experimentalLinkControl
__experimentalPanelColorGradientSettings
__experimentalPreviewOptions
__experimentalResponsiveBlockControl
__experimentalSearchForm
__experimentalUnitControl
__experimentalUseBlockWrapperProps
__experimentalUseColors
__experimentalUseEditorFeature
__experimentalUseGradient
__experimentalUseResizeCanvas
__experimentalUseSimulatedMediaQuery

Selectors

__experimentalGetAllowedBlocks
__experimentalGetBlockListSettingsForBlocks
__experimentalGetLastBlockAttributeChanges
__experimentalGetParsedReusableBlock

Settings

__experimentalBlockDirectory
__experimentalBlockPatternCategories
__experimentalBlockPatterns
__experimentalCanUserUseUnfilteredHTML
__experimentalEnableFullSiteEditing
__experimentalEnableFullSiteEditingDemo

Props

BlockActions

__experimentalUpdateSelection

BlockControlsSlot

__experimentalIsExpanded

Draggable

__experimentalDragComponent

UncontrolledInnerBlocks

__experimentalCaptureToolbars

BlockList

__experimentalTagName
__experimentalAppenderTagName
__experimentalPassedProps

Inserter

__experimentalSelectBlockOnInsert
__experimentalIsQuick

BlockNavigationContext

__experimentalFeatures

BlockSettingsDropdown

__experimentalSelectBlock

BockToolbar

__experimentalExpandedControl

BlockPreview

__experimentalPadding
__experimentalLive
__experimentalOnClick

URLInput

__experimentalShowInitialSuggestions
__experimentalFetchLinkSuggestions
__experimentalHandleURLSuggestions
__experimentalRenderSuggestions

PlainText

__experimentalVersion

Block Library

__experimentalRegisterExperimentalCoreBlocks

Blocks

__experimentalGetAccessibleBlockLabel
__experimentalGetBlockLabel

Components

__experimentalAlignmentMatrixControl
__experimentalBoxControl
__experimentalCustomGradientPicker
__experimentalDimensionControl
__experimentalGradientPicker
__experimentalInputControl
__experimentalNavigation
__experimentalNavigationBackButton
__experimentalNavigationGroup
__experimentalNavigationItem
__experimentalNavigationMenu
__experimentalNumberControl
__experimentalRadio
__experimentalRadioGroup
__experimentalText
__experimentalToolbarContext
__experimentalTreeGrid
__experimentalTreeGridCell
__experimentalTreeGridItem
__experimentalTreeGridRow
__experimentalUnitControl
__experimentalUseSlot

Compose

__experimentalWidthProvider
__experimentalUseDragging

Core Data

__experimentalGetEntityRecordNoResolver
__experimentalGetDirtyEntityRecords

Data

__experimentalResolveSelect

Date

__experimentalGetSettings

Edit Post

__experimentalFullscreenModeClose
__experimentalUpdateLocalAutosaveInterval
__experimentalLocalAutosaveInterval
__experimentalGetPreviewDeviceType

Editor

Actions

__experimentalConvertBlockToReusable
__experimentalConvertBlockToStatic
__experimentalDeleteReusableBlock
__experimentalFetchReusableBlocks
__experimentalLocalAutosave
__experimentalOptimisticUpdatePost
__experimentalReceiveReusableBlocks
__experimentalRequestPostUpdateFinish
__experimentalRequestPostUpdateStart
__experimentalSaveReusableBlock
__experimentalTearDownEditor
__experimentalUpdateReusableBlock

Selectors

__experimentalGetReusableBlock
__experimentalIsFetchingReusableBlock
__experimentalIsSavingReusableBlock

Settings

__experimentalBlockDirectory
__experimentalBlockPatterns
__experimentalBlockPatternCategories
__experimentalEnableFullSiteEditing
__experimentalEnableFullSiteEditingDemo
__experimentalFeatures
__experimentalGlobalStylesUserEntityId
__experimentalGlobalStylesBaseStyles
__experimentalGlobalStylesContexts
__experimentalPreferredStyleVariations
__experimentalSetIsInserterOpened
__experimentalReusableBlocks
__experimentalUndo
__experimentalShouldInsertAtTheTop

Interface

__experimentalMainDashboardButton

Rich Text

__experimentalRichText

@tellthemachines tellthemachines added the [Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues. label Oct 2, 2020
@ellatrix
Copy link
Member

ellatrix commented Oct 2, 2020

__experimentalRichText should be skipped for now :)

@ItsJonQ
Copy link

ItsJonQ commented Oct 2, 2020

👋 Haii! Recently the InputControl (component) was improvement by @stokesman. (A great fix by the way!) However, we're unsure if it may have any side-effects. In theory it really shouldn't, but I'd feel better if we waited a bit to see if anything surfaces.

Because of that, I'd vote to skip the following:

Components

__experimentalBoxControl
__experimentalInputControl
__experimentalNumberControl
__experimentalUnitControl

Block Preview

__experimentalPadding

@swissspidy
Copy link
Member

based on my experience (https://wordpress.slack.com/archives/C02QB2JS7/p1601634548288000, requires registration) with __experimentalLinkControl that one still needs some polish.

@talldan
Copy link
Contributor

talldan commented Oct 5, 2020

Just looking at the ones I've know from reviewing or adding myself:

Block Navigation
The following are all used in Block Navigation (now called List View):

  • __experimentalBlockNavigationBlockFill, __experimentalBlockNavigationEditor - This feature didn't really go anywhere. I'm proposing to remove it in WIP: List View drag and drop optimizations #25069, I may split that PR up into smaller easier to review parts (cc @adamziel)
  • __experimentalBlockNavigationTree - this probably won't be mature enough for 5.6, still quite a few ongoing discussions, and a proposal to rename all the BlockNavigation components to ListView anyway.
  • __experimentalTreeGrid, __experimentalTreeGridCell, __experimentalTreeGridItem, __experimentalTreeGridRow - this is also used in block navigation, so not mature enough and potentially some parts will be replaced by reakit components.
  • __experimentalFeatures - This is more of a feature flag, and won't become stable. (cc @adamziel)

Block API

  • __experimentalGetAccessibleBlockLabel, __experimentalGetBlockLabel - I'm not sure what the plan is for these, the discussion stalled. Definitely not mature enough to stabilize.

Selectors

  • __experimentalGetAllowedBlocks - this was added to support the inserter automatically inserting the block when only one block is allowed. I think it could be renamed to be more consistent and stabilized. (cc @draganescu)

@WunderBart
Copy link
Member

This issue lists the experimental APIs in the editor, to help decide whether any of them can be made stable before 5.6.

👋 @tellthemachines, should we also add the __unstableIsEditorReady to the list?

@tellthemachines
Copy link
Contributor Author

@WunderBart I purposefully left out everything marked __unstable as my understanding is that those APIs are not intended to be made public at any point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
Projects
None yet
Development

No branches or pull requests

6 participants