2024-01-31 07:59:56 -05:00
/******/ ( ( ) => { // webpackBootstrap
2023-06-27 10:24:19 -04:00
/******/ "use strict" ;
/******/ // The require scope
/******/ var _ _webpack _require _ _ = { } ;
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
2024-01-31 07:59:56 -05:00
/******/ ( ( ) => {
2023-06-27 10:24:19 -04:00
/******/ // define getter functions for harmony exports
2024-01-31 07:59:56 -05:00
/******/ _ _webpack _require _ _ . d = ( exports , definition ) => {
2023-06-27 10:24:19 -04:00
/******/ for ( var key in definition ) {
/******/ if ( _ _webpack _require _ _ . o ( definition , key ) && ! _ _webpack _require _ _ . o ( exports , key ) ) {
/******/ Object . defineProperty ( exports , key , { enumerable : true , get : definition [ key ] } ) ;
/******/ }
/******/ }
/******/ } ;
2024-01-31 07:59:56 -05:00
/******/ } ) ( ) ;
2023-06-27 10:24:19 -04:00
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
2024-01-31 07:59:56 -05:00
/******/ ( ( ) => {
/******/ _ _webpack _require _ _ . o = ( obj , prop ) => ( Object . prototype . hasOwnProperty . call ( obj , prop ) )
/******/ } ) ( ) ;
2023-06-27 10:24:19 -04:00
/******/
/******/ /* webpack/runtime/make namespace object */
2024-01-31 07:59:56 -05:00
/******/ ( ( ) => {
2023-06-27 10:24:19 -04:00
/******/ // define __esModule on exports
2024-01-31 07:59:56 -05:00
/******/ _ _webpack _require _ _ . r = ( exports ) => {
2023-06-27 10:24:19 -04:00
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
2024-01-31 07:59:56 -05:00
/******/ } ) ( ) ;
2023-06-27 10:24:19 -04:00
/******/
/************************************************************************/
var _ _webpack _exports _ _ = { } ;
// ESM COMPAT FLAG
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
2024-01-31 07:59:56 -05:00
privateApis : ( ) => ( /* reexport */ privateApis )
2023-06-27 10:24:19 -04:00
} ) ;
; // CONCATENATED MODULE: external ["wp","element"]
2024-01-31 07:59:56 -05:00
const external _wp _element _namespaceObject = window [ "wp" ] [ "element" ] ;
2023-06-27 10:24:19 -04:00
; // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
function extends _extends ( ) {
extends _extends = Object . assign ? Object . assign . bind ( ) : function ( target ) {
for ( var i = 1 ; i < arguments . length ; i ++ ) {
var source = arguments [ i ] ;
for ( var key in source ) {
if ( Object . prototype . hasOwnProperty . call ( source , key ) ) {
target [ key ] = source [ key ] ;
}
}
}
return target ;
} ;
return extends _extends . apply ( this , arguments ) ;
}
; // CONCATENATED MODULE: ./node_modules/history/index.js
/ * *
* Actions represent the type of change to a location value .
*
* @ see https : //github.com/remix-run/history/tree/main/docs/api-reference.md#action
* /
var Action ;
( function ( Action ) {
/ * *
* A POP indicates a change to an arbitrary index in the history stack , such
* as a back or forward navigation . It does not describe the direction of the
* navigation , only that the current index changed .
*
* Note : This is the default action for newly created history objects .
* /
Action [ "Pop" ] = "POP" ;
/ * *
* A PUSH indicates a new entry being added to the history stack , such as when
* a link is clicked and a new page loads . When this happens , all subsequent
* entries in the stack are lost .
* /
Action [ "Push" ] = "PUSH" ;
/ * *
* A REPLACE indicates the entry at the current index in the history stack
* being replaced by a new one .
* /
Action [ "Replace" ] = "REPLACE" ;
} ) ( Action || ( Action = { } ) ) ;
var readOnly = false ? 0 : function ( obj ) {
return obj ;
} ;
function warning ( cond , message ) {
if ( ! cond ) {
// eslint-disable-next-line no-console
if ( typeof console !== 'undefined' ) console . warn ( message ) ;
try {
// Welcome to debugging history!
//
// This error is thrown as a convenience so you can more easily
// find the source for a warning that appears in the console by
// enabling "pause on exceptions" in your JavaScript debugger.
throw new Error ( message ) ; // eslint-disable-next-line no-empty
} catch ( e ) { }
}
}
var BeforeUnloadEventType = 'beforeunload' ;
var HashChangeEventType = 'hashchange' ;
var PopStateEventType = 'popstate' ;
/ * *
* Browser history stores the location in regular URLs . This is the standard for
* most web apps , but it requires some configuration on the server to ensure you
* serve the same app at multiple URLs .
*
* @ see https : //github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory
* /
function createBrowserHistory ( options ) {
if ( options === void 0 ) {
options = { } ;
}
var _options = options ,
_options$window = _options . window ,
window = _options$window === void 0 ? document . defaultView : _options$window ;
var globalHistory = window . history ;
function getIndexAndLocation ( ) {
var _window$location = window . location ,
pathname = _window$location . pathname ,
search = _window$location . search ,
hash = _window$location . hash ;
var state = globalHistory . state || { } ;
return [ state . idx , readOnly ( {
pathname : pathname ,
search : search ,
hash : hash ,
state : state . usr || null ,
key : state . key || 'default'
} ) ] ;
}
var blockedPopTx = null ;
function handlePop ( ) {
if ( blockedPopTx ) {
blockers . call ( blockedPopTx ) ;
blockedPopTx = null ;
} else {
var nextAction = Action . Pop ;
var _getIndexAndLocation = getIndexAndLocation ( ) ,
nextIndex = _getIndexAndLocation [ 0 ] ,
nextLocation = _getIndexAndLocation [ 1 ] ;
if ( blockers . length ) {
if ( nextIndex != null ) {
var delta = index - nextIndex ;
if ( delta ) {
// Revert the POP
blockedPopTx = {
action : nextAction ,
location : nextLocation ,
retry : function retry ( ) {
go ( delta * - 1 ) ;
}
} ;
go ( delta ) ;
}
} else {
// Trying to POP to a location with no index. We did not create
// this location, so we can't effectively block the navigation.
false ? 0 : void 0 ;
}
} else {
applyTx ( nextAction ) ;
}
}
}
window . addEventListener ( PopStateEventType , handlePop ) ;
var action = Action . Pop ;
var _getIndexAndLocation2 = getIndexAndLocation ( ) ,
index = _getIndexAndLocation2 [ 0 ] ,
location = _getIndexAndLocation2 [ 1 ] ;
var listeners = createEvents ( ) ;
var blockers = createEvents ( ) ;
if ( index == null ) {
index = 0 ;
globalHistory . replaceState ( extends _extends ( { } , globalHistory . state , {
idx : index
} ) , '' ) ;
}
function createHref ( to ) {
return typeof to === 'string' ? to : createPath ( to ) ;
} // state defaults to `null` because `window.history.state` does
function getNextLocation ( to , state ) {
if ( state === void 0 ) {
state = null ;
}
return readOnly ( extends _extends ( {
pathname : location . pathname ,
hash : '' ,
search : ''
} , typeof to === 'string' ? parsePath ( to ) : to , {
state : state ,
key : createKey ( )
} ) ) ;
}
function getHistoryStateAndUrl ( nextLocation , index ) {
return [ {
usr : nextLocation . state ,
key : nextLocation . key ,
idx : index
} , createHref ( nextLocation ) ] ;
}
function allowTx ( action , location , retry ) {
return ! blockers . length || ( blockers . call ( {
action : action ,
location : location ,
retry : retry
} ) , false ) ;
}
function applyTx ( nextAction ) {
action = nextAction ;
var _getIndexAndLocation3 = getIndexAndLocation ( ) ;
index = _getIndexAndLocation3 [ 0 ] ;
location = _getIndexAndLocation3 [ 1 ] ;
listeners . call ( {
action : action ,
location : location
} ) ;
}
function push ( to , state ) {
var nextAction = Action . Push ;
var nextLocation = getNextLocation ( to , state ) ;
function retry ( ) {
push ( to , state ) ;
}
if ( allowTx ( nextAction , nextLocation , retry ) ) {
var _getHistoryStateAndUr = getHistoryStateAndUrl ( nextLocation , index + 1 ) ,
historyState = _getHistoryStateAndUr [ 0 ] ,
url = _getHistoryStateAndUr [ 1 ] ; // TODO: Support forced reloading
// try...catch because iOS limits us to 100 pushState calls :/
try {
globalHistory . pushState ( historyState , '' , url ) ;
} catch ( error ) {
// They are going to lose state here, but there is no real
// way to warn them about it since the page will refresh...
window . location . assign ( url ) ;
}
applyTx ( nextAction ) ;
}
}
function replace ( to , state ) {
var nextAction = Action . Replace ;
var nextLocation = getNextLocation ( to , state ) ;
function retry ( ) {
replace ( to , state ) ;
}
if ( allowTx ( nextAction , nextLocation , retry ) ) {
var _getHistoryStateAndUr2 = getHistoryStateAndUrl ( nextLocation , index ) ,
historyState = _getHistoryStateAndUr2 [ 0 ] ,
url = _getHistoryStateAndUr2 [ 1 ] ; // TODO: Support forced reloading
globalHistory . replaceState ( historyState , '' , url ) ;
applyTx ( nextAction ) ;
}
}
function go ( delta ) {
globalHistory . go ( delta ) ;
}
var history = {
get action ( ) {
return action ;
} ,
get location ( ) {
return location ;
} ,
createHref : createHref ,
push : push ,
replace : replace ,
go : go ,
back : function back ( ) {
go ( - 1 ) ;
} ,
forward : function forward ( ) {
go ( 1 ) ;
} ,
listen : function listen ( listener ) {
return listeners . push ( listener ) ;
} ,
block : function block ( blocker ) {
var unblock = blockers . push ( blocker ) ;
if ( blockers . length === 1 ) {
window . addEventListener ( BeforeUnloadEventType , promptBeforeUnload ) ;
}
return function ( ) {
unblock ( ) ; // Remove the beforeunload listener so the document may
// still be salvageable in the pagehide event.
// See https://html.spec.whatwg.org/#unloading-documents
if ( ! blockers . length ) {
window . removeEventListener ( BeforeUnloadEventType , promptBeforeUnload ) ;
}
} ;
}
} ;
return history ;
}
/ * *
* Hash history stores the location in window . location . hash . This makes it ideal
* for situations where you don ' t want to send the location to the server for
* some reason , either because you do cannot configure it or the URL space is
* reserved for something else .
*
* @ see https : //github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory
* /
function createHashHistory ( options ) {
if ( options === void 0 ) {
options = { } ;
}
var _options2 = options ,
_options2$window = _options2 . window ,
window = _options2$window === void 0 ? document . defaultView : _options2$window ;
var globalHistory = window . history ;
function getIndexAndLocation ( ) {
var _parsePath = parsePath ( window . location . hash . substr ( 1 ) ) ,
_parsePath$pathname = _parsePath . pathname ,
pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname ,
_parsePath$search = _parsePath . search ,
search = _parsePath$search === void 0 ? '' : _parsePath$search ,
_parsePath$hash = _parsePath . hash ,
hash = _parsePath$hash === void 0 ? '' : _parsePath$hash ;
var state = globalHistory . state || { } ;
return [ state . idx , readOnly ( {
pathname : pathname ,
search : search ,
hash : hash ,
state : state . usr || null ,
key : state . key || 'default'
} ) ] ;
}
var blockedPopTx = null ;
function handlePop ( ) {
if ( blockedPopTx ) {
blockers . call ( blockedPopTx ) ;
blockedPopTx = null ;
} else {
var nextAction = Action . Pop ;
var _getIndexAndLocation4 = getIndexAndLocation ( ) ,
nextIndex = _getIndexAndLocation4 [ 0 ] ,
nextLocation = _getIndexAndLocation4 [ 1 ] ;
if ( blockers . length ) {
if ( nextIndex != null ) {
var delta = index - nextIndex ;
if ( delta ) {
// Revert the POP
blockedPopTx = {
action : nextAction ,
location : nextLocation ,
retry : function retry ( ) {
go ( delta * - 1 ) ;
}
} ;
go ( delta ) ;
}
} else {
// Trying to POP to a location with no index. We did not create
// this location, so we can't effectively block the navigation.
false ? 0 : void 0 ;
}
} else {
applyTx ( nextAction ) ;
}
}
}
window . addEventListener ( PopStateEventType , handlePop ) ; // popstate does not fire on hashchange in IE 11 and old (trident) Edge
// https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event
window . addEventListener ( HashChangeEventType , function ( ) {
var _getIndexAndLocation5 = getIndexAndLocation ( ) ,
nextLocation = _getIndexAndLocation5 [ 1 ] ; // Ignore extraneous hashchange events.
if ( createPath ( nextLocation ) !== createPath ( location ) ) {
handlePop ( ) ;
}
} ) ;
var action = Action . Pop ;
var _getIndexAndLocation6 = getIndexAndLocation ( ) ,
index = _getIndexAndLocation6 [ 0 ] ,
location = _getIndexAndLocation6 [ 1 ] ;
var listeners = createEvents ( ) ;
var blockers = createEvents ( ) ;
if ( index == null ) {
index = 0 ;
globalHistory . replaceState ( _extends ( { } , globalHistory . state , {
idx : index
} ) , '' ) ;
}
function getBaseHref ( ) {
var base = document . querySelector ( 'base' ) ;
var href = '' ;
if ( base && base . getAttribute ( 'href' ) ) {
var url = window . location . href ;
var hashIndex = url . indexOf ( '#' ) ;
href = hashIndex === - 1 ? url : url . slice ( 0 , hashIndex ) ;
}
return href ;
}
function createHref ( to ) {
return getBaseHref ( ) + '#' + ( typeof to === 'string' ? to : createPath ( to ) ) ;
}
function getNextLocation ( to , state ) {
if ( state === void 0 ) {
state = null ;
}
return readOnly ( _extends ( {
pathname : location . pathname ,
hash : '' ,
search : ''
} , typeof to === 'string' ? parsePath ( to ) : to , {
state : state ,
key : createKey ( )
} ) ) ;
}
function getHistoryStateAndUrl ( nextLocation , index ) {
return [ {
usr : nextLocation . state ,
key : nextLocation . key ,
idx : index
} , createHref ( nextLocation ) ] ;
}
function allowTx ( action , location , retry ) {
return ! blockers . length || ( blockers . call ( {
action : action ,
location : location ,
retry : retry
} ) , false ) ;
}
function applyTx ( nextAction ) {
action = nextAction ;
var _getIndexAndLocation7 = getIndexAndLocation ( ) ;
index = _getIndexAndLocation7 [ 0 ] ;
location = _getIndexAndLocation7 [ 1 ] ;
listeners . call ( {
action : action ,
location : location
} ) ;
}
function push ( to , state ) {
var nextAction = Action . Push ;
var nextLocation = getNextLocation ( to , state ) ;
function retry ( ) {
push ( to , state ) ;
}
false ? 0 : void 0 ;
if ( allowTx ( nextAction , nextLocation , retry ) ) {
var _getHistoryStateAndUr3 = getHistoryStateAndUrl ( nextLocation , index + 1 ) ,
historyState = _getHistoryStateAndUr3 [ 0 ] ,
url = _getHistoryStateAndUr3 [ 1 ] ; // TODO: Support forced reloading
// try...catch because iOS limits us to 100 pushState calls :/
try {
globalHistory . pushState ( historyState , '' , url ) ;
} catch ( error ) {
// They are going to lose state here, but there is no real
// way to warn them about it since the page will refresh...
window . location . assign ( url ) ;
}
applyTx ( nextAction ) ;
}
}
function replace ( to , state ) {
var nextAction = Action . Replace ;
var nextLocation = getNextLocation ( to , state ) ;
function retry ( ) {
replace ( to , state ) ;
}
false ? 0 : void 0 ;
if ( allowTx ( nextAction , nextLocation , retry ) ) {
var _getHistoryStateAndUr4 = getHistoryStateAndUrl ( nextLocation , index ) ,
historyState = _getHistoryStateAndUr4 [ 0 ] ,
url = _getHistoryStateAndUr4 [ 1 ] ; // TODO: Support forced reloading
globalHistory . replaceState ( historyState , '' , url ) ;
applyTx ( nextAction ) ;
}
}
function go ( delta ) {
globalHistory . go ( delta ) ;
}
var history = {
get action ( ) {
return action ;
} ,
get location ( ) {
return location ;
} ,
createHref : createHref ,
push : push ,
replace : replace ,
go : go ,
back : function back ( ) {
go ( - 1 ) ;
} ,
forward : function forward ( ) {
go ( 1 ) ;
} ,
listen : function listen ( listener ) {
return listeners . push ( listener ) ;
} ,
block : function block ( blocker ) {
var unblock = blockers . push ( blocker ) ;
if ( blockers . length === 1 ) {
window . addEventListener ( BeforeUnloadEventType , promptBeforeUnload ) ;
}
return function ( ) {
unblock ( ) ; // Remove the beforeunload listener so the document may
// still be salvageable in the pagehide event.
// See https://html.spec.whatwg.org/#unloading-documents
if ( ! blockers . length ) {
window . removeEventListener ( BeforeUnloadEventType , promptBeforeUnload ) ;
}
} ;
}
} ;
return history ;
}
/ * *
* Memory history stores the current location in memory . It is designed for use
* in stateful non - browser environments like tests and React Native .
*
* @ see https : //github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory
* /
function createMemoryHistory ( options ) {
if ( options === void 0 ) {
options = { } ;
}
var _options3 = options ,
_options3$initialEntr = _options3 . initialEntries ,
initialEntries = _options3$initialEntr === void 0 ? [ '/' ] : _options3$initialEntr ,
initialIndex = _options3 . initialIndex ;
var entries = initialEntries . map ( function ( entry ) {
var location = readOnly ( _extends ( {
pathname : '/' ,
search : '' ,
hash : '' ,
state : null ,
key : createKey ( )
} , typeof entry === 'string' ? parsePath ( entry ) : entry ) ) ;
false ? 0 : void 0 ;
return location ;
} ) ;
var index = clamp ( initialIndex == null ? entries . length - 1 : initialIndex , 0 , entries . length - 1 ) ;
var action = Action . Pop ;
var location = entries [ index ] ;
var listeners = createEvents ( ) ;
var blockers = createEvents ( ) ;
function createHref ( to ) {
return typeof to === 'string' ? to : createPath ( to ) ;
}
function getNextLocation ( to , state ) {
if ( state === void 0 ) {
state = null ;
}
return readOnly ( _extends ( {
pathname : location . pathname ,
search : '' ,
hash : ''
} , typeof to === 'string' ? parsePath ( to ) : to , {
state : state ,
key : createKey ( )
} ) ) ;
}
function allowTx ( action , location , retry ) {
return ! blockers . length || ( blockers . call ( {
action : action ,
location : location ,
retry : retry
} ) , false ) ;
}
function applyTx ( nextAction , nextLocation ) {
action = nextAction ;
location = nextLocation ;
listeners . call ( {
action : action ,
location : location
} ) ;
}
function push ( to , state ) {
var nextAction = Action . Push ;
var nextLocation = getNextLocation ( to , state ) ;
function retry ( ) {
push ( to , state ) ;
}
false ? 0 : void 0 ;
if ( allowTx ( nextAction , nextLocation , retry ) ) {
index += 1 ;
entries . splice ( index , entries . length , nextLocation ) ;
applyTx ( nextAction , nextLocation ) ;
}
}
function replace ( to , state ) {
var nextAction = Action . Replace ;
var nextLocation = getNextLocation ( to , state ) ;
function retry ( ) {
replace ( to , state ) ;
}
false ? 0 : void 0 ;
if ( allowTx ( nextAction , nextLocation , retry ) ) {
entries [ index ] = nextLocation ;
applyTx ( nextAction , nextLocation ) ;
}
}
function go ( delta ) {
var nextIndex = clamp ( index + delta , 0 , entries . length - 1 ) ;
var nextAction = Action . Pop ;
var nextLocation = entries [ nextIndex ] ;
function retry ( ) {
go ( delta ) ;
}
if ( allowTx ( nextAction , nextLocation , retry ) ) {
index = nextIndex ;
applyTx ( nextAction , nextLocation ) ;
}
}
var history = {
get index ( ) {
return index ;
} ,
get action ( ) {
return action ;
} ,
get location ( ) {
return location ;
} ,
createHref : createHref ,
push : push ,
replace : replace ,
go : go ,
back : function back ( ) {
go ( - 1 ) ;
} ,
forward : function forward ( ) {
go ( 1 ) ;
} ,
listen : function listen ( listener ) {
return listeners . push ( listener ) ;
} ,
block : function block ( blocker ) {
return blockers . push ( blocker ) ;
}
} ;
return history ;
} ////////////////////////////////////////////////////////////////////////////////
// UTILS
////////////////////////////////////////////////////////////////////////////////
function clamp ( n , lowerBound , upperBound ) {
return Math . min ( Math . max ( n , lowerBound ) , upperBound ) ;
}
function promptBeforeUnload ( event ) {
// Cancel the event.
event . preventDefault ( ) ; // Chrome (and legacy IE) requires returnValue to be set.
event . returnValue = '' ;
}
function createEvents ( ) {
var handlers = [ ] ;
return {
get length ( ) {
return handlers . length ;
} ,
push : function push ( fn ) {
handlers . push ( fn ) ;
return function ( ) {
handlers = handlers . filter ( function ( handler ) {
return handler !== fn ;
} ) ;
} ;
} ,
call : function call ( arg ) {
handlers . forEach ( function ( fn ) {
return fn && fn ( arg ) ;
} ) ;
}
} ;
}
function createKey ( ) {
return Math . random ( ) . toString ( 36 ) . substr ( 2 , 8 ) ;
}
/ * *
* Creates a string URL path from the given pathname , search , and hash components .
*
* @ see https : //github.com/remix-run/history/tree/main/docs/api-reference.md#createpath
* /
function createPath ( _ref ) {
var _ref$pathname = _ref . pathname ,
pathname = _ref$pathname === void 0 ? '/' : _ref$pathname ,
_ref$search = _ref . search ,
search = _ref$search === void 0 ? '' : _ref$search ,
_ref$hash = _ref . hash ,
hash = _ref$hash === void 0 ? '' : _ref$hash ;
if ( search && search !== '?' ) pathname += search . charAt ( 0 ) === '?' ? search : '?' + search ;
if ( hash && hash !== '#' ) pathname += hash . charAt ( 0 ) === '#' ? hash : '#' + hash ;
return pathname ;
}
/ * *
* Parses a string URL path into its separate pathname , search , and hash components .
*
* @ see https : //github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath
* /
function parsePath ( path ) {
var parsedPath = { } ;
if ( path ) {
var hashIndex = path . indexOf ( '#' ) ;
if ( hashIndex >= 0 ) {
parsedPath . hash = path . substr ( hashIndex ) ;
path = path . substr ( 0 , hashIndex ) ;
}
var searchIndex = path . indexOf ( '?' ) ;
if ( searchIndex >= 0 ) {
parsedPath . search = path . substr ( searchIndex ) ;
path = path . substr ( 0 , searchIndex ) ;
}
if ( path ) {
parsedPath . pathname = path ;
}
}
return parsedPath ;
}
; // CONCATENATED MODULE: external ["wp","url"]
2024-01-31 07:59:56 -05:00
const external _wp _url _namespaceObject = window [ "wp" ] [ "url" ] ;
2023-06-27 10:24:19 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/router/build-module/history.js
/ * *
* External dependencies
* /
2023-09-26 10:23:26 -04:00
2023-06-27 10:24:19 -04:00
/ * *
* WordPress dependencies
* /
const history _history = createBrowserHistory ( ) ;
const originalHistoryPush = history _history . push ;
const originalHistoryReplace = history _history . replace ;
2024-05-23 15:39:28 -04:00
// Preserve the `wp_theme_preview` query parameter when navigating
// around the Site Editor.
// TODO: move this hack out of the router into Site Editor code.
function preserveThemePreview ( params ) {
if ( params . hasOwnProperty ( 'wp_theme_preview' ) ) {
return params ;
}
const currentSearch = new URLSearchParams ( history _history . location . search ) ;
const currentThemePreview = currentSearch . get ( 'wp_theme_preview' ) ;
if ( currentThemePreview === null ) {
return params ;
}
return {
... params ,
wp _theme _preview : currentThemePreview
} ;
}
2023-06-27 10:24:19 -04:00
function push ( params , state ) {
2024-05-23 15:39:28 -04:00
const search = ( 0 , external _wp _url _namespaceObject . buildQueryString ) ( preserveThemePreview ( params ) ) ;
return originalHistoryPush . call ( history _history , {
search
} , state ) ;
2023-06-27 10:24:19 -04:00
}
function replace ( params , state ) {
2024-05-23 15:39:28 -04:00
const search = ( 0 , external _wp _url _namespaceObject . buildQueryString ) ( preserveThemePreview ( params ) ) ;
return originalHistoryReplace . call ( history _history , {
search
} , state ) ;
2023-06-27 10:24:19 -04:00
}
2024-05-31 14:59:00 -04:00
const locationMemo = new WeakMap ( ) ;
function getLocationWithParams ( ) {
const location = history _history . location ;
let locationWithParams = locationMemo . get ( location ) ;
if ( ! locationWithParams ) {
locationWithParams = {
... location ,
params : Object . fromEntries ( new URLSearchParams ( location . search ) )
} ;
locationMemo . set ( location , locationWithParams ) ;
}
return locationWithParams ;
}
2023-06-27 10:24:19 -04:00
history _history . push = push ;
history _history . replace = replace ;
2024-05-31 14:59:00 -04:00
history _history . getLocationWithParams = getLocationWithParams ;
2024-01-31 07:59:56 -05:00
/* harmony default export */ const build _module _history = ( history _history ) ;
2023-06-27 10:24:19 -04:00
2024-05-31 14:59:00 -04:00
; // CONCATENATED MODULE: external "ReactJSXRuntime"
const external _ReactJSXRuntime _namespaceObject = window [ "ReactJSXRuntime" ] ;
2023-06-27 10:24:19 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/router/build-module/router.js
/ * *
* WordPress dependencies
* /
2023-09-26 10:23:26 -04:00
2023-06-27 10:24:19 -04:00
/ * *
* Internal dependencies
* /
2024-05-31 14:59:00 -04:00
2023-06-27 10:24:19 -04:00
const RoutesContext = ( 0 , external _wp _element _namespaceObject . createContext ) ( ) ;
const HistoryContext = ( 0 , external _wp _element _namespaceObject . createContext ) ( ) ;
function useLocation ( ) {
return ( 0 , external _wp _element _namespaceObject . useContext ) ( RoutesContext ) ;
}
function useHistory ( ) {
return ( 0 , external _wp _element _namespaceObject . useContext ) ( HistoryContext ) ;
}
function RouterProvider ( {
children
} ) {
2024-05-31 14:59:00 -04:00
const location = ( 0 , external _wp _element _namespaceObject . useSyncExternalStore ) ( build _module _history . listen , build _module _history . getLocationWithParams , build _module _history . getLocationWithParams ) ;
return /*#__PURE__*/ ( 0 , external _ReactJSXRuntime _namespaceObject . jsx ) ( HistoryContext . Provider , {
value : build _module _history ,
children : /*#__PURE__*/ ( 0 , external _ReactJSXRuntime _namespaceObject . jsx ) ( RoutesContext . Provider , {
value : location ,
children : children
} )
} ) ;
2023-06-27 10:24:19 -04:00
}
; // CONCATENATED MODULE: external ["wp","privateApis"]
2024-01-31 07:59:56 -05:00
const external _wp _privateApis _namespaceObject = window [ "wp" ] [ "privateApis" ] ;
2023-06-27 10:24:19 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/router/build-module/lock-unlock.js
/ * *
* WordPress dependencies
* /
const {
lock ,
unlock
2024-06-18 09:19:30 -04:00
} = ( 0 , external _wp _privateApis _namespaceObject . _ _dangerousOptInToUnstableAPIsOnlyForCoreModules ) ( 'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.' , '@wordpress/router' ) ;
2023-06-27 10:24:19 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/router/build-module/private-apis.js
/ * *
* Internal dependencies
* /
const privateApis = { } ;
lock ( privateApis , {
useHistory : useHistory ,
useLocation : useLocation ,
RouterProvider : RouterProvider
} ) ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/router/build-module/index.js
( window . wp = window . wp || { } ) . router = _ _webpack _exports _ _ ;
/******/ } ) ( )
;