@wordpress/block-editor 12.22.0 → 12.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +4 -0
- package/build/components/block-list/block.js +11 -3
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-mover/button.js +4 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +5 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +4 -1
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +7 -3
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-switcher/index.js +4 -3
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +5 -4
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js +18 -9
- package/build/components/block-toolbar/shuffle.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +48 -8
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +14 -2
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +9 -2
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/background-panel.js +444 -0
- package/build/components/global-styles/background-panel.js.map +1 -0
- package/build/components/global-styles/color-panel.js +2 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +3 -0
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/hooks.js +1 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +13 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +15 -14
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +2 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/iframe/index.js +9 -4
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +5 -0
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build/components/inserter/library.js +2 -0
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +8 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/search-items.js +36 -15
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +11 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +16 -0
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +1 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/index.js +17 -2
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-list-view-collapse-items.js +47 -0
- package/build/components/list-view/use-list-view-collapse-items.js.map +1 -0
- package/build/components/rich-text/index.js +14 -11
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +17 -11
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +2 -2
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js +0 -3
- package/build/components/rich-text/with-deprecations.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +50 -36
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/use-block-display-information/index.js +4 -6
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/hooks/anchor.js +2 -2
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +70 -424
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/index.js +7 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/use-zoom-out.js +47 -0
- package/build/hooks/use-zoom-out.js.map +1 -0
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/private-apis.js +6 -1
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +3 -1
- package/build/private-apis.native.js.map +1 -1
- package/build/store/private-actions.js +13 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/private-selectors.js +24 -3
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +22 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +34 -32
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +7 -1
- package/build/store/utils.js.map +1 -1
- package/build/utils/transform-styles/index.js +2 -1
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-list/block.js +11 -3
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-mover/button.js +4 -1
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +5 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +4 -1
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -3
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-switcher/index.js +4 -3
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +5 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js +18 -9
- package/build-module/components/block-toolbar/shuffle.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +50 -10
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +14 -2
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +9 -2
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +430 -0
- package/build-module/components/global-styles/background-panel.js.map +1 -0
- package/build-module/components/global-styles/color-panel.js +2 -1
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +3 -0
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +16 -15
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/iframe/index.js +9 -4
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +5 -0
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build-module/components/inserter/library.js +2 -0
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +8 -2
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/search-items.js +33 -15
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +11 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +16 -0
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +1 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/index.js +17 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-list-view-collapse-items.js +40 -0
- package/build-module/components/list-view/use-list-view-collapse-items.js.map +1 -0
- package/build-module/components/rich-text/index.js +15 -12
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +16 -11
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +2 -2
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js +0 -3
- package/build-module/components/rich-text/with-deprecations.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +50 -36
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +5 -7
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/hooks/anchor.js +2 -2
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +67 -419
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +41 -0
- package/build-module/hooks/use-zoom-out.js.map +1 -0
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +7 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +3 -1
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/private-actions.js +12 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/private-selectors.js +22 -4
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +21 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +35 -33
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +6 -1
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +2 -1
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +4 -1
- package/build-style/content.css +4 -1
- package/build-style/style-rtl.css +84 -79
- package/build-style/style.css +84 -79
- package/package.json +31 -31
- package/src/components/block-list/block.js +19 -3
- package/src/components/block-mover/button.js +4 -1
- package/src/components/block-mover/index.js +8 -1
- package/src/components/block-patterns-list/index.js +22 -17
- package/src/components/block-preview/style.scss +28 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +8 -2
- package/src/components/block-switcher/index.js +5 -3
- package/src/components/block-switcher/style.scss +1 -1
- package/src/components/block-toolbar/index.js +22 -19
- package/src/components/block-toolbar/shuffle.js +19 -13
- package/src/components/block-toolbar/style.scss +1 -1
- package/src/components/block-tools/block-selection-button.js +66 -9
- package/src/components/block-tools/index.js +18 -1
- package/src/components/button-block-appender/content.scss +5 -1
- package/src/components/default-block-appender/content.scss +2 -2
- package/src/components/global-styles/advanced-panel.js +8 -2
- package/src/components/global-styles/background-panel.js +591 -0
- package/src/components/global-styles/color-panel.js +2 -1
- package/src/components/global-styles/get-global-styles-changes.js +3 -0
- package/src/components/global-styles/hooks.js +1 -0
- package/src/components/global-styles/index.js +4 -0
- package/src/components/global-styles/style.scss +78 -1
- package/src/{hooks/test/background.js → components/global-styles/test/background-panel.js} +36 -1
- package/src/components/global-styles/test/get-global-styles-changes.js +22 -3
- package/src/components/global-styles/test/use-global-styles-output.js +9 -9
- package/src/components/global-styles/use-global-styles-output.js +27 -16
- package/src/components/global-styles/utils.js +1 -0
- package/src/components/iframe/index.js +19 -9
- package/src/components/inserter/block-patterns-tab/index.js +1 -0
- package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +5 -0
- package/src/components/inserter/library.js +4 -0
- package/src/components/inserter/menu.js +8 -1
- package/src/components/inserter/search-items.js +37 -15
- package/src/components/inserter/style.scss +6 -12
- package/src/components/keyboard-shortcuts/index.js +11 -0
- package/src/components/list-view/block-select-button.js +13 -1
- package/src/components/list-view/block.js +1 -1
- package/src/components/list-view/index.js +18 -1
- package/src/components/list-view/style.scss +4 -4
- package/src/components/list-view/use-list-view-collapse-items.js +33 -0
- package/src/components/rich-text/index.js +30 -13
- package/src/components/rich-text/index.native.js +14 -11
- package/src/components/rich-text/native/get-format-colors.native.js +1 -1
- package/src/components/rich-text/native/index.native.js +2 -2
- package/src/components/rich-text/with-deprecations.js +0 -3
- package/src/components/url-popover/image-url-input-ui.js +68 -51
- package/src/components/use-block-display-information/index.js +8 -10
- package/src/hooks/anchor.js +11 -9
- package/src/hooks/background.js +77 -538
- package/src/hooks/index.js +1 -0
- package/src/hooks/use-zoom-out.js +36 -0
- package/src/index.js +1 -0
- package/src/private-apis.js +13 -1
- package/src/private-apis.native.js +2 -0
- package/src/store/private-actions.js +12 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +54 -27
- package/src/store/reducer.js +22 -0
- package/src/store/selectors.js +195 -180
- package/src/store/test/private-actions.js +10 -0
- package/src/store/test/private-selectors.js +13 -0
- package/src/store/test/reducer.js +26 -0
- package/src/store/test/selectors.js +90 -199
- package/src/store/utils.js +13 -0
- package/src/style.scss +0 -2
- package/src/utils/transform-styles/index.js +2 -1
- package/src/hooks/anchor.scss +0 -4
- package/src/hooks/background.scss +0 -75
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_rememo","_interopRequireDefault","require","_data","_selectors","_utils","_utils2","_constants","_lockUnlock","_privateKeys","_getBlockSettings","isBlockInterfaceHidden","state","getLastInsertedBlocksClientIds","lastBlockInserted","clientIds","getBlockWithoutAttributes","clientId","blocks","byClientId","get","isBlockSubtreeDisabled","isChildSubtreeDisabled","childClientId","getBlockEditingMode","getBlockOrder","every","exports","getEnabledClientIdsTreeUnmemoized","rootClientId","blockOrder","result","innerBlocks","push","getEnabledClientIdsTree","createSelector","order","blockEditingModes","settings","templateLock","blockListSettings","getEnabledBlockParents","ascending","getBlockParents","filter","parent","parents","getRemovalPromptData","removalPromptData","getBlockRemovalRules","blockRemovalRules","getOpenedBlockSettingsMenu","openedBlockSettingsMenu","getStyleOverrides","styleOverrides","getRegisteredInserterMediaCategories","registeredInserterMediaCategories","getInserterMediaCategories","inserterMediaCategories","allowedMimeTypes","enableOpenverseMediaCategory","length","coreInserterMediaCategoriesNames","map","name","mergedCategories","includes","category","Object","values","some","mimeType","startsWith","mediaType","hasAllowedPatterns","createRegistrySelector","select","getAllPatterns","__experimentalGetParsedPattern","unlock","STORE_NAME","patterns","allowedBlockTypes","getSettings","inserter","checkAllowListRecursive","blockName","canInsertBlockType","getAllPatternsDependants","_state$settings$selec","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","userPatterns","userPattern","id","type","INSERTER_PATTERN_TYPES","user","title","raw","categories","wp_pattern_category","catId","find","slug","content","syncStatus","wp_pattern_sync_status","selectBlockPatternsKey","x","index","arr","findIndex","y","getLastFocus","lastFocus","isDragging"],"sources":["@wordpress/block-editor/src/store/private-selectors.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetBlockOrder,\n\tgetBlockParents,\n\tgetBlockEditingMode,\n\tgetSettings,\n\tcanInsertBlockType,\n} from './selectors';\nimport { checkAllowListRecursive, getAllPatternsDependants } from './utils';\nimport { INSERTER_PATTERN_TYPES } from '../components/inserter/block-patterns-tab/utils';\nimport { STORE_NAME } from './constants';\nimport { unlock } from '../lock-unlock';\nimport { selectBlockPatternsKey } from './private-keys';\n\nexport { getBlockSettings } from './get-block-settings';\n\n/**\n * Returns true if the block interface is hidden, or false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the block toolbar is hidden.\n */\nexport function isBlockInterfaceHidden( state ) {\n\treturn state.isBlockInterfaceHidden;\n}\n\n/**\n * Gets the client ids of the last inserted blocks.\n *\n * @param {Object} state Global application state.\n * @return {Array|undefined} Client Ids of the last inserted block(s).\n */\nexport function getLastInsertedBlocksClientIds( state ) {\n\treturn state?.lastBlockInserted?.clientIds;\n}\n\nexport function getBlockWithoutAttributes( state, clientId ) {\n\treturn state.blocks.byClientId.get( clientId );\n}\n\n/**\n * Returns true if all of the descendants of a block with the given client ID\n * have an editing mode of 'disabled', or false otherwise.\n *\n * @param {Object} state Global application state.\n * @param {string} clientId The block client ID.\n *\n * @return {boolean} Whether the block descendants are disabled.\n */\nexport const isBlockSubtreeDisabled = ( state, clientId ) => {\n\tconst isChildSubtreeDisabled = ( childClientId ) => {\n\t\treturn (\n\t\t\tgetBlockEditingMode( state, childClientId ) === 'disabled' &&\n\t\t\tgetBlockOrder( state, childClientId ).every(\n\t\t\t\tisChildSubtreeDisabled\n\t\t\t)\n\t\t);\n\t};\n\treturn getBlockOrder( state, clientId ).every( isChildSubtreeDisabled );\n};\n\nfunction getEnabledClientIdsTreeUnmemoized( state, rootClientId ) {\n\tconst blockOrder = getBlockOrder( state, rootClientId );\n\tconst result = [];\n\n\tfor ( const clientId of blockOrder ) {\n\t\tconst innerBlocks = getEnabledClientIdsTreeUnmemoized(\n\t\t\tstate,\n\t\t\tclientId\n\t\t);\n\t\tif ( getBlockEditingMode( state, clientId ) !== 'disabled' ) {\n\t\t\tresult.push( { clientId, innerBlocks } );\n\t\t} else {\n\t\t\tresult.push( ...innerBlocks );\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Returns a tree of block objects with only clientID and innerBlocks set.\n * Blocks with a 'disabled' editing mode are not included.\n *\n * @param {Object} state Global application state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {Object[]} Tree of block objects with only clientID and innerBlocks set.\n */\nexport const getEnabledClientIdsTree = createSelector(\n\tgetEnabledClientIdsTreeUnmemoized,\n\t( state ) => [\n\t\tstate.blocks.order,\n\t\tstate.blockEditingModes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockListSettings,\n\t]\n);\n\n/**\n * Returns a list of a given block's ancestors, from top to bottom. Blocks with\n * a 'disabled' editing mode are excluded.\n *\n * @see getBlockParents\n *\n * @param {Object} state Global application state.\n * @param {string} clientId The block client ID.\n * @param {boolean} ascending Order results from bottom to top (true) or top\n * to bottom (false).\n */\nexport const getEnabledBlockParents = createSelector(\n\t( state, clientId, ascending = false ) => {\n\t\treturn getBlockParents( state, clientId, ascending ).filter(\n\t\t\t( parent ) => getBlockEditingMode( state, parent ) !== 'disabled'\n\t\t);\n\t},\n\t( state ) => [\n\t\tstate.blocks.parents,\n\t\tstate.blockEditingModes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockListSettings,\n\t]\n);\n\n/**\n * Selector that returns the data needed to display a prompt when certain\n * blocks are removed, or `false` if no such prompt is requested.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object|false} Data for removal prompt display, if any.\n */\nexport function getRemovalPromptData( state ) {\n\treturn state.removalPromptData;\n}\n\n/**\n * Returns true if removal prompt exists, or false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether removal prompt exists.\n */\nexport function getBlockRemovalRules( state ) {\n\treturn state.blockRemovalRules;\n}\n\n/**\n * Returns the client ID of the block settings menu that is currently open.\n *\n * @param {Object} state Global application state.\n * @return {string|null} The client ID of the block menu that is currently open.\n */\nexport function getOpenedBlockSettingsMenu( state ) {\n\treturn state.openedBlockSettingsMenu;\n}\n\n/**\n * Returns all style overrides, intended to be merged with global editor styles.\n *\n * @param {Object} state Global application state.\n *\n * @return {Map} A map of style IDs to style overrides.\n */\nexport function getStyleOverrides( state ) {\n\treturn state.styleOverrides;\n}\n\n/** @typedef {import('./actions').InserterMediaCategory} InserterMediaCategory */\n/**\n * Returns the registered inserter media categories through the public API.\n *\n * @param {Object} state Editor state.\n *\n * @return {InserterMediaCategory[]} Inserter media categories.\n */\nexport function getRegisteredInserterMediaCategories( state ) {\n\treturn state.registeredInserterMediaCategories;\n}\n\n/**\n * Returns an array containing the allowed inserter media categories.\n * It merges the registered media categories from extenders with the\n * core ones. It also takes into account the allowed `mime_types`, which\n * can be altered by `upload_mimes` filter and restrict some of them.\n *\n * @param {Object} state Global application state.\n *\n * @return {InserterMediaCategory[]} Client IDs of descendants.\n */\nexport const getInserterMediaCategories = createSelector(\n\t( state ) => {\n\t\tconst {\n\t\t\tsettings: {\n\t\t\t\tinserterMediaCategories,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\tenableOpenverseMediaCategory,\n\t\t\t},\n\t\t\tregisteredInserterMediaCategories,\n\t\t} = state;\n\t\t// The allowed `mime_types` can be altered by `upload_mimes` filter and restrict\n\t\t// some of them. In this case we shouldn't add the category to the available media\n\t\t// categories list in the inserter.\n\t\tif (\n\t\t\t( ! inserterMediaCategories &&\n\t\t\t\t! registeredInserterMediaCategories.length ) ||\n\t\t\t! allowedMimeTypes\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst coreInserterMediaCategoriesNames =\n\t\t\tinserterMediaCategories?.map( ( { name } ) => name ) || [];\n\t\tconst mergedCategories = [\n\t\t\t...( inserterMediaCategories || [] ),\n\t\t\t...( registeredInserterMediaCategories || [] ).filter(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\t! coreInserterMediaCategoriesNames.includes( name )\n\t\t\t),\n\t\t];\n\t\treturn mergedCategories.filter( ( category ) => {\n\t\t\t// Check if Openverse category is enabled.\n\t\t\tif (\n\t\t\t\t! enableOpenverseMediaCategory &&\n\t\t\t\tcategory.name === 'openverse'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn Object.values( allowedMimeTypes ).some( ( mimeType ) =>\n\t\t\t\tmimeType.startsWith( `${ category.mediaType }/` )\n\t\t\t);\n\t\t} );\n\t},\n\t( state ) => [\n\t\tstate.settings.inserterMediaCategories,\n\t\tstate.settings.allowedMimeTypes,\n\t\tstate.settings.enableOpenverseMediaCategory,\n\t\tstate.registeredInserterMediaCategories,\n\t]\n);\n\n/**\n * Returns whether there is at least one allowed pattern for inner blocks children.\n * This is useful for deferring the parsing of all patterns until needed.\n *\n * @param {Object} state Editor state.\n * @param {string} [rootClientId=null] Target root client ID.\n *\n * @return {boolean} If there is at least one allowed pattern.\n */\nexport const hasAllowedPatterns = createRegistrySelector( ( select ) =>\n\tcreateSelector(\n\t\t( state, rootClientId = null ) => {\n\t\t\tconst { getAllPatterns, __experimentalGetParsedPattern } = unlock(\n\t\t\t\tselect( STORE_NAME )\n\t\t\t);\n\t\t\tconst patterns = getAllPatterns();\n\t\t\tconst { allowedBlockTypes } = getSettings( state );\n\t\t\treturn patterns.some( ( { name, inserter = true } ) => {\n\t\t\t\tif ( ! inserter ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { blocks } = __experimentalGetParsedPattern( name );\n\t\t\t\treturn (\n\t\t\t\t\tcheckAllowListRecursive( blocks, allowedBlockTypes ) &&\n\t\t\t\t\tblocks.every( ( { name: blockName } ) =>\n\t\t\t\t\t\tcanInsertBlockType( state, blockName, rootClientId )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t\t( state, rootClientId ) => [\n\t\t\tgetAllPatternsDependants( select )( state ),\n\t\t\tstate.settings.allowedBlockTypes,\n\t\t\tstate.settings.templateLock,\n\t\t\tstate.blockListSettings[ rootClientId ],\n\t\t\tstate.blocks.byClientId.get( rootClientId ),\n\t\t]\n\t)\n);\n\nexport const getAllPatterns = createRegistrySelector( ( select ) =>\n\tcreateSelector( ( state ) => {\n\t\t// This setting is left for back compat.\n\t\tconst {\n\t\t\t__experimentalBlockPatterns = [],\n\t\t\t__experimentalUserPatternCategories = [],\n\t\t\t__experimentalReusableBlocks = [],\n\t\t} = state.settings;\n\t\tconst userPatterns = ( __experimentalReusableBlocks ?? [] ).map(\n\t\t\t( userPattern ) => {\n\t\t\t\treturn {\n\t\t\t\t\tname: `core/block/${ userPattern.id }`,\n\t\t\t\t\tid: userPattern.id,\n\t\t\t\t\ttype: INSERTER_PATTERN_TYPES.user,\n\t\t\t\t\ttitle: userPattern.title.raw,\n\t\t\t\t\tcategories: userPattern.wp_pattern_category.map(\n\t\t\t\t\t\t( catId ) => {\n\t\t\t\t\t\t\tconst category = (\n\t\t\t\t\t\t\t\t__experimentalUserPatternCategories ?? []\n\t\t\t\t\t\t\t).find( ( { id } ) => id === catId );\n\t\t\t\t\t\t\treturn category ? category.slug : catId;\n\t\t\t\t\t\t}\n\t\t\t\t\t),\n\t\t\t\t\tcontent: userPattern.content.raw,\n\t\t\t\t\tsyncStatus: userPattern.wp_pattern_sync_status,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\t\treturn [\n\t\t\t...userPatterns,\n\t\t\t...__experimentalBlockPatterns,\n\t\t\t...( state.settings[ selectBlockPatternsKey ]?.( select ) ?? [] ),\n\t\t].filter(\n\t\t\t( x, index, arr ) =>\n\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t);\n\t}, getAllPatternsDependants( select ) )\n);\n\n/**\n * Returns the element of the last element that had focus when focus left the editor canvas.\n *\n * @param {Object} state Block editor state.\n *\n * @return {Object} Element.\n */\nexport function getLastFocus( state ) {\n\treturn state.lastFocus;\n}\n\n/**\n * Returns true if the user is dragging anything, or false otherwise. It is possible for a\n * user to be dragging data from outside of the editor, so this selector is separate from\n * the `isDraggingBlocks` selector which only returns true if the user is dragging blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether user is dragging.\n */\nexport function isDragging( state ) {\n\treturn state.isDragging;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_rememo","_interopRequireDefault","require","_data","_selectors","_utils","_utils2","_constants","_lockUnlock","_privateKeys","_getBlockSettings","isBlockInterfaceHidden","state","getLastInsertedBlocksClientIds","lastBlockInserted","clientIds","getBlockWithoutAttributes","clientId","blocks","byClientId","get","isBlockSubtreeDisabled","isChildSubtreeDisabled","childClientId","getBlockEditingMode","getBlockOrder","every","exports","getEnabledClientIdsTreeUnmemoized","rootClientId","blockOrder","result","innerBlocks","push","getEnabledClientIdsTree","createSelector","order","blockEditingModes","settings","templateLock","blockListSettings","getEnabledBlockParents","ascending","getBlockParents","filter","parent","parents","getRemovalPromptData","removalPromptData","getBlockRemovalRules","blockRemovalRules","getOpenedBlockSettingsMenu","openedBlockSettingsMenu","getStyleOverrides","styleOverrides","getRegisteredInserterMediaCategories","registeredInserterMediaCategories","getInserterMediaCategories","inserterMediaCategories","allowedMimeTypes","enableOpenverseMediaCategory","length","coreInserterMediaCategoriesNames","map","name","mergedCategories","includes","category","Object","values","some","mimeType","startsWith","mediaType","hasAllowedPatterns","createRegistrySelector","select","getAllPatterns","__experimentalGetParsedPattern","unlock","STORE_NAME","patterns","allowedBlockTypes","getSettings","inserter","checkAllowListRecursive","blockName","canInsertBlockType","getAllPatternsDependants","getInsertBlockTypeDependants","_state$settings$selec","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","reusableBlocksSelect","reusableBlocksSelectKey","userPatterns","userPattern","id","type","INSERTER_PATTERN_TYPES","user","title","raw","categories","wp_pattern_category","catId","find","slug","content","syncStatus","wp_pattern_sync_status","selectBlockPatternsKey","x","index","arr","findIndex","y","EMPTY_ARRAY","getReusableBlocks","_state$settings$__exp","getLastFocus","lastFocus","isDragging","getExpandedBlock","expandedBlock"],"sources":["@wordpress/block-editor/src/store/private-selectors.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetBlockOrder,\n\tgetBlockParents,\n\tgetBlockEditingMode,\n\tgetSettings,\n\tcanInsertBlockType,\n} from './selectors';\nimport {\n\tcheckAllowListRecursive,\n\tgetAllPatternsDependants,\n\tgetInsertBlockTypeDependants,\n} from './utils';\nimport { INSERTER_PATTERN_TYPES } from '../components/inserter/block-patterns-tab/utils';\nimport { STORE_NAME } from './constants';\nimport { unlock } from '../lock-unlock';\nimport {\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n} from './private-keys';\n\nexport { getBlockSettings } from './get-block-settings';\n\n/**\n * Returns true if the block interface is hidden, or false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the block toolbar is hidden.\n */\nexport function isBlockInterfaceHidden( state ) {\n\treturn state.isBlockInterfaceHidden;\n}\n\n/**\n * Gets the client ids of the last inserted blocks.\n *\n * @param {Object} state Global application state.\n * @return {Array|undefined} Client Ids of the last inserted block(s).\n */\nexport function getLastInsertedBlocksClientIds( state ) {\n\treturn state?.lastBlockInserted?.clientIds;\n}\n\nexport function getBlockWithoutAttributes( state, clientId ) {\n\treturn state.blocks.byClientId.get( clientId );\n}\n\n/**\n * Returns true if all of the descendants of a block with the given client ID\n * have an editing mode of 'disabled', or false otherwise.\n *\n * @param {Object} state Global application state.\n * @param {string} clientId The block client ID.\n *\n * @return {boolean} Whether the block descendants are disabled.\n */\nexport const isBlockSubtreeDisabled = ( state, clientId ) => {\n\tconst isChildSubtreeDisabled = ( childClientId ) => {\n\t\treturn (\n\t\t\tgetBlockEditingMode( state, childClientId ) === 'disabled' &&\n\t\t\tgetBlockOrder( state, childClientId ).every(\n\t\t\t\tisChildSubtreeDisabled\n\t\t\t)\n\t\t);\n\t};\n\treturn getBlockOrder( state, clientId ).every( isChildSubtreeDisabled );\n};\n\nfunction getEnabledClientIdsTreeUnmemoized( state, rootClientId ) {\n\tconst blockOrder = getBlockOrder( state, rootClientId );\n\tconst result = [];\n\n\tfor ( const clientId of blockOrder ) {\n\t\tconst innerBlocks = getEnabledClientIdsTreeUnmemoized(\n\t\t\tstate,\n\t\t\tclientId\n\t\t);\n\t\tif ( getBlockEditingMode( state, clientId ) !== 'disabled' ) {\n\t\t\tresult.push( { clientId, innerBlocks } );\n\t\t} else {\n\t\t\tresult.push( ...innerBlocks );\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Returns a tree of block objects with only clientID and innerBlocks set.\n * Blocks with a 'disabled' editing mode are not included.\n *\n * @param {Object} state Global application state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {Object[]} Tree of block objects with only clientID and innerBlocks set.\n */\nexport const getEnabledClientIdsTree = createSelector(\n\tgetEnabledClientIdsTreeUnmemoized,\n\t( state ) => [\n\t\tstate.blocks.order,\n\t\tstate.blockEditingModes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockListSettings,\n\t]\n);\n\n/**\n * Returns a list of a given block's ancestors, from top to bottom. Blocks with\n * a 'disabled' editing mode are excluded.\n *\n * @see getBlockParents\n *\n * @param {Object} state Global application state.\n * @param {string} clientId The block client ID.\n * @param {boolean} ascending Order results from bottom to top (true) or top\n * to bottom (false).\n */\nexport const getEnabledBlockParents = createSelector(\n\t( state, clientId, ascending = false ) => {\n\t\treturn getBlockParents( state, clientId, ascending ).filter(\n\t\t\t( parent ) => getBlockEditingMode( state, parent ) !== 'disabled'\n\t\t);\n\t},\n\t( state ) => [\n\t\tstate.blocks.parents,\n\t\tstate.blockEditingModes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockListSettings,\n\t]\n);\n\n/**\n * Selector that returns the data needed to display a prompt when certain\n * blocks are removed, or `false` if no such prompt is requested.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object|false} Data for removal prompt display, if any.\n */\nexport function getRemovalPromptData( state ) {\n\treturn state.removalPromptData;\n}\n\n/**\n * Returns true if removal prompt exists, or false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether removal prompt exists.\n */\nexport function getBlockRemovalRules( state ) {\n\treturn state.blockRemovalRules;\n}\n\n/**\n * Returns the client ID of the block settings menu that is currently open.\n *\n * @param {Object} state Global application state.\n * @return {string|null} The client ID of the block menu that is currently open.\n */\nexport function getOpenedBlockSettingsMenu( state ) {\n\treturn state.openedBlockSettingsMenu;\n}\n\n/**\n * Returns all style overrides, intended to be merged with global editor styles.\n *\n * @param {Object} state Global application state.\n *\n * @return {Map} A map of style IDs to style overrides.\n */\nexport function getStyleOverrides( state ) {\n\treturn state.styleOverrides;\n}\n\n/** @typedef {import('./actions').InserterMediaCategory} InserterMediaCategory */\n/**\n * Returns the registered inserter media categories through the public API.\n *\n * @param {Object} state Editor state.\n *\n * @return {InserterMediaCategory[]} Inserter media categories.\n */\nexport function getRegisteredInserterMediaCategories( state ) {\n\treturn state.registeredInserterMediaCategories;\n}\n\n/**\n * Returns an array containing the allowed inserter media categories.\n * It merges the registered media categories from extenders with the\n * core ones. It also takes into account the allowed `mime_types`, which\n * can be altered by `upload_mimes` filter and restrict some of them.\n *\n * @param {Object} state Global application state.\n *\n * @return {InserterMediaCategory[]} Client IDs of descendants.\n */\nexport const getInserterMediaCategories = createSelector(\n\t( state ) => {\n\t\tconst {\n\t\t\tsettings: {\n\t\t\t\tinserterMediaCategories,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\tenableOpenverseMediaCategory,\n\t\t\t},\n\t\t\tregisteredInserterMediaCategories,\n\t\t} = state;\n\t\t// The allowed `mime_types` can be altered by `upload_mimes` filter and restrict\n\t\t// some of them. In this case we shouldn't add the category to the available media\n\t\t// categories list in the inserter.\n\t\tif (\n\t\t\t( ! inserterMediaCategories &&\n\t\t\t\t! registeredInserterMediaCategories.length ) ||\n\t\t\t! allowedMimeTypes\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst coreInserterMediaCategoriesNames =\n\t\t\tinserterMediaCategories?.map( ( { name } ) => name ) || [];\n\t\tconst mergedCategories = [\n\t\t\t...( inserterMediaCategories || [] ),\n\t\t\t...( registeredInserterMediaCategories || [] ).filter(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\t! coreInserterMediaCategoriesNames.includes( name )\n\t\t\t),\n\t\t];\n\t\treturn mergedCategories.filter( ( category ) => {\n\t\t\t// Check if Openverse category is enabled.\n\t\t\tif (\n\t\t\t\t! enableOpenverseMediaCategory &&\n\t\t\t\tcategory.name === 'openverse'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn Object.values( allowedMimeTypes ).some( ( mimeType ) =>\n\t\t\t\tmimeType.startsWith( `${ category.mediaType }/` )\n\t\t\t);\n\t\t} );\n\t},\n\t( state ) => [\n\t\tstate.settings.inserterMediaCategories,\n\t\tstate.settings.allowedMimeTypes,\n\t\tstate.settings.enableOpenverseMediaCategory,\n\t\tstate.registeredInserterMediaCategories,\n\t]\n);\n\n/**\n * Returns whether there is at least one allowed pattern for inner blocks children.\n * This is useful for deferring the parsing of all patterns until needed.\n *\n * @param {Object} state Editor state.\n * @param {string} [rootClientId=null] Target root client ID.\n *\n * @return {boolean} If there is at least one allowed pattern.\n */\nexport const hasAllowedPatterns = createRegistrySelector( ( select ) =>\n\tcreateSelector(\n\t\t( state, rootClientId = null ) => {\n\t\t\tconst { getAllPatterns, __experimentalGetParsedPattern } = unlock(\n\t\t\t\tselect( STORE_NAME )\n\t\t\t);\n\t\t\tconst patterns = getAllPatterns();\n\t\t\tconst { allowedBlockTypes } = getSettings( state );\n\t\t\treturn patterns.some( ( { name, inserter = true } ) => {\n\t\t\t\tif ( ! inserter ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { blocks } = __experimentalGetParsedPattern( name );\n\t\t\t\treturn (\n\t\t\t\t\tcheckAllowListRecursive( blocks, allowedBlockTypes ) &&\n\t\t\t\t\tblocks.every( ( { name: blockName } ) =>\n\t\t\t\t\t\tcanInsertBlockType( state, blockName, rootClientId )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t\t( state, rootClientId ) => [\n\t\t\t...getAllPatternsDependants( select )( state ),\n\t\t\t...getInsertBlockTypeDependants( state, rootClientId ),\n\t\t]\n\t)\n);\n\nexport const getAllPatterns = createRegistrySelector( ( select ) =>\n\tcreateSelector( ( state ) => {\n\t\t// This setting is left for back compat.\n\t\tconst {\n\t\t\t__experimentalBlockPatterns = [],\n\t\t\t__experimentalUserPatternCategories = [],\n\t\t\t__experimentalReusableBlocks = [],\n\t\t} = state.settings;\n\t\tconst reusableBlocksSelect = state.settings[ reusableBlocksSelectKey ];\n\t\tconst userPatterns = (\n\t\t\treusableBlocksSelect\n\t\t\t\t? reusableBlocksSelect( select )\n\t\t\t\t: __experimentalReusableBlocks ?? []\n\t\t).map( ( userPattern ) => {\n\t\t\treturn {\n\t\t\t\tname: `core/block/${ userPattern.id }`,\n\t\t\t\tid: userPattern.id,\n\t\t\t\ttype: INSERTER_PATTERN_TYPES.user,\n\t\t\t\ttitle: userPattern.title.raw,\n\t\t\t\tcategories: userPattern.wp_pattern_category.map( ( catId ) => {\n\t\t\t\t\tconst category = (\n\t\t\t\t\t\t__experimentalUserPatternCategories ?? []\n\t\t\t\t\t).find( ( { id } ) => id === catId );\n\t\t\t\t\treturn category ? category.slug : catId;\n\t\t\t\t} ),\n\t\t\t\tcontent: userPattern.content.raw,\n\t\t\t\tsyncStatus: userPattern.wp_pattern_sync_status,\n\t\t\t};\n\t\t} );\n\t\treturn [\n\t\t\t...userPatterns,\n\t\t\t...__experimentalBlockPatterns,\n\t\t\t...( state.settings[ selectBlockPatternsKey ]?.( select ) ?? [] ),\n\t\t].filter(\n\t\t\t( x, index, arr ) =>\n\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t);\n\t}, getAllPatternsDependants( select ) )\n);\n\nconst EMPTY_ARRAY = [];\n\nexport const getReusableBlocks = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst reusableBlocksSelect = state.settings[ reusableBlocksSelectKey ];\n\t\treturn reusableBlocksSelect\n\t\t\t? reusableBlocksSelect( select )\n\t\t\t: state.settings.__experimentalReusableBlocks ?? EMPTY_ARRAY;\n\t}\n);\n\n/**\n * Returns the element of the last element that had focus when focus left the editor canvas.\n *\n * @param {Object} state Block editor state.\n *\n * @return {Object} Element.\n */\nexport function getLastFocus( state ) {\n\treturn state.lastFocus;\n}\n\n/**\n * Returns true if the user is dragging anything, or false otherwise. It is possible for a\n * user to be dragging data from outside of the editor, so this selector is separate from\n * the `isDraggingBlocks` selector which only returns true if the user is dragging blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether user is dragging.\n */\nexport function isDragging( state ) {\n\treturn state.isDragging;\n}\n\n/**\n * Retrieves the expanded block from the state.\n *\n * @param {Object} state Block editor state.\n *\n * @return {string|null} The client ID of the expanded block, if set.\n */\nexport function getExpandedBlock( state ) {\n\treturn state.expandedBlock;\n}\n"],"mappings":"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"}
|
package/build/store/reducer.js
CHANGED
|
@@ -12,6 +12,7 @@ exports.blocksMode = blocksMode;
|
|
|
12
12
|
exports.default = void 0;
|
|
13
13
|
exports.draggedBlocks = draggedBlocks;
|
|
14
14
|
exports.editorMode = editorMode;
|
|
15
|
+
exports.expandedBlock = expandedBlock;
|
|
15
16
|
exports.hasBlockMovingClientId = hasBlockMovingClientId;
|
|
16
17
|
exports.hasSameKeys = hasSameKeys;
|
|
17
18
|
exports.highlightedBlock = highlightedBlock;
|
|
@@ -1695,6 +1696,26 @@ function highlightedBlock(state, action) {
|
|
|
1695
1696
|
return state;
|
|
1696
1697
|
}
|
|
1697
1698
|
|
|
1699
|
+
/**
|
|
1700
|
+
* Reducer returning current expanded block in the list view.
|
|
1701
|
+
*
|
|
1702
|
+
* @param {string|null} state Current expanded block.
|
|
1703
|
+
* @param {Object} action Dispatched action.
|
|
1704
|
+
*
|
|
1705
|
+
* @return {string|null} Updated state.
|
|
1706
|
+
*/
|
|
1707
|
+
function expandedBlock(state = null, action) {
|
|
1708
|
+
switch (action.type) {
|
|
1709
|
+
case 'SET_BLOCK_EXPANDED_IN_LIST_VIEW':
|
|
1710
|
+
return action.clientId;
|
|
1711
|
+
case 'SELECT_BLOCK':
|
|
1712
|
+
if (action.clientId !== state) {
|
|
1713
|
+
return null;
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
return state;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1698
1719
|
/**
|
|
1699
1720
|
* Reducer returning the block insertion event list state.
|
|
1700
1721
|
*
|
|
@@ -1869,6 +1890,7 @@ const combinedReducers = (0, _data.combineReducers)({
|
|
|
1869
1890
|
lastFocus,
|
|
1870
1891
|
editorMode,
|
|
1871
1892
|
hasBlockMovingClientId,
|
|
1893
|
+
expandedBlock,
|
|
1872
1894
|
highlightedBlock,
|
|
1873
1895
|
lastBlockInserted,
|
|
1874
1896
|
temporarilyEditingAsBlocks,
|