@wordpress/block-editor
Version:
8 lines (7 loc) • 3.73 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/block-vertical-alignment-control/ui.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { ToolbarGroup, ToolbarDropdownMenu } from '@wordpress/components';\nimport {\n\tjustifyTop,\n\tjustifyCenterVertical,\n\tjustifyBottom,\n\tjustifyStretchVertical,\n\tjustifySpaceBetweenVertical,\n} from '@wordpress/icons';\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\ttop: {\n\t\ticon: justifyTop,\n\t\ttitle: _x( 'Align top', 'Block vertical alignment setting' ),\n\t},\n\tcenter: {\n\t\ticon: justifyCenterVertical,\n\t\ttitle: _x( 'Align middle', 'Block vertical alignment setting' ),\n\t},\n\tbottom: {\n\t\ticon: justifyBottom,\n\t\ttitle: _x( 'Align bottom', 'Block vertical alignment setting' ),\n\t},\n\tstretch: {\n\t\ticon: justifyStretchVertical,\n\t\ttitle: _x( 'Stretch to fill', 'Block vertical alignment setting' ),\n\t},\n\t'space-between': {\n\t\ticon: justifySpaceBetweenVertical,\n\t\ttitle: _x( 'Space between', 'Block vertical alignment setting' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'top', 'center', 'bottom' ];\nconst DEFAULT_CONTROL = 'top';\n\nfunction BlockVerticalAlignmentUI( {\n\tvalue,\n\tonChange,\n\tcontrols = DEFAULT_CONTROLS,\n\tisCollapsed = true,\n\tisToolbar,\n} ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl =\n\t\tBLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst extraProps = isToolbar ? { isCollapsed } : {};\n\n\treturn (\n\t\t<UIComponent\n\t\t\ticon={\n\t\t\t\tactiveAlignment\n\t\t\t\t\t? activeAlignment.icon\n\t\t\t\t\t: defaultAlignmentControl.icon\n\t\t\t}\n\t\t\tlabel={ _x(\n\t\t\t\t'Change vertical alignment',\n\t\t\t\t'Block vertical alignment setting label'\n\t\t\t) }\n\t\t\tcontrols={ controls.map( ( control ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\tisActive: value === control,\n\t\t\t\t\trole: isCollapsed ? 'menuitemradio' : undefined,\n\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t};\n\t\t\t} ) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-vertical-alignment-toolbar/README.md\n */\nexport default BlockVerticalAlignmentUI;\n"],
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,cAAc,2BAA2B;AAClD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AA+CL;AA7CF,IAAM,4BAA4B;AAAA,EACjC,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO,GAAI,aAAa,kCAAmC;AAAA,EAC5D;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,OAAO,GAAI,gBAAgB,kCAAmC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,OAAO,GAAI,gBAAgB,kCAAmC;AAAA,EAC/D;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,OAAO,GAAI,mBAAmB,kCAAmC;AAAA,EAClE;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO,GAAI,iBAAiB,kCAAmC;AAAA,EAChE;AACD;AAEA,IAAM,mBAAmB,CAAE,OAAO,UAAU,QAAS;AACrD,IAAM,kBAAkB;AAExB,SAAS,yBAA0B;AAAA,EAClC;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;AACD,GAAI;AACH,WAAS,aAAc,OAAQ;AAC9B,WAAO,MAAM,SAAU,UAAU,QAAQ,SAAY,KAAM;AAAA,EAC5D;AAEA,QAAM,kBAAkB,0BAA2B,KAAM;AACzD,QAAM,0BACL,0BAA2B,eAAgB;AAE5C,QAAM,cAAc,YAAY,eAAe;AAC/C,QAAM,aAAa,YAAY,EAAE,YAAY,IAAI,CAAC;AAElD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MACC,kBACG,gBAAgB,OAChB,wBAAwB;AAAA,MAE5B,OAAQ;AAAA,QACP;AAAA,QACA;AAAA,MACD;AAAA,MACA,UAAW,SAAS,IAAK,CAAE,YAAa;AACvC,eAAO;AAAA,UACN,GAAG,0BAA2B,OAAQ;AAAA,UACtC,UAAU,UAAU;AAAA,UACpB,MAAM,cAAc,kBAAkB;AAAA,UACtC,SAAS,aAAc,OAAQ;AAAA,QAChC;AAAA,MACD,CAAE;AAAA,MACA,GAAG;AAAA;AAAA,EACN;AAEF;AAKA,IAAO,aAAQ;",
"names": []
}