UNPKG

@wordpress/block-editor

Version:
8 lines (7 loc) 3.36 kB
{ "version": 3, "sources": ["../../../../src/components/spacing-sizes-control/input-controls/axial.js"], "sourcesContent": ["/**\n * Internal dependencies\n */\nimport SpacingInputControl from './spacing-input-control';\nimport {\n\tLABELS,\n\tICONS,\n\tgetPresetValueFromCustomValue,\n\thasAxisSupport,\n} from '../utils';\n\nconst groupedSides = [ 'vertical', 'horizontal' ];\n\nexport default function AxialInputControls( {\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tsides,\n\tspacingSizes,\n\ttype,\n\tvalues,\n} ) {\n\tconst createHandleOnChange = ( side ) => ( next ) => {\n\t\tif ( ! onChange ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Encode the existing value into the preset value if the passed in value matches the value of one of the spacingSizes.\n\t\tconst nextValues = {\n\t\t\t...Object.keys( values ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getPresetValueFromCustomValue(\n\t\t\t\t\tvalues[ key ],\n\t\t\t\t\tspacingSizes\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} ),\n\t\t};\n\n\t\tif ( side === 'vertical' ) {\n\t\t\tnextValues.top = next;\n\t\t\tnextValues.bottom = next;\n\t\t}\n\n\t\tif ( side === 'horizontal' ) {\n\t\t\tnextValues.left = next;\n\t\t\tnextValues.right = next;\n\t\t}\n\n\t\tonChange( nextValues );\n\t};\n\n\t// Filter sides if custom configuration provided, maintaining default order.\n\tconst filteredSides = sides?.length\n\t\t? groupedSides.filter( ( side ) => hasAxisSupport( sides, side ) )\n\t\t: groupedSides;\n\n\treturn (\n\t\t<>\n\t\t\t{ filteredSides.map( ( side ) => {\n\t\t\t\tconst axisValue =\n\t\t\t\t\tside === 'vertical' ? values.top : values.left;\n\t\t\t\treturn (\n\t\t\t\t\t<SpacingInputControl\n\t\t\t\t\t\tkey={ `spacing-sizes-control-${ side }` }\n\t\t\t\t\t\ticon={ ICONS[ side ] }\n\t\t\t\t\t\tlabel={ LABELS[ side ] }\n\t\t\t\t\t\tminimumCustomValue={ minimumCustomValue }\n\t\t\t\t\t\tonChange={ createHandleOnChange( side ) }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tside={ side }\n\t\t\t\t\t\tspacingSizes={ spacingSizes }\n\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\tvalue={ axisValue }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mCAAgC;AAChC,mBAKO;AAiDL;AA/CF,IAAM,eAAe,CAAE,YAAY,YAAa;AAEjC,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,uBAAuB,CAAE,SAAU,CAAE,SAAU;AACpD,QAAK,CAAE,UAAW;AACjB;AAAA,IACD;AAGA,UAAM,aAAa;AAAA,MAClB,GAAG,OAAO,KAAM,MAAO,EAAE,OAAQ,CAAE,KAAK,QAAS;AAChD,YAAK,GAAI,QAAI;AAAA,UACZ,OAAQ,GAAI;AAAA,UACZ;AAAA,QACD;AACA,eAAO;AAAA,MACR,GAAG,CAAC,CAAE;AAAA,IACP;AAEA,QAAK,SAAS,YAAa;AAC1B,iBAAW,MAAM;AACjB,iBAAW,SAAS;AAAA,IACrB;AAEA,QAAK,SAAS,cAAe;AAC5B,iBAAW,OAAO;AAClB,iBAAW,QAAQ;AAAA,IACpB;AAEA,aAAU,UAAW;AAAA,EACtB;AAGA,QAAM,gBAAgB,OAAO,SAC1B,aAAa,OAAQ,CAAE,aAAU,6BAAgB,OAAO,IAAK,CAAE,IAC/D;AAEH,SACC,2EACG,wBAAc,IAAK,CAAE,SAAU;AAChC,UAAM,YACL,SAAS,aAAa,OAAO,MAAM,OAAO;AAC3C,WACC;AAAA,MAAC,6BAAAA;AAAA,MAAA;AAAA,QAEA,MAAO,mBAAO,IAAK;AAAA,QACnB,OAAQ,oBAAQ,IAAK;AAAA,QACrB;AAAA,QACA,UAAW,qBAAsB,IAAK;AAAA,QACtC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAQ;AAAA,QACR,gBAAiB;AAAA;AAAA,MAXX,yBAA0B,IAAK;AAAA,IAYtC;AAAA,EAEF,CAAE,GACH;AAEF;", "names": ["SpacingInputControl"] }