@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 3.27 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/query/view.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst isValidLink = ( ref ) =>\n\tref &&\n\tref instanceof window.HTMLAnchorElement &&\n\tref.href &&\n\t( ! ref.target || ref.target === '_self' ) &&\n\tref.origin === window.location.origin;\n\nconst isValidEvent = ( event ) =>\n\tevent.button === 0 && // Left clicks only.\n\t! event.metaKey && // Open in new tab (Mac).\n\t! event.ctrlKey && // Open in new tab (Windows).\n\t! event.altKey && // Download.\n\t! event.shiftKey &&\n\t! event.defaultPrevented;\n\nstore(\n\t'core/query',\n\t{\n\t\tactions: {\n\t\t\tnavigate: withSyncEvent( function* ( event ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tconst queryRef = ref.closest(\n\t\t\t\t\t'.wp-block-query[data-wp-router-region]'\n\t\t\t\t);\n\n\t\t\t\tif ( isValidLink( ref ) && isValidEvent( event ) ) {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tconst { actions } = yield import(\n\t\t\t\t\t\t'@wordpress/interactivity-router'\n\t\t\t\t\t);\n\t\t\t\t\tyield actions.navigate( ref.href );\n\t\t\t\t\tctx.url = ref.href;\n\n\t\t\t\t\t// Focus the first anchor of the Query block.\n\t\t\t\t\tconst firstAnchor = `.wp-block-post-template a[href]`;\n\t\t\t\t\tqueryRef.querySelector( firstAnchor )?.focus();\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t*prefetch() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( isValidLink( ref ) ) {\n\t\t\t\t\tconst { actions } = yield import(\n\t\t\t\t\t\t'@wordpress/interactivity-router'\n\t\t\t\t\t);\n\t\t\t\t\tyield actions.prefetch( ref.href );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\t*prefetch() {\n\t\t\t\tconst { url } = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( url && isValidLink( ref ) ) {\n\t\t\t\t\tconst { actions } = yield import(\n\t\t\t\t\t\t'@wordpress/interactivity-router'\n\t\t\t\t\t);\n\t\t\t\t\tyield actions.prefetch( ref.href );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,IAAM,cAAc,CAAE,QACrB,OACA,eAAe,OAAO,qBACtB,IAAI,SACF,CAAE,IAAI,UAAU,IAAI,WAAW,YACjC,IAAI,WAAW,OAAO,SAAS;AAEhC,IAAM,eAAe,CAAE,UACtB,MAAM,WAAW;AACjB,CAAE,MAAM;AACR,CAAE,MAAM;AACR,CAAE,MAAM;AACR,CAAE,MAAM,YACR,CAAE,MAAM;AAET;AAAA,EACC;AAAA,EACA;AAAA,IACC,SAAS;AAAA,MACR,UAAU,cAAe,WAAY,OAAQ;AAC5C,cAAM,MAAM,WAAW;AACvB,cAAM,EAAE,IAAI,IAAI,WAAW;AAC3B,cAAM,WAAW,IAAI;AAAA,UACpB;AAAA,QACD;AAEA,YAAK,YAAa,GAAI,KAAK,aAAc,KAAM,GAAI;AAClD,gBAAM,eAAe;AAErB,gBAAM,EAAE,QAAQ,IAAI,MAAM,OACzB,iCACD;AACA,gBAAM,QAAQ,SAAU,IAAI,IAAK;AACjC,cAAI,MAAM,IAAI;AAGd,gBAAM,cAAc;AACpB,mBAAS,cAAe,WAAY,GAAG,MAAM;AAAA,QAC9C;AAAA,MACD,CAAE;AAAA,MACF,CAAC,WAAW;AACX,cAAM,EAAE,IAAI,IAAI,WAAW;AAC3B,YAAK,YAAa,GAAI,GAAI;AACzB,gBAAM,EAAE,QAAQ,IAAI,MAAM,OACzB,iCACD;AACA,gBAAM,QAAQ,SAAU,IAAI,IAAK;AAAA,QAClC;AAAA,MACD;AAAA,IACD;AAAA,IACA,WAAW;AAAA,MACV,CAAC,WAAW;AACX,cAAM,EAAE,IAAI,IAAI,WAAW;AAC3B,cAAM,EAAE,IAAI,IAAI,WAAW;AAC3B,YAAK,OAAO,YAAa,GAAI,GAAI;AAChC,gBAAM,EAAE,QAAQ,IAAI,MAAM,OACzB,iCACD;AACA,gBAAM,QAAQ,SAAU,IAAI,IAAK;AAAA,QAClC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,EAAE,MAAM,KAAK;AACd;",
"names": []
}