@wordpress/block-editor
Version:
8 lines (7 loc) • 3.77 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/inspector-controls/block-support-tools-panel.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { useToolsPanelDropdownMenuProps } from '../global-styles/utils';\n\nexport default function BlockSupportToolsPanel( { children, group, label } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetMultiSelectedBlockClientIds,\n\t\tgetSelectedBlockClientId,\n\t\thasMultiSelection,\n\t} = useSelect( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst panelId = getSelectedBlockClientId();\n\tconst resetAll = useCallback(\n\t\t( resetFilters = [] ) => {\n\t\t\tconst newAttributes = {};\n\n\t\t\tconst clientIds = hasMultiSelection()\n\t\t\t\t? getMultiSelectedBlockClientIds()\n\t\t\t\t: [ panelId ];\n\n\t\t\tclientIds.forEach( ( clientId ) => {\n\t\t\t\tconst { style } = getBlockAttributes( clientId );\n\t\t\t\tlet newBlockAttributes = { style };\n\n\t\t\t\tresetFilters.forEach( ( resetFilter ) => {\n\t\t\t\t\tnewBlockAttributes = {\n\t\t\t\t\t\t...newBlockAttributes,\n\t\t\t\t\t\t...resetFilter( newBlockAttributes ),\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\t// Enforce a cleaned style object.\n\t\t\t\tnewBlockAttributes = {\n\t\t\t\t\t...newBlockAttributes,\n\t\t\t\t\tstyle: cleanEmptyObject( newBlockAttributes.style ),\n\t\t\t\t};\n\n\t\t\t\tnewAttributes[ clientId ] = newBlockAttributes;\n\t\t\t} );\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes, true );\n\t\t},\n\t\t[\n\t\t\tgetBlockAttributes,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\tpanelId,\n\t\t\tupdateBlockAttributes,\n\t\t]\n\t);\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tclassName={ `${ group }-block-support-panel` }\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tkey={ panelId }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tshouldRenderPlaceholderItems // Required to maintain fills ordering.\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuD;AACvD,kBAAuC;AACvC,qBAA4B;AAK5B,mBAA0C;AAC1C,mBAAiC;AACjC,IAAAA,gBAA+C;AAoD7C;AAlDa,SAAR,uBAAyC,EAAE,UAAU,OAAO,MAAM,GAAI;AAC5E,QAAM,EAAE,sBAAsB,QAAI,yBAAa,aAAAC,KAAiB;AAChE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,uBAAW,aAAAA,KAAiB;AAChC,QAAM,wBAAoB,8CAA+B;AACzD,QAAM,UAAU,yBAAyB;AACzC,QAAM,eAAW;AAAA,IAChB,CAAE,eAAe,CAAC,MAAO;AACxB,YAAM,gBAAgB,CAAC;AAEvB,YAAM,YAAY,kBAAkB,IACjC,+BAA+B,IAC/B,CAAE,OAAQ;AAEb,gBAAU,QAAS,CAAE,aAAc;AAClC,cAAM,EAAE,MAAM,IAAI,mBAAoB,QAAS;AAC/C,YAAI,qBAAqB,EAAE,MAAM;AAEjC,qBAAa,QAAS,CAAE,gBAAiB;AACxC,+BAAqB;AAAA,YACpB,GAAG;AAAA,YACH,GAAG,YAAa,kBAAmB;AAAA,UACpC;AAAA,QACD,CAAE;AAGF,6BAAqB;AAAA,UACpB,GAAG;AAAA,UACH,WAAO,+BAAkB,mBAAmB,KAAM;AAAA,QACnD;AAEA,sBAAe,QAAS,IAAI;AAAA,MAC7B,CAAE;AAEF,4BAAuB,WAAW,eAAe,IAAK;AAAA,IACvD;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,WAAY,GAAI,KAAM;AAAA,MACtB;AAAA,MACA;AAAA,MAEA;AAAA,MACA,iBAAe;AAAA,MACf,8BAA4B;AAAA,MAC5B,qCAAoC;AAAA,MACpC,oCAAmC;AAAA,MACnC;AAAA,MAEE;AAAA;AAAA,IARI;AAAA,EASP;AAEF;",
"names": ["import_utils", "blockEditorStore", "ToolsPanel"]
}