@wordpress/block-editor 8.0.9 → 8.0.12
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/build/components/block-inspector/index.js +12 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.js +1 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +2 -3
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -3
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +2 -2
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mover/button.js +2 -2
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -2
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +2 -2
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-preview/index.js +51 -0
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +3 -3
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/colors-gradients/control.js +1 -0
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/index.js +8 -1
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +2 -2
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +2 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +2 -2
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +1 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +50 -22
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/provider/use-block-sync.js +37 -10
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +1 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-setting/index.js +7 -0
- package/build/components/use-setting/index.js.map +1 -1
- package/build/layouts/flex.js +3 -27
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +3 -3
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +34 -83
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +2 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/transform-styles/index.js +2 -3
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +12 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.js +1 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -3
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -3
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +2 -2
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +2 -2
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -2
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +2 -2
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-preview/index.js +46 -0
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +3 -3
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +1 -0
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +2 -2
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +2 -2
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +1 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +50 -22
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +41 -14
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +1 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +7 -0
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/layouts/flex.js +3 -27
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +3 -3
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +35 -84
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +2 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +2 -3
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/style-rtl.css +17 -2
- package/build-style/style.css +17 -2
- package/package.json +9 -9
- package/src/components/block-inspector/index.js +17 -1
- package/src/components/block-list/block.js +1 -1
- package/src/components/block-list/block.native.js +2 -2
- package/src/components/block-list/use-block-props/index.js +1 -3
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +2 -5
- package/src/components/block-mover/button.js +2 -6
- package/src/components/block-mover/index.js +2 -5
- package/src/components/block-mover/index.native.js +2 -5
- package/src/components/block-preview/index.js +60 -0
- package/src/components/block-preview/style.scss +23 -0
- package/src/components/block-preview/test/index.js +114 -0
- package/src/components/block-tools/block-selection-button.js +3 -9
- package/src/components/border-style-control/style.scss +3 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -0
- package/src/components/colors-gradients/control.js +3 -0
- package/src/components/index.js +4 -1
- package/src/components/inserter/hooks/use-insertion-point.js +2 -9
- package/src/components/inserter/index.js +2 -2
- package/src/components/inserter/index.native.js +2 -5
- package/src/components/inserter/quick-inserter.js +1 -1
- package/src/components/inspector-controls/block-support-tools-panel.js +57 -21
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/provider/use-block-sync.js +45 -11
- package/src/components/use-on-block-drop/index.js +1 -4
- package/src/components/use-setting/index.js +9 -0
- package/src/layouts/flex.js +4 -25
- package/src/store/actions.js +3 -4
- package/src/store/reducer.js +36 -105
- package/src/store/selectors.js +2 -2
- package/src/store/test/reducer.js +35 -0
- package/src/store/test/selectors.js +1 -1
- package/src/utils/transform-styles/index.js +13 -16
|
@@ -87,8 +87,15 @@ const BlockInspector = _ref => {
|
|
|
87
87
|
if (count > 1) {
|
|
88
88
|
return (0, _element.createElement)("div", {
|
|
89
89
|
className: "block-editor-block-inspector"
|
|
90
|
-
}, (0, _element.createElement)(_multiSelectionInspector.default, null), (0, _element.createElement)(_inspectorControls.default.Slot, {
|
|
91
|
-
|
|
90
|
+
}, (0, _element.createElement)(_multiSelectionInspector.default, null), (0, _element.createElement)(_inspectorControls.default.Slot, null), (0, _element.createElement)(_inspectorControls.default.Slot, {
|
|
91
|
+
__experimentalGroup: "typography",
|
|
92
|
+
label: (0, _i18n.__)('Typography')
|
|
93
|
+
}), (0, _element.createElement)(_inspectorControls.default.Slot, {
|
|
94
|
+
__experimentalGroup: "dimensions",
|
|
95
|
+
label: (0, _i18n.__)('Dimensions')
|
|
96
|
+
}), (0, _element.createElement)(_inspectorControls.default.Slot, {
|
|
97
|
+
__experimentalGroup: "border",
|
|
98
|
+
label: (0, _i18n.__)('Border')
|
|
92
99
|
}));
|
|
93
100
|
}
|
|
94
101
|
|
|
@@ -144,6 +151,9 @@ const BlockInspectorSingleBlock = _ref2 => {
|
|
|
144
151
|
__experimentalGroup: "dimensions",
|
|
145
152
|
bubblesVirtually: bubblesVirtually,
|
|
146
153
|
label: (0, _i18n.__)('Dimensions')
|
|
154
|
+
}), (0, _element.createElement)(_inspectorControls.default.Slot, {
|
|
155
|
+
__experimentalGroup: "border",
|
|
156
|
+
label: (0, _i18n.__)('Border')
|
|
147
157
|
}), (0, _element.createElement)("div", null, (0, _element.createElement)(AdvancedControls, {
|
|
148
158
|
bubblesVirtually: bubblesVirtually
|
|
149
159
|
})), (0, _element.createElement)(_skipToSelectedBlock.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["BlockInspector","showNoBlockSelectedMessage","bubblesVirtually","count","hasBlockStyles","selectedBlockName","selectedBlockClientId","blockType","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","_selectedBlockName","_blockType","blockStyles","length","isSelectedBlockUnregistered","name","BlockInspectorSingleBlock","clientId","blockName","blockInformation","AdvancedControls","slot","InspectorAdvancedControls","slotName","hasFills","Boolean","fills"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAMA;;AAIA;;AAKA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AA9BA;AACA;AACA;;AAcA;AACA;AACA;AAcA,MAAMA,cAAc,GAAG,QAGhB;AAAA,MAHkB;AACxBC,IAAAA,0BAA0B,GAAG,IADL;AAExBC,IAAAA,gBAAgB,GAAG;AAFK,GAGlB;AACN,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,cAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,qBAJK;AAKLC,IAAAA;AALK,MAMF,qBAAaC,MAAF,IAAc;AAC5B,UAAM;AACLC,MAAAA,wBADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,YAAF,CAJV;AAKA,UAAM;AAAEC,MAAAA;AAAF,QAAqBL,MAAM,CAAEM,aAAF,CAAjC;;AAEA,UAAMC,sBAAsB,GAAGN,wBAAwB,EAAvD;;AACA,UAAMO,kBAAkB,GACvBD,sBAAsB,IAAIJ,YAAY,CAAEI,sBAAF,CADvC;;AAEA,UAAME,UAAU,GACfD,kBAAkB,IAAI,0BAAcA,kBAAd,CADvB;;AAEA,UAAME,WAAW,GAChBF,kBAAkB,IAAIH,cAAc,CAAEG,kBAAF,CADrC;;AAGA,WAAO;AACNb,MAAAA,KAAK,EAAEO,qBAAqB,EADtB;AAENJ,MAAAA,qBAAqB,EAAES,sBAFjB;AAGNV,MAAAA,iBAAiB,EAAEW,kBAHb;AAINT,MAAAA,SAAS,EAAEU,UAJL;AAKNb,MAAAA,cAAc,EAAEc,WAAW,IAAIA,WAAW,CAACC,MAAZ,GAAqB;AAL9C,KAAP;AAOA,GAvBG,EAuBD,EAvBC,CANJ;;AA+BA,MAAKhB,KAAK,GAAG,CAAb,EAAiB;AAChB,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,4BAAC,gCAAD,OADD,EAEC,4BAAC,0BAAD,CAAmB,IAAnB;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["BlockInspector","showNoBlockSelectedMessage","bubblesVirtually","count","hasBlockStyles","selectedBlockName","selectedBlockClientId","blockType","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","_selectedBlockName","_blockType","blockStyles","length","isSelectedBlockUnregistered","name","BlockInspectorSingleBlock","clientId","blockName","blockInformation","AdvancedControls","slot","InspectorAdvancedControls","slotName","hasFills","Boolean","fills"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlot as useSlot,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockInspector = ( {\n\tshowNoBlockSelectedMessage = true,\n\tbubblesVirtually = true,\n} ) => {\n\tconst {\n\t\tcount,\n\t\thasBlockStyles,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\t\tconst blockStyles =\n\t\t\t_selectedBlockName && getBlockStyles( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\thasBlockStyles: blockStyles && blockStyles.length > 0,\n\t\t};\n\t}, [] );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\thasBlockStyles,\n\tbubblesVirtually,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot bubblesVirtually={ bubblesVirtually } />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls bubblesVirtually={ bubblesVirtually } />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = ( { bubblesVirtually } ) => {\n\tconst slot = useSlot( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"advanced\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n};\n\nexport default BlockInspector;\n"]}
|
|
@@ -279,7 +279,7 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
|
|
|
279
279
|
const {
|
|
280
280
|
getBlockIndex
|
|
281
281
|
} = select(_store.store);
|
|
282
|
-
const index = getBlockIndex(clientId
|
|
282
|
+
const index = getBlockIndex(clientId);
|
|
283
283
|
insertBlocks(blocks, index + 1, rootClientId);
|
|
284
284
|
},
|
|
285
285
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"names":["BlockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","removeBlock","blockEditorStore","onRemove","blockEdit","undefined","blockType","getEditWrapperProps","isAligned","block","saveContent","display","apiVersion","value","memoizedValue","Object","values","applyWithSelect","select","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","dispatch","ownProps","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","length","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAWA;;AAKA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAlCA;AACA;AACA;;AAIA;AACA;AACA;;AAiBA;AACA;AACA;AASO,MAAMA,qBAAqB,GAAG,6BAA9B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA,SAASC,iBAAT,CAA4BC,MAA5B,EAAoCC,MAApC,EAA6C;AAC5C,QAAMC,QAAQ,GAAG,EAChB,GAAGF,MADa;AAEhB,OAAGC;AAFa,GAAjB;;AAKA,MAAKD,MAAM,IAAIC,MAAV,IAAoBD,MAAM,CAACG,SAA3B,IAAwCF,MAAM,CAACE,SAApD,EAAgE;AAC/DD,IAAAA,QAAQ,CAACC,SAAT,GAAqB,yBAAYH,MAAM,CAACG,SAAnB,EAA8BF,MAAM,CAACE,SAArC,CAArB;AACA;;AACD,MAAKH,MAAM,IAAIC,MAAV,IAAoBD,MAAM,CAACI,KAA3B,IAAoCH,MAAM,CAACG,KAAhD,EAAwD;AACvDF,IAAAA,QAAQ,CAACE,KAAT,GAAiB,EAAE,GAAGJ,MAAM,CAACI,KAAZ;AAAmB,SAAGH,MAAM,CAACG;AAA7B,KAAjB;AACA;;AAED,SAAOF,QAAP;AACA;;AAED,SAASG,KAAT,OAAiD;AAAA,MAAjC;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,MAAZ;AAAoB,OAAGC;AAAvB,GAAiC;AAChD,SACC,mCAAU,kCAAeA,KAAf,EAAsB;AAAEC,IAAAA,gBAAgB,EAAEF;AAApB,GAAtB,CAAV,EACGD,QADH,CADD;AAKA;;AAED,SAASI,cAAT,QAiBI;AAAA,MAjBqB;AACxBC,IAAAA,IADwB;AAExBC,IAAAA,QAFwB;AAGxBC,IAAAA,SAHwB;AAIxBC,IAAAA,QAJwB;AAKxBC,IAAAA,UALwB;AAMxBC,IAAAA,kBANwB;AAOxBb,IAAAA,SAPwB;AAQxBc,IAAAA,IARwB;AASxBC,IAAAA,OATwB;AAUxBC,IAAAA,UAVwB;AAWxBC,IAAAA,YAXwB;AAYxBC,IAAAA,aAZwB;AAaxBC,IAAAA,SAbwB;AAcxBC,IAAAA,mBAdwB;AAexBC,IAAAA,OAfwB;AAgBxBC,IAAAA;AAhBwB,GAiBrB;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAkB,uBAAaC,YAAb,CAAxB;AACA,QAAMC,QAAQ,GAAG,0BAAa,MAAMF,WAAW,CAAEZ,QAAF,CAA9B,EAA4C,CAAEA,QAAF,CAA5C,CAAjB,CAFG,CAIH;AACA;AACA;AACA;;AACA,MAAIe,SAAS,GACZ,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGZ,IADR;AAEC,IAAA,UAAU,EAAGF,UAFd;AAGC,IAAA,UAAU,EAAGI,UAHd;AAIC,IAAA,aAAa,EAAGE,aAJjB;AAKC,IAAA,iBAAiB,EAAGT,QAAQ,GAAGkB,SAAH,GAAeP,mBAL5C;AAMC,IAAA,SAAS,EAAGV,SAAS,GAAGS,SAAH,GAAeQ,SANrC;AAOC,IAAA,QAAQ,EAAGjB,SAAS,GAAGe,QAAH,GAAcE,SAPnC;AAQC,IAAA,WAAW,EAAGjB,SAAS,GAAGW,OAAH,GAAaM,SARrC;AASC,IAAA,QAAQ,EAAGhB,QATZ;AAUC,IAAA,kBAAkB,EAAGE,kBAVtB;AAWC,IAAA,eAAe,EAAGS;AAXnB,IADD;AAgBA,QAAMM,SAAS,GAAG,0BAAcd,IAAd,CAAlB,CAxBG,CA0BH;;AACA,MAAKc,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEC,mBAAhB,EAAsC;AACrCZ,IAAAA,YAAY,GAAGrB,iBAAiB,CAC/BqB,YAD+B,EAE/BW,SAAS,CAACC,mBAAV,CAA+Bb,UAA/B,CAF+B,CAAhC;AAIA;;AAED,QAAMc,SAAS,GAAGb,YAAY,IAAI,CAAC,CAAEA,YAAY,CAAE,YAAF,CAAjD,CAlCG,CAoCH;AACA;;AACA,MAAKa,SAAL,EAAiB;AAChBJ,IAAAA,SAAS,GACR;AACC,MAAA,SAAS,EAAC,UADX;AAEC,oBAAaT,YAAY,CAAE,YAAF;AAF1B,OAIGS,SAJH,CADD;AAQA;;AAED,MAAIK,KAAJ;;AAEA,MAAK,CAAEhB,OAAP,EAAiB;AAChB,UAAMiB,WAAW,GAAG,4BAAgBJ,SAAhB,EAA2BZ,UAA3B,CAApB;AAEAe,IAAAA,KAAK,GACJ,4BAAC,KAAD;AAAO,MAAA,SAAS,EAAC;AAAjB,OACC,4BAAC,4BAAD;AAAqB,MAAA,QAAQ,EAAGpB;AAAhC,MADD,EAEC,4BAAC,gBAAD,QAAW,mBAAUqB,WAAV,CAAX,CAFD,CADD;AAMA,GATD,MASO,IAAKxB,IAAI,KAAK,MAAd,EAAuB;AAC7B;AACA;AACAuB,IAAAA,KAAK,GACJ,qDACC;AAAK,MAAA,KAAK,EAAG;AAAEE,QAAAA,OAAO,EAAE;AAAX;AAAb,OAAqCP,SAArC,CADD,EAEC,4BAAC,KAAD;AAAO,MAAA,MAAM;AAAb,OACC,4BAAC,kBAAD;AAAW,MAAA,QAAQ,EAAGf;AAAtB,MADD,CAFD,CADD;AAQA,GAXM,MAWA,IAAK,CAAAiB,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEM,UAAX,IAAwB,CAA7B,EAAiC;AACvCH,IAAAA,KAAK,GAAGL,SAAR;AACA,GAFM,MAEA;AACNK,IAAAA,KAAK,GAAG,4BAAC,KAAD,EAAYd,YAAZ,EAA6BS,SAA7B,CAAR;AACA;;AAED,QAAMS,KAAK,GAAG;AACbxB,IAAAA,QADa;AAEbX,IAAAA,SAFa;AAGbiB,IAAAA,YAAY,EAAE,kBAAMA,YAAN,EAAoB,CAAE,YAAF,CAApB,CAHD;AAIba,IAAAA;AAJa,GAAd;AAMA,QAAMM,aAAa,GAAG,sBAAS,MAAMD,KAAf,EAAsBE,MAAM,CAACC,MAAP,CAAeH,KAAf,CAAtB,CAAtB;AAEA,SACC,4BAAC,qBAAD,CAAuB,QAAvB;AAAgC,IAAA,KAAK,EAAGC;AAAxC,KACC,4BAAC,2BAAD;AACC,IAAA,QAAQ,EACP,4BAAC,KAAD;AAAO,MAAA,SAAS,EAAC;AAAjB,OACC,4BAAC,0BAAD,OADD;AAFF,KAOGL,KAPH,CADD,CADD;AAaA;;AAED,MAAMQ,eAAe,GAAG,sBAAY,CAAEC,MAAF,YAA0C;AAAA,MAAhC;AAAE7B,IAAAA,QAAF;AAAY8B,IAAAA;AAAZ,GAAgC;AAC7E,QAAM;AACLC,IAAAA,eADK;AAELC,IAAAA,YAFK;AAGL9B,IAAAA,kBAHK;AAIL+B,IAAAA,eAJK;AAKLC,IAAAA,oCALK;AAMLC,IAAAA,cANK;AAOLC,IAAAA;AAPK,MAQFP,MAAM,CAAEhB,YAAF,CARV;;AASA,QAAMO,KAAK,GAAGc,oCAAoC,CAAElC,QAAF,CAAlD;;AACA,QAAMC,UAAU,GAAG8B,eAAe,CAAE/B,QAAF,CAAlC;AACA,QAAMqC,YAAY,GAAGJ,eAAe,CAAEH,YAAF,CAApC;AACA,QAAM/B,SAAS,GAAGoC,cAAc,CAAEnC,QAAF,EAAY8B,YAAZ,CAAhC;AACA,QAAMQ,OAAO,GAAGF,YAAY,CAAEpC,QAAF,EAAY8B,YAAZ,CAA5B,CAd6E,CAgB7E;AACA;AACA;AACA;;AACA,QAAM;AAAE3B,IAAAA,IAAF;AAAQE,IAAAA,UAAR;AAAoBD,IAAAA;AAApB,MAAgCgB,KAAK,IAAI,EAA/C,CApB6E,CAsB7E;AACA;;AACA,SAAO;AACNvB,IAAAA,IAAI,EAAEmC,YAAY,CAAEhC,QAAF,CADZ;AAENE,IAAAA,kBAAkB,EAAEA,kBAAkB,EAFhC;AAGNJ,IAAAA,QAAQ,EAAE,CAAC,CAAEuC,YAHP;AAINtC,IAAAA,SAJM;AAKNuC,IAAAA,OALM;AAMN;AACA;AACA;AACA;AACAlB,IAAAA,KAVM;AAWNjB,IAAAA,IAXM;AAYNE,IAAAA,UAZM;AAaND,IAAAA,OAbM;AAcNH,IAAAA;AAdM,GAAP;AAgBA,CAxCuB,CAAxB;AA0CA,MAAMsC,iBAAiB,GAAG,wBAAc,CAAEC,QAAF,EAAYC,QAAZ,YAAsC;AAAA,MAAhB;AAAEZ,IAAAA;AAAF,GAAgB;AAC7E,QAAM;AACLa,IAAAA,qBADK;AAELC,IAAAA,YAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA,aAJK;AAKLlC,IAAAA,eALK;AAMLmC,IAAAA;AANK,MAOFN,QAAQ,CAAE3B,YAAF,CAPZ,CAD6E,CAU7E;AACA;;AACA,SAAO;AACNN,IAAAA,aAAa,CAAEwC,aAAF,EAAkB;AAC9B,YAAM;AAAEC,QAAAA;AAAF,UAAqCnB,MAAM,CAChDhB,YADgD,CAAjD;AAGA,YAAMoC,2BAA2B,GAAGD,8BAA8B,EAAlE;AACA,YAAM;AAAEhD,QAAAA;AAAF,UAAeyC,QAArB;AACA,YAAMS,SAAS,GAAGD,2BAA2B,CAACE,MAA5B,GACfF,2BADe,GAEf,CAAEjD,QAAF,CAFH;AAIA0C,MAAAA,qBAAqB,CAAEQ,SAAF,EAAaH,aAAb,CAArB;AACA,KAZK;;AAaNK,IAAAA,cAAc,CAAEC,MAAF,EAAUC,KAAV,EAAkB;AAC/B,YAAM;AAAExB,QAAAA;AAAF,UAAmBW,QAAzB;AACAE,MAAAA,YAAY,CAAEU,MAAF,EAAUC,KAAV,EAAiBxB,YAAjB,CAAZ;AACA,KAhBK;;AAiBNrB,IAAAA,mBAAmB,CAAE4C,MAAF,EAAW;AAC7B,YAAM;AAAErD,QAAAA,QAAF;AAAY8B,QAAAA;AAAZ,UAA6BW,QAAnC;AACA,YAAM;AAAEc,QAAAA;AAAF,UAAoB1B,MAAM,CAAEhB,YAAF,CAAhC;AACA,YAAMyC,KAAK,GAAGC,aAAa,CAAEvD,QAAF,EAAY8B,YAAZ,CAA3B;AACAa,MAAAA,YAAY,CAAEU,MAAF,EAAUC,KAAK,GAAG,CAAlB,EAAqBxB,YAArB,CAAZ;AACA,KAtBK;;AAuBNpB,IAAAA,OAAO,CAAE8C,OAAF,EAAY;AAClB,YAAM;AAAExD,QAAAA;AAAF,UAAeyC,QAArB;AACA,YAAM;AAAEgB,QAAAA,wBAAF;AAA4BC,QAAAA;AAA5B,UAAqD7B,MAAM,CAChEhB,YADgE,CAAjE;;AAIA,UAAK2C,OAAL,EAAe;AACd,cAAMG,iBAAiB,GAAGD,oBAAoB,CAAE1D,QAAF,CAA9C;;AACA,YAAK2D,iBAAL,EAAyB;AACxBf,UAAAA,WAAW,CAAE5C,QAAF,EAAY2D,iBAAZ,CAAX;AACA;AACD,OALD,MAKO;AACN,cAAMC,qBAAqB,GAAGH,wBAAwB,CACrDzD,QADqD,CAAtD;;AAGA,YAAK4D,qBAAL,EAA6B;AAC5BhB,UAAAA,WAAW,CAAEgB,qBAAF,EAAyB5D,QAAzB,CAAX;AACA;AACD;AACD,KA1CK;;AA2CNQ,IAAAA,SAAS,CAAE6C,MAAF,EAAUQ,aAAV,EAAyBC,eAAzB,EAA2C;AACnD,UACCT,MAAM,CAACF,MAAP,IACA,CAAE,sCAA0BE,MAAM,CAAEA,MAAM,CAACF,MAAP,GAAgB,CAAlB,CAAhC,CAFH,EAGE;AACDL,QAAAA,oCAAoC;AACpC;;AACDD,MAAAA,aAAa,CACZ,CAAEJ,QAAQ,CAACzC,QAAX,CADY,EAEZqD,MAFY,EAGZQ,aAHY,EAIZC,eAJY,CAAb;AAMA,KAxDK;;AAyDNnD,IAAAA,eAAe,CAAEoD,gBAAF,EAAqB;AACnCpD,MAAAA,eAAe,CAAEoD,gBAAF,CAAf;AACA;;AA3DK,GAAP;AA6DA,CAzEyB,CAA1B;;eA2Ee,sBACdC,aADc,EAEdpC,eAFc,EAGdW,iBAHc,EAId;AACA;AACA;AACA,0BAAa;AAAA,MAAE;AAAEnB,IAAAA;AAAF,GAAF;AAAA,SAAiB,CAAC,CAAEA,KAApB;AAAA,CAAb,CAPc,EAQd,6BAAa,uBAAb,CARc,EASZxB,cATY,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tRawHTML,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, withSelect, useDispatch } from '@wordpress/data';\nimport { compose, pure, ifCondition } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BlockListBlockContext = createContext();\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\tif ( propsA && propsB && propsA.className && propsB.className ) {\n\t\tnewProps.className = classnames( propsA.className, propsB.className );\n\t}\n\tif ( propsA && propsB && propsA.style && propsB.style ) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned = wrapperProps && !! wrapperProps[ 'data-align' ];\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName=\"wp-block\"\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps: omit( wrapperProps, [ 'data-align' ] ),\n\t\tisAligned,\n\t};\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</BlockListBlockContext.Provider>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, attributes, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, { select } ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId, rootClientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { getPreviousBlockClientId, getNextBlockClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tif ( forward ) {\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tpure,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"names":["BlockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","removeBlock","blockEditorStore","onRemove","blockEdit","undefined","blockType","getEditWrapperProps","isAligned","block","saveContent","display","apiVersion","value","memoizedValue","Object","values","applyWithSelect","select","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","dispatch","ownProps","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","length","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tRawHTML,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, withSelect, useDispatch } from '@wordpress/data';\nimport { compose, pure, ifCondition } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BlockListBlockContext = createContext();\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\tif ( propsA && propsB && propsA.className && propsB.className ) {\n\t\tnewProps.className = classnames( propsA.className, propsB.className );\n\t}\n\tif ( propsA && propsB && propsA.style && propsB.style ) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned = wrapperProps && !! wrapperProps[ 'data-align' ];\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName=\"wp-block\"\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps: omit( wrapperProps, [ 'data-align' ] ),\n\t\tisAligned,\n\t};\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</BlockListBlockContext.Provider>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, attributes, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, { select } ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { getPreviousBlockClientId, getNextBlockClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tif ( forward ) {\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tpure,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"]}
|
|
@@ -280,8 +280,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
|
|
|
280
280
|
var _getSettings;
|
|
281
281
|
|
|
282
282
|
let {
|
|
283
|
-
clientId
|
|
284
|
-
rootClientId
|
|
283
|
+
clientId
|
|
285
284
|
} = _ref3;
|
|
286
285
|
const {
|
|
287
286
|
getBlockIndex,
|
|
@@ -293,7 +292,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
|
|
|
293
292
|
getBlockParents,
|
|
294
293
|
hasSelectedInnerBlock
|
|
295
294
|
} = select(_store.store);
|
|
296
|
-
const order = getBlockIndex(clientId
|
|
295
|
+
const order = getBlockIndex(clientId);
|
|
297
296
|
const isSelected = isBlockSelected(clientId);
|
|
298
297
|
const isInnerBlockSelected = hasSelectedInnerBlock(clientId);
|
|
299
298
|
const block = getBlock(clientId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"names":["emptyArray","BlockForType","attributes","clientId","contentStyle","getBlockWidth","insertBlocksAfter","isSelected","mergeBlocks","name","onBlockFocus","onChange","onDeleteBlock","onReplace","parentWidth","wrapperProps","blockWidth","baseGlobalStyles","defaultColors","fontSizes","globalStyle","mergedStyle","style","JSON","stringify","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","BlockListBlock","Component","constructor","arguments","bind","onFocus","state","props","marginHorizontal","anchorNodeRef","firstToSelectId","onSelect","blocks","onInsertBlocks","order","nativeEvent","layout","layoutWidth","Math","floor","width","setState","getBlockForType","renderBlockTitle","styles","blockTitle","render","blockType","icon","isValid","title","isDimmed","isTouchable","isStackedHorizontally","isParentSelected","getStylesFromColorScheme","marginVertical","isInnerBlockSelected","align","accessibilityLabel","isFullWidth","isContainerRelated","alignmentHelpers","accessible","screenWidth","Dimensions","get","isScreenWidthEqual","isScreenWidthWider","isFullWidthToolbar","flex","dimmed","solidBorder","borderFullWidth","containerBorderFullWidth","solidBorderColor","solidBorderColorDark","dashedBorder","dashedBorderColor","dashedBorderColorDark","neutralToolbar","current","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","set","select","rootClientId","getBlockIndex","getSettings","isBlockSelected","getBlock","getSelectedBlockClientId","getLowestCommonAncestorWithSelectedBlock","getBlockParents","hasSelectedInnerBlock","blockEditorStore","block","parents","parentId","selectedBlockClientId","commonAncestor","commonAncestorIndex","indexOf","length","selectedParents","isDescendantOfParentSelected","includes","__experimentalGlobalStylesBaseStyles","getEditWrapperProps","dispatch","ownProps","insertBlocks","replaceBlocks","selectBlock","updateBlockAttributes","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","index","initialPosition","indexToSelect","withPreferredColorScheme"],"mappings":";;;;;;;;;AASA;;;;AANA;;AACA;;AAMA;;AAMA;;AACA;;AACA;;AAIA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AA/BA;AACA;AACA;;AAIA;AACA;AACA;;AAgBA;AACA;AACA;AAOA,MAAMA,UAAU,GAAG,EAAnB;;AACA,SAASC,YAAT,OAiBI;AAAA,MAjBmB;AACtBC,IAAAA,UADsB;AAEtBC,IAAAA,QAFsB;AAGtBC,IAAAA,YAHsB;AAItBC,IAAAA,aAJsB;AAKtBC,IAAAA,iBALsB;AAMtBC,IAAAA,UANsB;AAOtBC,IAAAA,WAPsB;AAQtBC,IAAAA,IARsB;AAStBC,IAAAA,YATsB;AAUtBC,IAAAA,QAVsB;AAWtBC,IAAAA,aAXsB;AAYtBC,IAAAA,SAZsB;AAatBC,IAAAA,WAbsB;AActBC,IAAAA,YAdsB;AAetBC,IAAAA,UAfsB;AAgBtBC,IAAAA;AAhBsB,GAiBnB;AACH,QAAMC,aAAa,GAAG,6BAAY,eAAZ,KAAiClB,UAAvD;AACA,QAAMmB,SAAS,GAAG,6BAAY,sBAAZ,KAAwCnB,UAA1D;AACA,QAAMoB,WAAW,GAAG,kCAApB;AACA,QAAMC,WAAW,GAAG,sBAAS,MAAM;AAClC,WAAO,uCACNJ,gBADM,EAENG,WAFM,EAGNL,YAAY,CAACO,KAHP,EAINpB,UAJM,EAKNgB,aALM,EAMNT,IANM,EAONU,SAPM,CAAP;AASA,GAVmB,EAUjB,CACFD,aADE,EAEFE,WAFE,EAGF;AACA;AACAG,EAAAA,IAAI,CAACC,SAAL,CAAgBT,YAAY,CAACO,KAA7B,CALE,EAMFC,IAAI,CAACC,SAAL,CACC,kBAAMtB,UAAN,EAAkBuB,gCAAoBC,sBAAtC,CADD,CANE,CAViB,CAApB;AAqBA,SACC,4BAAC,+BAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAGL;AAAtC,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGZ,IADR;AAEC,IAAA,UAAU,EAAGF,UAFd;AAGC,IAAA,UAAU,EAAGL,UAHd;AAIC,IAAA,aAAa,EAAGS,QAJjB;AAKC,IAAA,OAAO,EAAGD,YALX;AAMC,IAAA,SAAS,EAAGG,SANb;AAOC,IAAA,iBAAiB,EAAGP,iBAPrB;AAQC,IAAA,WAAW,EAAGE,WARf,CASC;AATD;AAUC,IAAA,YAAY,EAAGO,YAVhB,CAWC;AAXD;AAYC,IAAA,KAAK,EAAGM,WAZT;AAaC,IAAA,QAAQ,EAAGlB,QAbZ;AAcC,IAAA,WAAW,EAAGW,WAdf;AAeC,IAAA,YAAY,EAAGV,YAfhB;AAgBC,IAAA,aAAa,EAAGQ,aAhBjB;AAiBC,IAAA,UAAU,EAAGI;AAjBd,IADD,EAoBC,4BAAC,iBAAD;AAAM,IAAA,QAAQ,EAAGX;AAAjB,IApBD,CADD;AAwBA;;AAED,MAAMsB,cAAN,SAA6BC,kBAA7B,CAAuC;AACtCC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKxB,iBAAL,GAAyB,KAAKA,iBAAL,CAAuByB,IAAvB,CAA6B,IAA7B,CAAzB;AACA,SAAKC,OAAL,GAAe,KAAKA,OAAL,CAAaD,IAAb,CAAmB,IAAnB,CAAf;AACA,SAAK1B,aAAL,GAAqB,KAAKA,aAAL,CAAmB0B,IAAnB,CAAyB,IAAzB,CAArB;AAEA,SAAKE,KAAL,GAAa;AACZjB,MAAAA,UAAU,EAAE,KAAKkB,KAAL,CAAWlB,UAAX,GAAwB,IAAI,KAAKkB,KAAL,CAAWC;AADvC,KAAb;AAIA,SAAKC,aAAL,GAAqB,yBAArB;AACA;;AAEDJ,EAAAA,OAAO,GAAG;AACT,UAAM;AAAEK,MAAAA,eAAF;AAAmB9B,MAAAA,UAAnB;AAA+B+B,MAAAA;AAA/B,QAA4C,KAAKJ,KAAvD;;AACA,QAAK,CAAE3B,UAAP,EAAoB;AACnB+B,MAAAA,QAAQ,CAAED,eAAF,CAAR;AACA;AACD;;AAED/B,EAAAA,iBAAiB,CAAEiC,MAAF,EAAW;AAC3B,SAAKL,KAAL,CAAWM,cAAX,CAA2BD,MAA3B,EAAmC,KAAKL,KAAL,CAAWO,KAAX,GAAmB,CAAtD;;AAEA,QAAKF,MAAM,CAAE,CAAF,CAAX,EAAmB;AAClB;AACA,WAAKL,KAAL,CAAWI,QAAX,CAAqBC,MAAM,CAAE,CAAF,CAAN,CAAYpC,QAAjC;AACA;AACD;;AAEDE,EAAAA,aAAa,QAAoB;AAAA,QAAlB;AAAEqC,MAAAA;AAAF,KAAkB;AAChC,UAAM;AAAEC,MAAAA;AAAF,QAAaD,WAAnB;AACA,UAAM;AAAE1B,MAAAA;AAAF,QAAiB,KAAKiB,KAA5B;AACA,UAAMW,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAYH,MAAM,CAACI,KAAnB,CAApB;;AAEA,QAAK,CAAE/B,UAAF,IAAgB,CAAE4B,WAAvB,EAAqC;AACpC;AACA;;AAED,QAAK5B,UAAU,KAAK4B,WAApB,EAAkC;AACjC,WAAKI,QAAL,CAAe;AAAEhC,QAAAA,UAAU,EAAE4B;AAAd,OAAf;AACA;AACD;;AAEDK,EAAAA,eAAe,GAAG;AACjB,UAAM;AAAEjC,MAAAA;AAAF,QAAiB,KAAKiB,KAA5B;AACA,WACC,4BAAC,YAAD,6BACM,KAAKC,KADX;AAEC,MAAA,YAAY,EAAG,KAAKF,OAFrB;AAGC,MAAA,iBAAiB,EAAG,KAAK1B,iBAH1B;AAIC,MAAA,aAAa,EAAG,KAAKD,aAJtB;AAKC,MAAA,UAAU,EAAGW;AALd,OADD;AASA;;AAEDkC,EAAAA,gBAAgB,GAAG;AAClB,WACC,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGC,eAAOC;AAArB,OACC,4BAAC,iBAAD,uBAAmB,KAAKlB,KAAL,CAAWzB,IAA9B,CADD,CADD;AAKA;;AAED4C,EAAAA,MAAM,GAAG;AACR,UAAM;AACLnD,MAAAA,UADK;AAELoD,MAAAA,SAFK;AAGLnD,MAAAA,QAHK;AAILoD,MAAAA,IAJK;AAKLhD,MAAAA,UALK;AAMLiD,MAAAA,OANK;AAOLf,MAAAA,KAPK;AAQLgB,MAAAA,KARK;AASLC,MAAAA,QATK;AAULC,MAAAA,WAVK;AAWL/C,MAAAA,aAXK;AAYLgD,MAAAA,qBAZK;AAaLC,MAAAA,gBAbK;AAcLC,MAAAA,wBAdK;AAeLC,MAAAA,cAfK;AAgBL5B,MAAAA,gBAhBK;AAiBL6B,MAAAA,oBAjBK;AAkBLvD,MAAAA;AAlBK,QAmBF,KAAKyB,KAnBT;;AAqBA,QAAK,CAAEhC,UAAF,IAAgB,CAAEoD,SAAvB,EAAmC;AAClC,aAAO,IAAP;AACA;;AACD,UAAM;AAAEtC,MAAAA;AAAF,QAAiB,KAAKiB,KAA5B;AACA,UAAM;AAAEgC,MAAAA;AAAF,QAAY/D,UAAlB;AACA,UAAMgE,kBAAkB,GAAG,mDAC1BZ,SAD0B,EAE1BpD,UAF0B,EAG1BuC,KAAK,GAAG,CAHkB,CAA3B;AAKA,UAAM;AAAE0B,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAAsCC,4BAA5C;AACA,UAAMC,UAAU,GAAG,EAAI/D,UAAU,IAAIyD,oBAAlB,CAAnB;AACA,UAAMO,WAAW,GAAG1B,IAAI,CAACC,KAAL,CAAY0B,wBAAWC,GAAX,CAAgB,QAAhB,EAA2B1B,KAAvC,CAApB;AACA,UAAM2B,kBAAkB,GAAG1D,UAAU,KAAKuD,WAA1C;AACA,UAAMI,kBAAkB,GAAG3D,UAAU,GAAGuD,WAAxC;AACA,UAAMK,kBAAkB,GAAGT,WAAW,CAAEF,KAAF,CAAX,IAAwBS,kBAAnD;AAEA,WACC,4BAAC,qCAAD;AACC,MAAA,OAAO,EAAG,KAAK1C,OADhB;AAEC,MAAA,UAAU,EAAGsC,UAFd;AAGC,MAAA,iBAAiB,EAAG;AAHrB,OAKC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG;AAAEO,QAAAA,IAAI,EAAE;AAAR,OADT;AAEC,MAAA,kBAAkB,EAAGX;AAFtB,OAIC,4BAAC,iBAAD;AACC,MAAA,aAAa,EAAGP,WAAW,GAAG,MAAH,GAAY,UADxC;AAEC,MAAA,kBAAkB,EAAGO,kBAFtB;AAGC,MAAA,KAAK,EAAG,CACP;AAAEH,QAAAA,cAAF;AAAkB5B,QAAAA,gBAAlB;AAAoC0C,QAAAA,IAAI,EAAE;AAA1C,OADO,EAEPnB,QAAQ,IAAIP,eAAO2B,MAFZ;AAHT,OAQGvE,UAAU,IACX,4BAAC,iBAAD;AACC,MAAA,aAAa,EAAC,UADf;AAEC,MAAA,KAAK,EAAG,CACP4C,eAAO4B,WADA,EAEPZ,WAAW,CAAEF,KAAF,CAAX,IACCU,kBADD,IAECxB,eAAO6B,eAJD,EAKPb,WAAW,CAAEF,KAAF,CAAX,IACCG,kBAAkB,CAAE3D,IAAF,CADnB,IAECkE,kBAFD,IAGCxB,eAAO8B,wBARD,EASPnB,wBAAwB,CACvBX,eAAO+B,gBADgB,EAEvB/B,eAAOgC,oBAFgB,CATjB;AAFT,MATF,EA2BGtB,gBAAgB,IACjB,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG,CACPV,eAAOiC,YADA,EAEPtB,wBAAwB,CACvBX,eAAOkC,iBADgB,EAEvBlC,eAAOmC,qBAFgB,CAFjB;AADT,MA5BF,EAsCG9B,OAAO,GACR,KAAKP,eAAL,EADQ,GAGR,4BAAC,4BAAD;AACC,MAAA,UAAU,EAAGQ,KADd;AAEC,MAAA,IAAI,EAAGF;AAFR,MAzCF,EA8CC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAGJ,eAAOoC,cADhB;AAEC,MAAA,GAAG,EAAG,KAAKnD;AAFZ,OAIG7B,UAAU,IACX,4BAAC,2BAAD;AACC,MAAA,QAAQ,EAAGJ,QADZ;AAEC,MAAA,QAAQ,EAAGS,aAFZ;AAGC,MAAA,qBAAqB,EACpBgD,qBAJF;AAMC,MAAA,UAAU,EAAG5C,UANd;AAOC,MAAA,aAAa,EAAG,KAAKoB,aAAL,CAAmBoD,OAPpC;AAQC,MAAA,WAAW,EAAGZ;AARf,MALF,CA9CD,CAJD,CALD,CADD;AA6EA;;AAtLqC,C,CAyLvC;;;AACA,MAAMa,iBAAiB,GAAG,IAAIC,OAAJ,EAA1B;AACA,MAAMC,QAAQ,GAAG,EAAjB;;AACA,SAASC,eAAT,CAA0BC,KAA1B,EAAiCC,uBAAjC,EAA2D;AAC1D,MAAK,CAAEA,uBAAP,EAAiC;AAChC,WAAOH,QAAP;AACA;;AACD,QAAMI,WAAW,GAAGN,iBAAiB,CAAChB,GAAlB,CAAuBoB,KAAvB,CAApB;;AACA,MAAK,CAAEE,WAAP,EAAqB;AACpB,UAAMhF,YAAY,GAAG+E,uBAAuB,CAAED,KAAF,CAA5C;AACAJ,IAAAA,iBAAiB,CAACO,GAAlB,CAAuBH,KAAvB,EAA8B9E,YAA9B;AACA,WAAOA,YAAP;AACA;;AACD,SAAOgF,WAAP;AACA;;eAEc,sBAAS,CACvB,sBAAY,CAAEE,MAAF,YAA0C;AAAA;;AAAA,MAAhC;AAAE9F,IAAAA,QAAF;AAAY+F,IAAAA;AAAZ,GAAgC;AACrD,QAAM;AACLC,IAAAA,aADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA,QAJK;AAKLC,IAAAA,wBALK;AAMLC,IAAAA,wCANK;AAOLC,IAAAA,eAPK;AAQLC,IAAAA;AARK,MASFT,MAAM,CAAEU,YAAF,CATV;AAWA,QAAMlE,KAAK,GAAG0D,aAAa,CAAEhG,QAAF,EAAY+F,YAAZ,CAA3B;AACA,QAAM3F,UAAU,GAAG8F,eAAe,CAAElG,QAAF,CAAlC;AACA,QAAM6D,oBAAoB,GAAG0C,qBAAqB,CAAEvG,QAAF,CAAlD;AACA,QAAMyG,KAAK,GAAGN,QAAQ,CAAEnG,QAAF,CAAtB;AACA,QAAM;AAAEM,IAAAA,IAAF;AAAQP,IAAAA,UAAR;AAAoBsD,IAAAA;AAApB,MAAgCoD,KAAK,IAAI,EAA/C;AAEA,QAAMtD,SAAS,GAAG,0BAAc7C,IAAI,IAAI,cAAtB,CAAlB;AACA,QAAMgD,KAAK,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEG,KAAzB;AACA,QAAMF,IAAI,GAAGD,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEC,IAAxB;AAEA,QAAMsD,OAAO,GAAGJ,eAAe,CAAEtG,QAAF,EAAY,IAAZ,CAA/B;AACA,QAAM2G,QAAQ,GAAGD,OAAO,CAAE,CAAF,CAAP,IAAgB,EAAjC;AAEA,QAAME,qBAAqB,GAAGR,wBAAwB,EAAtD;AAEA,QAAMS,cAAc,GAAGR,wCAAwC,CAC9DrG,QAD8D,CAA/D;AAGA,QAAM8G,mBAAmB,GAAGJ,OAAO,CAACK,OAAR,CAAiBF,cAAjB,IAAoC,CAAhE;AACA,QAAM3E,eAAe,GAAG2E,cAAc,GACnCH,OAAO,CAAEI,mBAAF,CAD4B,GAEnCJ,OAAO,CAAEA,OAAO,CAACM,MAAR,GAAiB,CAAnB,CAFV;AAIA,QAAMtD,gBAAgB,GACrB;AACA,GAAEkD,qBAAqB,IAAI,KAA3B,KACAA,qBAAqB,KAAKD,QAH3B;AAKA,QAAMM,eAAe,GAAGL,qBAAqB,GAC1CN,eAAe,CAAEM,qBAAF,CAD2B,GAE1C,EAFH;AAGA,QAAMM,4BAA4B,GAAGD,eAAe,CAACE,QAAhB,CACpCR,QADoC,CAArC;AAGA,QAAMnD,WAAW,GAChBpD,UAAU,IACV8G,4BADA,IAEAxD,gBAFA,IAGAiD,QAAQ,KAAK,EAJd;AAKA,QAAM7F,gBAAgB,mBAAGmF,WAAW,EAAd,iDAAG,aACtBmB,oCADH;AAGA,SAAO;AACNhE,IAAAA,IADM;AAEN9C,IAAAA,IAAI,EAAEA,IAAI,IAAI,cAFR;AAGNgC,IAAAA,KAHM;AAINgB,IAAAA,KAJM;AAKNvD,IAAAA,UALM;AAMNoD,IAAAA,SANM;AAON/C,IAAAA,UAPM;AAQNyD,IAAAA,oBARM;AASNR,IAAAA,OATM;AAUNK,IAAAA,gBAVM;AAWNxB,IAAAA,eAXM;AAYNsB,IAAAA,WAZM;AAaN1C,IAAAA,gBAbM;AAcNF,IAAAA,YAAY,EAAE6E,eAAe,CAC5B1F,UAD4B,EAE5BoD,SAAS,CAACkE,mBAFkB;AAdvB,GAAP;AAmBA,CAzED,CADuB,EA2EvB,wBAAc,CAAEC,QAAF,EAAYC,QAAZ,YAAsC;AAAA,MAAhB;AAAEzB,IAAAA;AAAF,GAAgB;AACnD,QAAM;AACL0B,IAAAA,YADK;AAELnH,IAAAA,WAFK;AAGLoH,IAAAA,aAHK;AAILC,IAAAA,WAJK;AAKLC,IAAAA;AALK,MAMFL,QAAQ,CAAEd,YAAF,CANZ;AAQA,SAAO;AACNnG,IAAAA,WAAW,CAAEuH,OAAF,EAAY;AACtB,YAAM;AAAE5H,QAAAA;AAAF,UAAeuH,QAArB;AACA,YAAM;AACLM,QAAAA,wBADK;AAELC,QAAAA;AAFK,UAGFhC,MAAM,CAAEU,YAAF,CAHV;;AAKA,UAAKoB,OAAL,EAAe;AACd,cAAMG,iBAAiB,GAAGD,oBAAoB,CAAE9H,QAAF,CAA9C;;AACA,YAAK+H,iBAAL,EAAyB;AACxB1H,UAAAA,WAAW,CAAEL,QAAF,EAAY+H,iBAAZ,CAAX;AACA;AACD,OALD,MAKO;AACN,cAAMC,qBAAqB,GAAGH,wBAAwB,CACrD7H,QADqD,CAAtD;;AAGA,YAAKgI,qBAAL,EAA6B;AAC5B3H,UAAAA,WAAW,CAAE2H,qBAAF,EAAyBhI,QAAzB,CAAX;AACA;AACD;AACD,KArBK;;AAsBNqC,IAAAA,cAAc,CAAED,MAAF,EAAU6F,KAAV,EAAkB;AAC/BT,MAAAA,YAAY,CAAEpF,MAAF,EAAU6F,KAAV,EAAiBV,QAAQ,CAACxB,YAA1B,CAAZ;AACA,KAxBK;;AAyBN5D,IAAAA,QAAQ,GAAkD;AAAA,UAAhDnC,QAAgD,uEAArCuH,QAAQ,CAACvH,QAA4B;AAAA,UAAlBkI,eAAkB;AACzDR,MAAAA,WAAW,CAAE1H,QAAF,EAAYkI,eAAZ,CAAX;AACA,KA3BK;;AA4BN1H,IAAAA,QAAQ,EAAIT,UAAF,IAAkB;AAC3B4H,MAAAA,qBAAqB,CAAEJ,QAAQ,CAACvH,QAAX,EAAqBD,UAArB,CAArB;AACA,KA9BK;;AA+BNW,IAAAA,SAAS,CAAE0B,MAAF,EAAU+F,aAAV,EAA0B;AAClCV,MAAAA,aAAa,CAAE,CAAEF,QAAQ,CAACvH,QAAX,CAAF,EAAyBoC,MAAzB,EAAiC+F,aAAjC,CAAb;AACA;;AAjCK,GAAP;AAmCA,CA5CD,CA3EuB,EAwHvBC,iCAxHuB,CAAT,EAyHV5G,cAzHU,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback, Dimensions } from 'react-native';\nimport { pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef, useMemo } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\talignmentHelpers,\n\tuseGlobalStyles,\n} from '@wordpress/components';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n} from '@wordpress/blocks';\nimport { useSetting } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './block.scss';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockMobileToolbar from '../block-mobile-toolbar';\nimport { store as blockEditorStore } from '../../store';\n\nconst emptyArray = [];\nfunction BlockForType( {\n\tattributes,\n\tclientId,\n\tcontentStyle,\n\tgetBlockWidth,\n\tinsertBlocksAfter,\n\tisSelected,\n\tmergeBlocks,\n\tname,\n\tonBlockFocus,\n\tonChange,\n\tonDeleteBlock,\n\tonReplace,\n\tparentWidth,\n\twrapperProps,\n\tblockWidth,\n\tbaseGlobalStyles,\n} ) {\n\tconst defaultColors = useSetting( 'color.palette' ) || emptyArray;\n\tconst fontSizes = useSetting( 'typography.fontSizes' ) || emptyArray;\n\tconst globalStyle = useGlobalStyles();\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes\n\t\t);\n\t}, [\n\t\tdefaultColors,\n\t\tglobalStyle,\n\t\t// I couldn't simply use attributes and wrapperProps.styles as a dependency because they are almost always a new reference.\n\t\t// Thanks to the JSON.stringify we check if the value is the same instead of reference.\n\t\tJSON.stringify( wrapperProps.style ),\n\t\tJSON.stringify(\n\t\t\tpick( attributes, GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES )\n\t\t),\n\t] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t<BlockEdit\n\t\t\t\tname={ name }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ onChange }\n\t\t\t\tonFocus={ onBlockFocus }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmergeBlocks={ mergeBlocks }\n\t\t\t\t// Block level styles\n\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t// inherited styles merged with block level styles\n\t\t\t\tstyle={ mergedStyle }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t\t<View onLayout={ getBlockWidth } />\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nclass BlockListBlock extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.insertBlocksAfter = this.insertBlocksAfter.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.getBlockWidth = this.getBlockWidth.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth - 2 * this.props.marginHorizontal,\n\t\t};\n\n\t\tthis.anchorNodeRef = createRef();\n\t}\n\n\tonFocus() {\n\t\tconst { firstToSelectId, isSelected, onSelect } = this.props;\n\t\tif ( ! isSelected ) {\n\t\t\tonSelect( firstToSelectId );\n\t\t}\n\t}\n\n\tinsertBlocksAfter( blocks ) {\n\t\tthis.props.onInsertBlocks( blocks, this.props.order + 1 );\n\n\t\tif ( blocks[ 0 ] ) {\n\t\t\t// focus on the first block inserted\n\t\t\tthis.props.onSelect( blocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tgetBlockWidth( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\n\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( { blockWidth: layoutWidth } );\n\t\t}\n\t}\n\n\tgetBlockForType() {\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockForType\n\t\t\t\t{ ...this.props }\n\t\t\t\tonBlockFocus={ this.onFocus }\n\t\t\t\tinsertBlocksAfter={ this.insertBlocksAfter }\n\t\t\t\tgetBlockWidth={ this.getBlockWidth }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockTitle() {\n\t\treturn (\n\t\t\t<View style={ styles.blockTitle }>\n\t\t\t\t<Text>BlockType: { this.props.name }</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tclientId,\n\t\t\ticon,\n\t\t\tisSelected,\n\t\t\tisValid,\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tisDimmed,\n\t\t\tisTouchable,\n\t\t\tonDeleteBlock,\n\t\t\tisStackedHorizontally,\n\t\t\tisParentSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t\tisInnerBlockSelected,\n\t\t\tname,\n\t\t} = this.props;\n\n\t\tif ( ! attributes || ! blockType ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { blockWidth } = this.state;\n\t\tconst { align } = attributes;\n\t\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\t\tblockType,\n\t\t\tattributes,\n\t\t\torder + 1\n\t\t);\n\t\tconst { isFullWidth, isContainerRelated } = alignmentHelpers;\n\t\tconst accessible = ! ( isSelected || isInnerBlockSelected );\n\t\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\t\tconst isScreenWidthEqual = blockWidth === screenWidth;\n\t\tconst isScreenWidthWider = blockWidth < screenWidth;\n\t\tconst isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ this.onFocus }\n\t\t\t\taccessible={ accessible }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ { flex: 1 } }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tpointerEvents={ isTouchable ? 'auto' : 'box-only' }\n\t\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t{ marginVertical, marginHorizontal, flex: 1 },\n\t\t\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.solidBorder,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.borderFullWidth,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisContainerRelated( name ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.containerBorderFullWidth,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColorDark\n\t\t\t\t\t\t\t\t\t),\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\t{ isParentSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.dashedBorder,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColorDark\n\t\t\t\t\t\t\t\t\t),\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\t{ isValid ? (\n\t\t\t\t\t\t\tthis.getBlockForType()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<BlockInvalidWarning\n\t\t\t\t\t\t\t\tblockTitle={ title }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ styles.neutralToolbar }\n\t\t\t\t\t\t\tref={ this.anchorNodeRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t<BlockMobileToolbar\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tonDelete={ onDeleteBlock }\n\t\t\t\t\t\t\t\t\tisStackedHorizontally={\n\t\t\t\t\t\t\t\t\t\tisStackedHorizontally\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\t\t\tanchorNodeRef={ this.anchorNodeRef.current }\n\t\t\t\t\t\t\t\t\tisFullWidth={ isFullWidthToolbar }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\n// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference\nconst wrapperPropsCache = new WeakMap();\nconst emptyObj = {};\nfunction getWrapperProps( value, getWrapperPropsFunction ) {\n\tif ( ! getWrapperPropsFunction ) {\n\t\treturn emptyObj;\n\t}\n\tconst cachedValue = wrapperPropsCache.get( value );\n\tif ( ! cachedValue ) {\n\t\tconst wrapperProps = getWrapperPropsFunction( value );\n\t\twrapperPropsCache.set( value, wrapperProps );\n\t\treturn wrapperProps;\n\t}\n\treturn cachedValue;\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSettings,\n\t\t\tisBlockSelected,\n\t\t\tgetBlock,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetLowestCommonAncestorWithSelectedBlock,\n\t\t\tgetBlockParents,\n\t\t\thasSelectedInnerBlock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst order = getBlockIndex( clientId, rootClientId );\n\t\tconst isSelected = isBlockSelected( clientId );\n\t\tconst isInnerBlockSelected = hasSelectedInnerBlock( clientId );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name, attributes, isValid } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst icon = blockType?.icon;\n\n\t\tconst parents = getBlockParents( clientId, true );\n\t\tconst parentId = parents[ 0 ] || '';\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst commonAncestor = getLowestCommonAncestorWithSelectedBlock(\n\t\t\tclientId\n\t\t);\n\t\tconst commonAncestorIndex = parents.indexOf( commonAncestor ) - 1;\n\t\tconst firstToSelectId = commonAncestor\n\t\t\t? parents[ commonAncestorIndex ]\n\t\t\t: parents[ parents.length - 1 ];\n\n\t\tconst isParentSelected =\n\t\t\t// set false as a default value to prevent re-render when it's changed from null to false\n\t\t\t( selectedBlockClientId || false ) &&\n\t\t\tselectedBlockClientId === parentId;\n\n\t\tconst selectedParents = selectedBlockClientId\n\t\t\t? getBlockParents( selectedBlockClientId )\n\t\t\t: [];\n\t\tconst isDescendantOfParentSelected = selectedParents.includes(\n\t\t\tparentId\n\t\t);\n\t\tconst isTouchable =\n\t\t\tisSelected ||\n\t\t\tisDescendantOfParentSelected ||\n\t\t\tisParentSelected ||\n\t\t\tparentId === '';\n\t\tconst baseGlobalStyles = getSettings()\n\t\t\t?.__experimentalGlobalStylesBaseStyles;\n\n\t\treturn {\n\t\t\ticon,\n\t\t\tname: name || 'core/missing',\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tisSelected,\n\t\t\tisInnerBlockSelected,\n\t\t\tisValid,\n\t\t\tisParentSelected,\n\t\t\tfirstToSelectId,\n\t\t\tisTouchable,\n\t\t\tbaseGlobalStyles,\n\t\t\twrapperProps: getWrapperProps(\n\t\t\t\tattributes,\n\t\t\t\tblockType.getEditWrapperProps\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\tconst {\n\t\t\tinsertBlocks,\n\t\t\tmergeBlocks,\n\t\t\treplaceBlocks,\n\t\t\tselectBlock,\n\t\t\tupdateBlockAttributes,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tmergeBlocks( forward ) {\n\t\t\t\tconst { clientId } = ownProps;\n\t\t\t\tconst {\n\t\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\t\tgetNextBlockClientId,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tif ( forward ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\t\tclientId\n\t\t\t\t\t);\n\t\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInsertBlocks( blocks, index ) {\n\t\t\t\tinsertBlocks( blocks, index, ownProps.rootClientId );\n\t\t\t},\n\t\t\tonSelect( clientId = ownProps.clientId, initialPosition ) {\n\t\t\t\tselectBlock( clientId, initialPosition );\n\t\t\t},\n\t\t\tonChange: ( attributes ) => {\n\t\t\t\tupdateBlockAttributes( ownProps.clientId, attributes );\n\t\t\t},\n\t\t\tonReplace( blocks, indexToSelect ) {\n\t\t\t\treplaceBlocks( [ ownProps.clientId ], blocks, indexToSelect );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockListBlock );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"names":["emptyArray","BlockForType","attributes","clientId","contentStyle","getBlockWidth","insertBlocksAfter","isSelected","mergeBlocks","name","onBlockFocus","onChange","onDeleteBlock","onReplace","parentWidth","wrapperProps","blockWidth","baseGlobalStyles","defaultColors","fontSizes","globalStyle","mergedStyle","style","JSON","stringify","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","BlockListBlock","Component","constructor","arguments","bind","onFocus","state","props","marginHorizontal","anchorNodeRef","firstToSelectId","onSelect","blocks","onInsertBlocks","order","nativeEvent","layout","layoutWidth","Math","floor","width","setState","getBlockForType","renderBlockTitle","styles","blockTitle","render","blockType","icon","isValid","title","isDimmed","isTouchable","isStackedHorizontally","isParentSelected","getStylesFromColorScheme","marginVertical","isInnerBlockSelected","align","accessibilityLabel","isFullWidth","isContainerRelated","alignmentHelpers","accessible","screenWidth","Dimensions","get","isScreenWidthEqual","isScreenWidthWider","isFullWidthToolbar","flex","dimmed","solidBorder","borderFullWidth","containerBorderFullWidth","solidBorderColor","solidBorderColorDark","dashedBorder","dashedBorderColor","dashedBorderColorDark","neutralToolbar","current","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","set","select","getBlockIndex","getSettings","isBlockSelected","getBlock","getSelectedBlockClientId","getLowestCommonAncestorWithSelectedBlock","getBlockParents","hasSelectedInnerBlock","blockEditorStore","block","parents","parentId","selectedBlockClientId","commonAncestor","commonAncestorIndex","indexOf","length","selectedParents","isDescendantOfParentSelected","includes","__experimentalGlobalStylesBaseStyles","getEditWrapperProps","dispatch","ownProps","insertBlocks","replaceBlocks","selectBlock","updateBlockAttributes","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","index","rootClientId","initialPosition","indexToSelect","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback, Dimensions } from 'react-native';\nimport { pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef, useMemo } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\talignmentHelpers,\n\tuseGlobalStyles,\n} from '@wordpress/components';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n} from '@wordpress/blocks';\nimport { useSetting } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './block.scss';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockMobileToolbar from '../block-mobile-toolbar';\nimport { store as blockEditorStore } from '../../store';\n\nconst emptyArray = [];\nfunction BlockForType( {\n\tattributes,\n\tclientId,\n\tcontentStyle,\n\tgetBlockWidth,\n\tinsertBlocksAfter,\n\tisSelected,\n\tmergeBlocks,\n\tname,\n\tonBlockFocus,\n\tonChange,\n\tonDeleteBlock,\n\tonReplace,\n\tparentWidth,\n\twrapperProps,\n\tblockWidth,\n\tbaseGlobalStyles,\n} ) {\n\tconst defaultColors = useSetting( 'color.palette' ) || emptyArray;\n\tconst fontSizes = useSetting( 'typography.fontSizes' ) || emptyArray;\n\tconst globalStyle = useGlobalStyles();\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes\n\t\t);\n\t}, [\n\t\tdefaultColors,\n\t\tglobalStyle,\n\t\t// I couldn't simply use attributes and wrapperProps.styles as a dependency because they are almost always a new reference.\n\t\t// Thanks to the JSON.stringify we check if the value is the same instead of reference.\n\t\tJSON.stringify( wrapperProps.style ),\n\t\tJSON.stringify(\n\t\t\tpick( attributes, GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES )\n\t\t),\n\t] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t<BlockEdit\n\t\t\t\tname={ name }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ onChange }\n\t\t\t\tonFocus={ onBlockFocus }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmergeBlocks={ mergeBlocks }\n\t\t\t\t// Block level styles\n\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t// inherited styles merged with block level styles\n\t\t\t\tstyle={ mergedStyle }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t\t<View onLayout={ getBlockWidth } />\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nclass BlockListBlock extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.insertBlocksAfter = this.insertBlocksAfter.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.getBlockWidth = this.getBlockWidth.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth - 2 * this.props.marginHorizontal,\n\t\t};\n\n\t\tthis.anchorNodeRef = createRef();\n\t}\n\n\tonFocus() {\n\t\tconst { firstToSelectId, isSelected, onSelect } = this.props;\n\t\tif ( ! isSelected ) {\n\t\t\tonSelect( firstToSelectId );\n\t\t}\n\t}\n\n\tinsertBlocksAfter( blocks ) {\n\t\tthis.props.onInsertBlocks( blocks, this.props.order + 1 );\n\n\t\tif ( blocks[ 0 ] ) {\n\t\t\t// focus on the first block inserted\n\t\t\tthis.props.onSelect( blocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tgetBlockWidth( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\n\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( { blockWidth: layoutWidth } );\n\t\t}\n\t}\n\n\tgetBlockForType() {\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockForType\n\t\t\t\t{ ...this.props }\n\t\t\t\tonBlockFocus={ this.onFocus }\n\t\t\t\tinsertBlocksAfter={ this.insertBlocksAfter }\n\t\t\t\tgetBlockWidth={ this.getBlockWidth }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockTitle() {\n\t\treturn (\n\t\t\t<View style={ styles.blockTitle }>\n\t\t\t\t<Text>BlockType: { this.props.name }</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tclientId,\n\t\t\ticon,\n\t\t\tisSelected,\n\t\t\tisValid,\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tisDimmed,\n\t\t\tisTouchable,\n\t\t\tonDeleteBlock,\n\t\t\tisStackedHorizontally,\n\t\t\tisParentSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t\tisInnerBlockSelected,\n\t\t\tname,\n\t\t} = this.props;\n\n\t\tif ( ! attributes || ! blockType ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { blockWidth } = this.state;\n\t\tconst { align } = attributes;\n\t\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\t\tblockType,\n\t\t\tattributes,\n\t\t\torder + 1\n\t\t);\n\t\tconst { isFullWidth, isContainerRelated } = alignmentHelpers;\n\t\tconst accessible = ! ( isSelected || isInnerBlockSelected );\n\t\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\t\tconst isScreenWidthEqual = blockWidth === screenWidth;\n\t\tconst isScreenWidthWider = blockWidth < screenWidth;\n\t\tconst isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ this.onFocus }\n\t\t\t\taccessible={ accessible }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ { flex: 1 } }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tpointerEvents={ isTouchable ? 'auto' : 'box-only' }\n\t\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t{ marginVertical, marginHorizontal, flex: 1 },\n\t\t\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.solidBorder,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.borderFullWidth,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisContainerRelated( name ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.containerBorderFullWidth,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColorDark\n\t\t\t\t\t\t\t\t\t),\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\t{ isParentSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.dashedBorder,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColorDark\n\t\t\t\t\t\t\t\t\t),\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\t{ isValid ? (\n\t\t\t\t\t\t\tthis.getBlockForType()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<BlockInvalidWarning\n\t\t\t\t\t\t\t\tblockTitle={ title }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ styles.neutralToolbar }\n\t\t\t\t\t\t\tref={ this.anchorNodeRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t<BlockMobileToolbar\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tonDelete={ onDeleteBlock }\n\t\t\t\t\t\t\t\t\tisStackedHorizontally={\n\t\t\t\t\t\t\t\t\t\tisStackedHorizontally\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\t\t\tanchorNodeRef={ this.anchorNodeRef.current }\n\t\t\t\t\t\t\t\t\tisFullWidth={ isFullWidthToolbar }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\n// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference\nconst wrapperPropsCache = new WeakMap();\nconst emptyObj = {};\nfunction getWrapperProps( value, getWrapperPropsFunction ) {\n\tif ( ! getWrapperPropsFunction ) {\n\t\treturn emptyObj;\n\t}\n\tconst cachedValue = wrapperPropsCache.get( value );\n\tif ( ! cachedValue ) {\n\t\tconst wrapperProps = getWrapperPropsFunction( value );\n\t\twrapperPropsCache.set( value, wrapperProps );\n\t\treturn wrapperProps;\n\t}\n\treturn cachedValue;\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSettings,\n\t\t\tisBlockSelected,\n\t\t\tgetBlock,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetLowestCommonAncestorWithSelectedBlock,\n\t\t\tgetBlockParents,\n\t\t\thasSelectedInnerBlock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst order = getBlockIndex( clientId );\n\t\tconst isSelected = isBlockSelected( clientId );\n\t\tconst isInnerBlockSelected = hasSelectedInnerBlock( clientId );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name, attributes, isValid } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst icon = blockType?.icon;\n\n\t\tconst parents = getBlockParents( clientId, true );\n\t\tconst parentId = parents[ 0 ] || '';\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst commonAncestor = getLowestCommonAncestorWithSelectedBlock(\n\t\t\tclientId\n\t\t);\n\t\tconst commonAncestorIndex = parents.indexOf( commonAncestor ) - 1;\n\t\tconst firstToSelectId = commonAncestor\n\t\t\t? parents[ commonAncestorIndex ]\n\t\t\t: parents[ parents.length - 1 ];\n\n\t\tconst isParentSelected =\n\t\t\t// set false as a default value to prevent re-render when it's changed from null to false\n\t\t\t( selectedBlockClientId || false ) &&\n\t\t\tselectedBlockClientId === parentId;\n\n\t\tconst selectedParents = selectedBlockClientId\n\t\t\t? getBlockParents( selectedBlockClientId )\n\t\t\t: [];\n\t\tconst isDescendantOfParentSelected = selectedParents.includes(\n\t\t\tparentId\n\t\t);\n\t\tconst isTouchable =\n\t\t\tisSelected ||\n\t\t\tisDescendantOfParentSelected ||\n\t\t\tisParentSelected ||\n\t\t\tparentId === '';\n\t\tconst baseGlobalStyles = getSettings()\n\t\t\t?.__experimentalGlobalStylesBaseStyles;\n\n\t\treturn {\n\t\t\ticon,\n\t\t\tname: name || 'core/missing',\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tisSelected,\n\t\t\tisInnerBlockSelected,\n\t\t\tisValid,\n\t\t\tisParentSelected,\n\t\t\tfirstToSelectId,\n\t\t\tisTouchable,\n\t\t\tbaseGlobalStyles,\n\t\t\twrapperProps: getWrapperProps(\n\t\t\t\tattributes,\n\t\t\t\tblockType.getEditWrapperProps\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\tconst {\n\t\t\tinsertBlocks,\n\t\t\tmergeBlocks,\n\t\t\treplaceBlocks,\n\t\t\tselectBlock,\n\t\t\tupdateBlockAttributes,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tmergeBlocks( forward ) {\n\t\t\t\tconst { clientId } = ownProps;\n\t\t\t\tconst {\n\t\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\t\tgetNextBlockClientId,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tif ( forward ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\t\tclientId\n\t\t\t\t\t);\n\t\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInsertBlocks( blocks, index ) {\n\t\t\t\tinsertBlocks( blocks, index, ownProps.rootClientId );\n\t\t\t},\n\t\t\tonSelect( clientId = ownProps.clientId, initialPosition ) {\n\t\t\t\tselectBlock( clientId, initialPosition );\n\t\t\t},\n\t\t\tonChange: ( attributes ) => {\n\t\t\t\tupdateBlockAttributes( ownProps.clientId, attributes );\n\t\t\t},\n\t\t\tonReplace( blocks, indexToSelect ) {\n\t\t\t\treplaceBlocks( [ ownProps.clientId ], blocks, indexToSelect );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockListBlock );\n"]}
|
|
@@ -111,7 +111,6 @@ function useBlockProps() {
|
|
|
111
111
|
enableAnimation
|
|
112
112
|
} = (0, _data.useSelect)(select => {
|
|
113
113
|
const {
|
|
114
|
-
getBlockRootClientId,
|
|
115
114
|
getBlockIndex,
|
|
116
115
|
getBlockMode,
|
|
117
116
|
getBlockName,
|
|
@@ -125,10 +124,9 @@ function useBlockProps() {
|
|
|
125
124
|
const isSelected = isBlockSelected(clientId);
|
|
126
125
|
const isPartOfMultiSelection = isBlockMultiSelected(clientId) || isAncestorMultiSelected(clientId);
|
|
127
126
|
const blockName = getBlockName(clientId);
|
|
128
|
-
const rootClientId = getBlockRootClientId(clientId);
|
|
129
127
|
const blockType = (0, _blocks.getBlockType)(blockName);
|
|
130
128
|
return {
|
|
131
|
-
index: getBlockIndex(clientId
|
|
129
|
+
index: getBlockIndex(clientId),
|
|
132
130
|
mode: getBlockMode(clientId),
|
|
133
131
|
name: blockName,
|
|
134
132
|
blockApiVersion: (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) || 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockRootClientId","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","blockEditorStore","isSelected","isPartOfMultiSelection","blockName","rootClientId","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save","getBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId, rootClientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","blockEditorStore","isSelected","isPartOfMultiSelection","blockName","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save","getBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
|
|
@@ -127,7 +127,7 @@ function useInBetweenInserter() {
|
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
const index = getBlockIndex(clientId
|
|
130
|
+
const index = getBlockIndex(clientId); // Don't show the in-between inserter before the first block in
|
|
131
131
|
// the list (preserves the original behaviour).
|
|
132
132
|
|
|
133
133
|
if (index === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","hasReducedUI","select","blockEditorStore","getSettings","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","rect","getBoundingClientRect","offsetTop","clientY","top","offsetLeft","clientX","left","children","Array","from","element","find","blockEl","id","firstElementChild","parentOverlay","parentElement","clientId","slice","length","includes","elementRect","bottom","right","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","hasReducedUI","select","blockEditorStore","getSettings","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","rect","getBoundingClientRect","offsetTop","clientY","top","offsetLeft","clientX","left","children","Array","from","element","find","blockEl","id","firstElementChild","parentOverlay","parentElement","clientId","slice","length","includes","elementRect","bottom","right","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { InsertionPointOpenRef } from '../block-tools/insertion-point';\n\nexport function useInBetweenInserter() {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst hasReducedUI = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().hasReducedUI,\n\t\t[]\n\t);\n\tconst {\n\t\tgetBlockListSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tisBlockInsertionPointVisible,\n\t\tisMultiSelecting,\n\t\tgetSelectedBlockClientIds,\n\t\tgetTemplateLock,\n\t} = useSelect( blockEditorStore );\n\tconst { showInsertionPoint, hideInsertionPoint } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( hasReducedUI ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onMouseMove( event ) {\n\t\t\t\tif ( openRef.current ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains(\n\t\t\t\t\t\t'block-editor-block-list__layout'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet rootClientId;\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains( 'is-root-container' )\n\t\t\t\t) {\n\t\t\t\t\tconst blockElement = !! event.target.getAttribute(\n\t\t\t\t\t\t'data-block'\n\t\t\t\t\t)\n\t\t\t\t\t\t? event.target\n\t\t\t\t\t\t: event.target.closest( '[data-block]' );\n\t\t\t\t\trootClientId = blockElement.getAttribute( 'data-block' );\n\t\t\t\t}\n\n\t\t\t\t// Don't set the insertion point if the template is locked.\n\t\t\t\tif ( getTemplateLock( rootClientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst orientation =\n\t\t\t\t\tgetBlockListSettings( rootClientId )?.orientation ||\n\t\t\t\t\t'vertical';\n\t\t\t\tconst rect = event.target.getBoundingClientRect();\n\t\t\t\tconst offsetTop = event.clientY - rect.top;\n\t\t\t\tconst offsetLeft = event.clientX - rect.left;\n\n\t\t\t\tconst children = Array.from( event.target.children );\n\t\t\t\tlet element = children.find( ( blockEl ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'vertical' &&\n\t\t\t\t\t\t\tblockEl.offsetTop > offsetTop ) ||\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'horizontal' &&\n\t\t\t\t\t\t\tblockEl.offsetLeft > offsetLeft )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\tif ( ! element ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The block may be in an alignment wrapper, so check the first direct\n\t\t\t\t// child if the element has no ID.\n\t\t\t\tif ( ! element.id ) {\n\t\t\t\t\telement = element.firstElementChild;\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Don't show the insertion point if a parent block has an \"overlay\"\n\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337\n\t\t\t\tconst parentOverlay = element.parentElement?.closest(\n\t\t\t\t\t'.block-editor-block-content-overlay.overlay-active'\n\t\t\t\t);\n\t\t\t\tif ( parentOverlay ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst clientId = element.id.slice( 'block-'.length );\n\n\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the inserter when hovering above (conflicts with\n\t\t\t\t// block toolbar) or inside selected block(s).\n\t\t\t\tif ( getSelectedBlockClientIds().includes( clientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst elementRect = element.getBoundingClientRect();\n\n\t\t\t\tif (\n\t\t\t\t\t( orientation === 'horizontal' &&\n\t\t\t\t\t\t( event.clientY > elementRect.bottom ||\n\t\t\t\t\t\t\tevent.clientY < elementRect.top ) ) ||\n\t\t\t\t\t( orientation === 'vertical' &&\n\t\t\t\t\t\t( event.clientX > elementRect.right ||\n\t\t\t\t\t\t\tevent.clientX < elementRect.left ) )\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst index = getBlockIndex( clientId );\n\n\t\t\t\t// Don't show the in-between inserter before the first block in\n\t\t\t\t// the list (preserves the original behaviour).\n\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tshowInsertionPoint( rootClientId, index, {\n\t\t\t\t\t__unstableWithInserter: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousemove', onMouseMove );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\topenRef,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockIndex,\n\t\t\tisBlockInsertionPointVisible,\n\t\t\tisMultiSelecting,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tgetSelectedBlockClientIds,\n\t\t]\n\t);\n}\n"]}
|
|
@@ -284,8 +284,8 @@ var _default = (0, _compose.compose)((0, _data.withSelect)((select, _ref2) => {
|
|
|
284
284
|
const firstClientId = (0, _lodash.first)(normalizedClientIds);
|
|
285
285
|
const rootClientId = getBlockRootClientId(firstClientId);
|
|
286
286
|
const blockOrder = getBlockOrder(rootClientId);
|
|
287
|
-
const firstIndex = getBlockIndex(firstClientId
|
|
288
|
-
const lastIndex = getBlockIndex((0, _lodash.last)(normalizedClientIds)
|
|
287
|
+
const firstIndex = getBlockIndex(firstClientId);
|
|
288
|
+
const lastIndex = getBlockIndex((0, _lodash.last)(normalizedClientIds));
|
|
289
289
|
const innerBlocks = getBlocksByClientId(clientIds);
|
|
290
290
|
const canDuplicate = (0, _lodash.every)(innerBlocks, innerBlock => {
|
|
291
291
|
return !!innerBlock && (0, _blocks.hasBlockSupport)(innerBlock.name, 'multiple', true) && canInsertBlockType(innerBlock.name, rootClientId);
|