UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 4.54 kB
{ "version": 3, "sources": ["../../src/table/save.js"], "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\tif ( isEmpty ) {\n\t\treturn null;\n\t}\n\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\tconst classes = clsx( colorProps.className, borderProps.className, {\n\t\t'has-fixed-layout': hasFixedLayout,\n\t} );\n\n\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\tconst Section = ( { type, rows } ) => {\n\t\tif ( ! rows.length ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst Tag = `t${ type }`;\n\n\t\treturn (\n\t\t\t<Tag>\n\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst cellClasses = clsx( {\n\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t) ) }\n\t\t\t</Tag>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t<table\n\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t\t{ hasCaption && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,0BAMO;AA+CE;AA7CM,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM,EAAE,gBAAgB,MAAM,MAAM,MAAM,QAAQ,IAAI;AACtD,QAAM,UAAU,CAAE,KAAK,UAAU,CAAE,KAAK,UAAU,CAAE,KAAK;AAEzD,MAAK,SAAU;AACd,WAAO;AAAA,EACR;AAEA,QAAM,iBAAa,oBAAAA,wCAA0B,UAAW;AACxD,QAAM,kBAAc,oBAAAC,yCAA2B,UAAW;AAE1D,QAAM,cAAU,YAAAC,SAAM,WAAW,WAAW,YAAY,WAAW;AAAA,IAClE,oBAAoB;AAAA,EACrB,CAAE;AAEF,QAAM,aAAa,CAAE,6BAAS,QAAS,OAAQ;AAE/C,QAAM,UAAU,CAAE,EAAE,MAAM,KAAK,MAAO;AACrC,QAAK,CAAE,KAAK,QAAS;AACpB,aAAO;AAAA,IACR;AAEA,UAAM,MAAM,IAAK,IAAK;AAEtB,WACC,4CAAC,OACE,eAAK,IAAK,CAAE,EAAE,MAAM,GAAG,aACxB,4CAAC,QACE,gBAAM;AAAA,MACP,CACC;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,GACA,cACI;AACJ,cAAM,kBAAc,YAAAA,SAAM;AAAA,UACzB,CAAE,kBAAmB,KAAM,EAAG,GAAG;AAAA,QAClC,CAAE;AAEF,eACC;AAAA,UAAC,6BAAS;AAAA,UAAT;AAAA,YACA,WACC,cACG,cACA;AAAA,YAEJ,cAAa;AAAA,YACb,SAAU;AAAA,YACV,OAAQ;AAAA,YAER,OACC,QAAQ,OAAO,QAAQ;AAAA,YAExB,SAAU;AAAA,YACV,SAAU;AAAA;AAAA,UALJ;AAAA,QAMP;AAAA,MAEF;AAAA,IACD,KApCS,QAqCV,CACC,GACH;AAAA,EAEF;AAEA,SACC,6CAAC,YAAS,GAAG,kCAAc,KAAK,GAC/B;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAY,YAAY,KAAK,SAAY;AAAA,QACzC,OAAQ,EAAE,GAAG,WAAW,OAAO,GAAG,YAAY,MAAM;AAAA,QAEpD;AAAA,sDAAC,WAAQ,MAAK,QAAO,MAAO,MAAO;AAAA,UACnC,4CAAC,WAAQ,MAAK,QAAO,MAAO,MAAO;AAAA,UACnC,4CAAC,WAAQ,MAAK,QAAO,MAAO,MAAO;AAAA;AAAA;AAAA,IACpC;AAAA,IACE,cACD;AAAA,MAAC,6BAAS;AAAA,MAAT;AAAA,QACA,SAAQ;AAAA,QACR,OAAQ;AAAA,QACR,eAAY,uDAAmC,SAAU;AAAA;AAAA,IAC1D;AAAA,KAEF;AAEF;", "names": ["getColorClassesAndStyles", "getBorderClassesAndStyles", "clsx"] }