UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 3.02 kB
{ "version": 3, "sources": ["../../src/playlist/utils.js"], "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nfunction getMediaUrl( media ) {\n\treturn media?.url ?? media?.source_url;\n}\n\nfunction getMediaTitle( media ) {\n\tconst title = media?.title;\n\n\tif ( title === undefined ) {\n\t\treturn undefined;\n\t}\n\n\tif ( typeof title === 'string' ) {\n\t\treturn title;\n\t}\n\n\treturn decodeEntities( title?.raw || title?.rendered || '' );\n}\n\n/**\n * Transform media library image data into track image attributes.\n *\n * @param {Object} image - Image object from the media library.\n * @return {Object} Track image attributes for the playlist-track block.\n */\nexport function getTrackImageAttributes( image ) {\n\tconst imageSrc = image?.src ?? getMediaUrl( image );\n\n\t// Prevent using the default media attachment icon as the track image.\n\tif ( imageSrc?.endsWith( '/images/media/audio.svg' ) ) {\n\t\treturn {\n\t\t\timage: '',\n\t\t\timageAlt: '',\n\t\t};\n\t}\n\n\treturn {\n\t\t// Note: Image is not available when a new track is uploaded.\n\t\timage: imageSrc,\n\t\timageAlt: imageSrc ? image?.alt || image?.alt_text || '' : undefined,\n\t};\n}\n\n/**\n * Transform media library data into track block attributes.\n *\n * @param {Object} media - Media object from the media library.\n * @return {Object} Track attributes for the playlist-track block.\n */\nexport function getTrackAttributes( media ) {\n\tconst mediaUrl = getMediaUrl( media );\n\n\treturn {\n\t\tid: media.id || mediaUrl, // Attachment ID or URL.\n\t\tsrc: mediaUrl,\n\t\ttitle: getMediaTitle( media ),\n\t\tartist:\n\t\t\tmedia.artist ||\n\t\t\tmedia?.meta?.artist ||\n\t\t\tmedia?.media_details?.artist ||\n\t\t\t__( 'Unknown artist' ),\n\t\talbum:\n\t\t\tmedia.album ||\n\t\t\tmedia?.meta?.album ||\n\t\t\tmedia?.media_details?.album ||\n\t\t\t__( 'Unknown album' ),\n\t\tlength: media?.fileLength || media?.media_details?.length_formatted,\n\t\t...getTrackImageAttributes( media?.image ),\n\t};\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,2BAA+B;AAE/B,SAAS,YAAa,OAAQ;AAC7B,SAAO,OAAO,OAAO,OAAO;AAC7B;AAEA,SAAS,cAAe,OAAQ;AAC/B,QAAM,QAAQ,OAAO;AAErB,MAAK,UAAU,QAAY;AAC1B,WAAO;AAAA,EACR;AAEA,MAAK,OAAO,UAAU,UAAW;AAChC,WAAO;AAAA,EACR;AAEA,aAAO,qCAAgB,OAAO,OAAO,OAAO,YAAY,EAAG;AAC5D;AAQO,SAAS,wBAAyB,OAAQ;AAChD,QAAM,WAAW,OAAO,OAAO,YAAa,KAAM;AAGlD,MAAK,UAAU,SAAU,yBAA0B,GAAI;AACtD,WAAO;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IACX;AAAA,EACD;AAEA,SAAO;AAAA;AAAA,IAEN,OAAO;AAAA,IACP,UAAU,WAAW,OAAO,OAAO,OAAO,YAAY,KAAK;AAAA,EAC5D;AACD;AAQO,SAAS,mBAAoB,OAAQ;AAC3C,QAAM,WAAW,YAAa,KAAM;AAEpC,SAAO;AAAA,IACN,IAAI,MAAM,MAAM;AAAA;AAAA,IAChB,KAAK;AAAA,IACL,OAAO,cAAe,KAAM;AAAA,IAC5B,QACC,MAAM,UACN,OAAO,MAAM,UACb,OAAO,eAAe,cACtB,gBAAI,gBAAiB;AAAA,IACtB,OACC,MAAM,SACN,OAAO,MAAM,SACb,OAAO,eAAe,aACtB,gBAAI,eAAgB;AAAA,IACrB,QAAQ,OAAO,cAAc,OAAO,eAAe;AAAA,IACnD,GAAG,wBAAyB,OAAO,KAAM;AAAA,EAC1C;AACD;", "names": [] }