@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 2.01 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/navigation/edit/use-inner-blocks.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nconst EMPTY_ARRAY = [];\n\nexport function useInnerBlocks( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t!! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: _hasUncontrolledInnerBlocks\n\t\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t\t: _controlledInnerBlocks,\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tcontrolledInnerBlocks: _controlledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,0BAA0C;AAE1C,IAAM,cAAc,CAAC;AAEd,SAAS,eAAgB,UAAW;AAC1C,aAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,WAAW,sBAAsB,IAClD,OAAQ,oBAAAA,KAAiB;AAM1B,YAAM,2BAA2B,SAAU,QAAS,EAAE;AAEtD,YAAM,8BACL,CAAC,CAAE,0BAA0B;AAC9B,YAAM,yBAAyB,8BAC5B,cACA,UAAW,QAAS;AAEvB,aAAO;AAAA,QACN,aAAa,8BACV,2BACA;AAAA,QACH,4BAA4B;AAAA,QAC5B,yBAAyB;AAAA,QACzB,uBAAuB;AAAA,QACvB,sBAAsB,sBAAuB,UAAU,IAAK;AAAA,MAC7D;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACD;",
"names": ["blockEditorStore"]
}