@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 3.51 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/gallery/utils.js"],
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA_WP_CORE,\n\tLINK_DESTINATION_ATTACHMENT_WP_CORE,\n\tLINK_DESTINATION_LIGHTBOX,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as IMAGE_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as IMAGE_LINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE as IMAGE_LINK_DESTINATION_NONE,\n} from '../image/constants';\n\n/**\n * Determines new href and linkDestination values for an Image block from the\n * supplied Gallery link destination, or falls back to the Image blocks link.\n *\n * @param {Object} image Gallery image.\n * @param {string} galleryDestination Gallery's selected link destination.\n * @param {Object} imageDestination Image block link destination attribute.\n * @param {Object} attributes Block attributes.\n * @param {Object} lightboxSetting Lightbox setting.\n *\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination(\n\timage,\n\tgalleryDestination,\n\timageDestination,\n\tattributes,\n\tlightboxSetting\n) {\n\t// Gutenberg and WordPress use different constants so if image_default_link_type\n\t// option is set we need to map from the WP Core values.\n\tswitch ( imageDestination ? imageDestination : galleryDestination ) {\n\t\tcase LINK_DESTINATION_MEDIA_WP_CORE:\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_MEDIA,\n\t\t\t\tlightbox: lightboxSetting?.enabled\n\t\t\t\t\t? { ...attributes?.lightbox, enabled: false }\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT_WP_CORE:\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_ATTACHMENT,\n\t\t\t\tlightbox: lightboxSetting?.enabled\n\t\t\t\t\t? { ...attributes?.lightbox, enabled: false }\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\tcase LINK_DESTINATION_LIGHTBOX:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlightbox: ! lightboxSetting?.enabled\n\t\t\t\t\t? { ...attributes?.lightbox, enabled: true }\n\t\t\t\t\t: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t\tlightbox: undefined,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAOO;AACP,IAAAA,oBAIO;AAcA,SAAS,sBACf,OACA,oBACA,kBACA,YACA,iBACC;AAGD,UAAS,mBAAmB,mBAAmB,oBAAqB;AAAA,IACnE,KAAK;AAAA,IACL,KAAK;AACJ,aAAO;AAAA,QACN,MAAM,OAAO,cAAc,OAAO;AAAA,QAClC,iBAAiB,kBAAAC;AAAA,QACjB,UAAU,iBAAiB,UACxB,EAAE,GAAG,YAAY,UAAU,SAAS,MAAM,IAC1C;AAAA,MACJ;AAAA,IACD,KAAK;AAAA,IACL,KAAK;AACJ,aAAO;AAAA,QACN,MAAM,OAAO;AAAA,QACb,iBAAiB,kBAAAC;AAAA,QACjB,UAAU,iBAAiB,UACxB,EAAE,GAAG,YAAY,UAAU,SAAS,MAAM,IAC1C;AAAA,MACJ;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAE,iBAAiB,UAC1B,EAAE,GAAG,YAAY,UAAU,SAAS,KAAK,IACzC;AAAA,QACH,iBAAiB,kBAAAC;AAAA,MAClB;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN,MAAM;AAAA,QACN,iBAAiB,kBAAAA;AAAA,QACjB,UAAU;AAAA,MACX;AAAA,EACF;AAEA,SAAO,CAAC;AACT;",
"names": ["import_constants", "IMAGE_LINK_DESTINATION_MEDIA", "IMAGE_LINK_DESTINATION_ATTACHMENT", "IMAGE_LINK_DESTINATION_NONE"]
}