UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 2.93 kB
{ "version": 3, "sources": ["../../src/tab/controls.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, TextControl, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from './add-tab-toolbar-control';\nimport RemoveTabToolbarControl from './remove-tab-toolbar-control';\nimport slugFromLabel from './slug-from-label';\n\nexport default function Controls( {\n\tattributes,\n\tsetAttributes,\n\ttabsClientId,\n\tblockIndex,\n\tisDefaultTab,\n} ) {\n\tconst { label } = attributes;\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<>\n\t\t\t<AddTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<RemoveTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Tab Label' ) }\n\t\t\t\t\t\tvalue={ decodeEntities( label ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlabel: value,\n\t\t\t\t\t\t\t\tanchor: slugFromLabel( value, blockIndex ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Default Tab' ) }\n\t\t\t\t\t\tchecked={ isDefaultTab }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\t\t\t\t\tactiveTabIndex: value ? blockIndex : 0,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'If toggled, this tab will be selected when the page loads.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"], "mappings": ";AAGA;AAAA,EACC;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,WAAW,aAAa,qBAAqB;AACtD,SAAS,UAAU;AACnB,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAK/B,OAAO,0BAA0B;AACjC,OAAO,6BAA6B;AACpC,OAAO,mBAAmB;AAcxB,mBACC,KAGC,YAJF;AAZa,SAAR,SAA2B;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,MAAM,IAAI;AAElB,QAAM,EAAE,sBAAsB,IAAI,YAAa,gBAAiB;AAEhE,SACC,iCACC;AAAA,wBAAC,wBAAqB,cAA8B;AAAA,IACpD,oBAAC,2BAAwB,cAA8B;AAAA,IACvD,oBAAC,qBACA,+BAAC,aAAU,OAAQ,GAAI,UAAW,GACjC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ,GAAI,WAAY;AAAA,UACxB,OAAQ,eAAgB,KAAM;AAAA,UAC9B,UAAW,CAAE,UAAW;AACvB,0BAAe;AAAA,cACd,OAAO;AAAA,cACP,QAAQ,cAAe,OAAO,UAAW;AAAA,YAC1C,CAAE;AAAA,UACH;AAAA,UACA,uBAAqB;AAAA;AAAA,MACtB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ,GAAI,aAAc;AAAA,UAC1B,SAAU;AAAA,UACV,UAAW,CAAE,UAAW;AACvB,kCAAuB,cAAc;AAAA,cACpC,gBAAgB,QAAQ,aAAa;AAAA,YACtC,CAAE;AAAA,UACH;AAAA,UACA,MAAO;AAAA,YACN;AAAA,UACD;AAAA;AAAA,MACD;AAAA,OACD,GACD;AAAA,KACD;AAEF;", "names": [] }