2018-12-14 05:41:57 +01:00
this [ "wp" ] = this [ "wp" ] || { } ; this [ "wp" ] [ "nux" ] =
/******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] ) {
/******/ return installedModules [ moduleId ] . exports ;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ i : moduleId ,
/******/ l : false ,
/******/ exports : { }
/******/ } ;
/******/
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Flag the module as loaded
/******/ module . l = true ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/
/******/ // define getter function for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , name , getter ) {
/******/ if ( ! _ _webpack _require _ _ . o ( exports , name ) ) {
/******/ Object . defineProperty ( exports , name , { enumerable : true , get : getter } ) ;
/******/ }
/******/ } ;
/******/
/******/ // define __esModule on exports
/******/ _ _webpack _require _ _ . r = function ( exports ) {
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ _ _webpack _require _ _ . t = function ( value , mode ) {
/******/ if ( mode & 1 ) value = _ _webpack _require _ _ ( value ) ;
/******/ if ( mode & 8 ) return value ;
/******/ if ( ( mode & 4 ) && typeof value === 'object' && value && value . _ _esModule ) return value ;
/******/ var ns = Object . create ( null ) ;
/******/ _ _webpack _require _ _ . r ( ns ) ;
/******/ Object . defineProperty ( ns , 'default' , { enumerable : true , value : value } ) ;
/******/ if ( mode & 2 && typeof value != 'string' ) for ( var key in value ) _ _webpack _require _ _ . d ( ns , key , function ( key ) { return value [ key ] ; } . bind ( null , key ) ) ;
/******/ return ns ;
/******/ } ;
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function getDefault ( ) { return module [ 'default' ] ; } :
/******/ function getModuleExports ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , 'a' , getter ) ;
/******/ return getter ;
/******/ } ;
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ _ _webpack _require _ _ . o = function ( object , property ) { return Object . prototype . hasOwnProperty . call ( object , property ) ; } ;
/******/
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "" ;
/******/
/******/
/******/ // Load entry module and return exports
2021-05-20 14:20:04 +02:00
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = "51Wn" ) ;
2018-12-14 05:41:57 +01:00
/******/ } )
/************************************************************************/
/******/ ( {
2021-05-20 14:20:04 +02:00
/***/ "1ZqX" :
2018-12-18 04:14:52 +01:00
/***/ ( function ( module , exports ) {
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "wp" ] [ "data" ] ; } ( ) ) ;
2018-12-14 05:41:57 +01:00
/***/ } ) ,
2021-05-20 14:20:04 +02:00
/***/ "51Wn" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
"use strict" ;
// ESM COMPAT FLAG
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
2021-04-15 17:19:43 +02:00
2021-05-20 14:20:04 +02:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "store" , function ( ) { return /* reexport */ store ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "DotTip" , function ( ) { return /* reexport */ dot _tip ; } ) ;
2021-04-15 17:19:43 +02:00
2021-05-20 14:20:04 +02:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/nux/build-module/store/actions.js
var actions _namespaceObject = { } ;
_ _webpack _require _ _ . r ( actions _namespaceObject ) ;
_ _webpack _require _ _ . d ( actions _namespaceObject , "triggerGuide" , function ( ) { return triggerGuide ; } ) ;
2021-11-08 15:29:21 +01:00
_ _webpack _require _ _ . d ( actions _namespaceObject , "dismissTip" , function ( ) { return actions _dismissTip ; } ) ;
_ _webpack _require _ _ . d ( actions _namespaceObject , "disableTips" , function ( ) { return actions _disableTips ; } ) ;
2021-05-20 14:20:04 +02:00
_ _webpack _require _ _ . d ( actions _namespaceObject , "enableTips" , function ( ) { return enableTips ; } ) ;
2021-04-15 17:19:43 +02:00
2021-05-20 14:20:04 +02:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/nux/build-module/store/selectors.js
var selectors _namespaceObject = { } ;
_ _webpack _require _ _ . r ( selectors _namespaceObject ) ;
2021-11-08 15:29:21 +01:00
_ _webpack _require _ _ . d ( selectors _namespaceObject , "getAssociatedGuide" , function ( ) { return selectors _getAssociatedGuide ; } ) ;
_ _webpack _require _ _ . d ( selectors _namespaceObject , "isTipVisible" , function ( ) { return selectors _isTipVisible ; } ) ;
2021-05-20 14:20:04 +02:00
_ _webpack _require _ _ . d ( selectors _namespaceObject , "areTipsEnabled" , function ( ) { return selectors _areTipsEnabled ; } ) ;
2021-01-28 03:04:13 +01:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: external ["wp","deprecated"]
var external _wp _deprecated _ = _ _webpack _require _ _ ( "NMb1" ) ;
var external _wp _deprecated _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _wp _deprecated _ ) ;
2021-01-28 03:04:13 +01:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: external ["wp","data"]
var external _wp _data _ = _ _webpack _require _ _ ( "1ZqX" ) ;
2021-01-28 03:04:13 +01:00
2021-05-20 14:20:04 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/nux/build-module/store/reducer.js
2021-01-28 03:04:13 +01:00
/ * *
* WordPress dependencies
* /
2021-05-20 14:20:04 +02:00
/ * *
* Reducer that tracks which tips are in a guide . Each guide is represented by
* an array which contains the tip identifiers contained within that guide .
*
2021-11-08 15:29:21 +01:00
* @ param { Array } state Current state .
2021-05-20 14:20:04 +02:00
* @ param { Object } action Dispatched action .
*
* @ return { Array } Updated state .
* /
2020-06-26 15:33:47 +02:00
2021-11-15 13:50:17 +01:00
function guides ( ) {
let state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : [ ] ;
let action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2021-05-20 14:20:04 +02:00
switch ( action . type ) {
case 'TRIGGER_GUIDE' :
return [ ... state , action . tipIds ] ;
}
2020-06-26 15:33:47 +02:00
2021-05-20 14:20:04 +02:00
return state ;
}
/ * *
* Reducer that tracks whether or not tips are globally enabled .
*
2021-11-08 15:29:21 +01:00
* @ param { boolean } state Current state .
* @ param { Object } action Dispatched action .
2021-05-20 14:20:04 +02:00
*
* @ return { boolean } Updated state .
* /
2019-09-19 17:19:18 +02:00
2021-11-15 13:50:17 +01:00
function areTipsEnabled ( ) {
let state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : true ;
let action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2021-05-20 14:20:04 +02:00
switch ( action . type ) {
case 'DISABLE_TIPS' :
return false ;
2019-09-19 17:19:18 +02:00
2021-05-20 14:20:04 +02:00
case 'ENABLE_TIPS' :
return true ;
}
2019-09-19 17:19:18 +02:00
2021-05-20 14:20:04 +02:00
return state ;
}
/ * *
* Reducer that tracks which tips have been dismissed . If the state object
* contains a tip identifier , then that tip is dismissed .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
2020-02-10 23:33:27 +01:00
2021-11-15 13:50:17 +01:00
function dismissedTips ( ) {
let state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
let action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2021-05-20 14:20:04 +02:00
switch ( action . type ) {
case 'DISMISS_TIP' :
return { ... state ,
[ action . id ] : true
} ;
2019-10-15 17:37:08 +02:00
2021-05-20 14:20:04 +02:00
case 'ENABLE_TIPS' :
return { } ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
return state ;
}
const preferences = Object ( external _wp _data _ [ "combineReducers" ] ) ( {
areTipsEnabled ,
dismissedTips
} ) ;
/* harmony default export */ var reducer = ( Object ( external _wp _data _ [ "combineReducers" ] ) ( {
guides ,
preferences
} ) ) ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/nux/build-module/store/actions.js
2018-12-18 04:14:52 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns an action object that , when dispatched , presents a guide that takes
* the user through a series of tips step by step .
2020-01-03 14:17:24 +01:00
*
2021-05-20 14:20:04 +02:00
* @ param { string [ ] } tipIds Which tips to show in the guide .
2018-12-18 04:14:52 +01:00
*
2021-05-20 14:20:04 +02:00
* @ return { Object } Action object .
2018-12-18 04:14:52 +01:00
* /
2021-05-20 14:20:04 +02:00
function triggerGuide ( tipIds ) {
return {
type : 'TRIGGER_GUIDE' ,
tipIds
} ;
}
2018-12-18 04:14:52 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns an action object that , when dispatched , dismisses the given tip . A
* dismissed tip will not show again .
2018-12-18 04:14:52 +01:00
*
2021-05-20 14:20:04 +02:00
* @ param { string } id The tip to dismiss .
2019-10-15 17:37:08 +02:00
*
2021-05-20 14:20:04 +02:00
* @ return { Object } Action object .
2018-12-18 04:14:52 +01:00
* /
2018-12-14 05:41:57 +01:00
2021-11-08 15:29:21 +01:00
function actions _dismissTip ( id ) {
2021-05-20 14:20:04 +02:00
return {
type : 'DISMISS_TIP' ,
id
} ;
}
2018-12-18 04:14:52 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns an action object that , when dispatched , prevents all tips from
* showing again .
2020-01-03 14:17:24 +01:00
*
2021-05-20 14:20:04 +02:00
* @ return { Object } Action object .
2019-10-15 17:37:08 +02:00
* /
2018-12-14 05:41:57 +01:00
2021-11-08 15:29:21 +01:00
function actions _disableTips ( ) {
2021-05-20 14:20:04 +02:00
return {
type : 'DISABLE_TIPS'
} ;
}
2019-10-15 17:37:08 +02:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns an action object that , when dispatched , makes all tips show again .
2019-10-15 17:37:08 +02:00
*
2021-05-20 14:20:04 +02:00
* @ return { Object } Action object .
2020-01-03 14:17:24 +01:00
* /
2021-05-20 14:20:04 +02:00
function enableTips ( ) {
return {
type : 'ENABLE_TIPS'
} ;
2020-01-03 14:17:24 +01:00
}
2020-01-08 12:57:23 +01:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js
var rememo = _ _webpack _require _ _ ( "pPDe" ) ;
// EXTERNAL MODULE: external "lodash"
var external _lodash _ = _ _webpack _require _ _ ( "YLtl" ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/nux/build-module/store/selectors.js
2020-01-03 14:17:24 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* External dependencies
2019-10-15 17:37:08 +02:00
* /
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
/ * *
* An object containing information about a guide .
*
* @ typedef { Object } NUXGuideInfo
* @ property { string [ ] } tipIds Which tips the guide contains .
* @ property { ? string } currentTipId The guide ' s currently showing tip .
* @ property { ? string } nextTipId The guide ' s next tip to show .
* /
2019-10-15 18:17:12 +02:00
2020-01-03 14:17:24 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns an object describing the guide , if any , that the given tip is a part
* of .
2020-01-03 14:17:24 +01:00
*
2021-05-20 14:20:04 +02:00
* @ param { Object } state Global application state .
* @ param { string } tipId The tip to query .
2020-01-03 14:17:24 +01:00
*
2021-05-20 14:20:04 +02:00
* @ return { ? NUXGuideInfo } Information about the associated guide .
2020-01-03 14:17:24 +01:00
* /
2019-10-15 18:17:12 +02:00
2021-11-08 15:29:21 +01:00
const selectors _getAssociatedGuide = Object ( rememo [ "a" /* default */ ] ) ( ( state , tipId ) => {
2021-05-20 14:20:04 +02:00
for ( const tipIds of state . guides ) {
if ( Object ( external _lodash _ [ "includes" ] ) ( tipIds , tipId ) ) {
const nonDismissedTips = Object ( external _lodash _ [ "difference" ] ) ( tipIds , Object ( external _lodash _ [ "keys" ] ) ( state . preferences . dismissedTips ) ) ;
const [ currentTipId = null , nextTipId = null ] = nonDismissedTips ;
return {
tipIds ,
currentTipId ,
nextTipId
} ;
}
}
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
return null ;
} , state => [ state . guides , state . preferences . dismissedTips ] ) ;
/ * *
* Determines whether or not the given tip is showing . Tips are hidden if they
* are disabled , have been dismissed , or are not the current tip in any
* guide that they have been added to .
*
* @ param { Object } state Global application state .
* @ param { string } tipId The tip to query .
*
* @ return { boolean } Whether or not the given tip is showing .
* /
2019-10-15 18:17:12 +02:00
2021-11-08 15:29:21 +01:00
function selectors _isTipVisible ( state , tipId ) {
2021-05-20 14:20:04 +02:00
if ( ! state . preferences . areTipsEnabled ) {
return false ;
}
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
if ( Object ( external _lodash _ [ "has" ] ) ( state . preferences . dismissedTips , [ tipId ] ) ) {
return false ;
}
2019-10-15 18:17:12 +02:00
2021-11-08 15:29:21 +01:00
const associatedGuide = selectors _getAssociatedGuide ( state , tipId ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
if ( associatedGuide && associatedGuide . currentTipId !== tipId ) {
return false ;
}
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
return true ;
}
/ * *
* Returns whether or not tips are globally enabled .
*
* @ param { Object } state Global application state .
*
* @ return { boolean } Whether tips are globally enabled .
* /
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
function selectors _areTipsEnabled ( state ) {
return state . preferences . areTipsEnabled ;
}
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/nux/build-module/store/index.js
/ * *
* WordPress dependencies
* /
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
/ * *
* Internal dependencies
* /
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
const STORE _NAME = 'core/nux' ;
/ * *
* Store definition for the nux namespace .
*
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
*
* @ type { Object }
* /
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
const store = Object ( external _wp _data _ [ "createReduxStore" ] ) ( STORE _NAME , {
reducer : reducer ,
actions : actions _namespaceObject ,
selectors : selectors _namespaceObject ,
persist : [ 'preferences' ]
} ) ; // Once we build a more generic persistence plugin that works across types of stores
// we'd be able to replace this with a register call.
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
Object ( external _wp _data _ [ "registerStore" ] ) ( STORE _NAME , {
reducer : reducer ,
actions : actions _namespaceObject ,
selectors : selectors _namespaceObject ,
persist : [ 'preferences' ]
} ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: external ["wp","element"]
var external _wp _element _ = _ _webpack _require _ _ ( "GRId" ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: external ["wp","compose"]
var external _wp _compose _ = _ _webpack _require _ _ ( "K9lf" ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: external ["wp","components"]
var external _wp _components _ = _ _webpack _require _ _ ( "tI+e" ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: external ["wp","i18n"]
var external _wp _i18n _ = _ _webpack _require _ _ ( "l3Sj" ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
var library _close = _ _webpack _require _ _ ( "w95h" ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/nux/build-module/components/dot-tip/index.js
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
/ * *
* WordPress dependencies
* /
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
2021-11-08 15:29:21 +01:00
/ * *
* Internal dependencies
* /
2021-05-20 14:20:04 +02:00
function onClick ( event ) {
// Tips are often nested within buttons. We stop propagation so that clicking
// on a tip doesn't result in the button being clicked.
event . stopPropagation ( ) ;
}
2021-11-15 13:50:17 +01:00
function DotTip ( _ref ) {
let {
position = 'middle right' ,
children ,
isVisible ,
hasNextTip ,
onDismiss ,
onDisable
} = _ref ;
2021-05-20 14:20:04 +02:00
const anchorParent = Object ( external _wp _element _ [ "useRef" ] ) ( null ) ;
const onFocusOutsideCallback = Object ( external _wp _element _ [ "useCallback" ] ) ( event => {
if ( ! anchorParent . current ) {
return ;
}
if ( anchorParent . current . contains ( event . relatedTarget ) ) {
return ;
}
onDisable ( ) ;
} , [ onDisable , anchorParent ] ) ;
if ( ! isVisible ) {
return null ;
}
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Popover" ] , {
className : "nux-dot-tip" ,
position : position ,
noArrow : true ,
focusOnMount : "container" ,
shouldAnchorIncludePadding : true ,
role : "dialog" ,
"aria-label" : Object ( external _wp _i18n _ [ "__" ] ) ( 'Editor tips' ) ,
onClick : onClick ,
onFocusOutside : onFocusOutsideCallback
} , Object ( external _wp _element _ [ "createElement" ] ) ( "p" , null , children ) , Object ( external _wp _element _ [ "createElement" ] ) ( "p" , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Button" ] , {
2021-11-08 15:29:21 +01:00
variant : "link" ,
2021-05-20 14:20:04 +02:00
onClick : onDismiss
} , hasNextTip ? Object ( external _wp _i18n _ [ "__" ] ) ( 'See next tip' ) : Object ( external _wp _i18n _ [ "__" ] ) ( 'Got it' ) ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Button" ] , {
className : "nux-dot-tip__disable" ,
icon : library _close [ "a" /* default */ ] ,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Disable tips' ) ,
onClick : onDisable
} ) ) ;
}
2021-11-15 13:50:17 +01:00
/* harmony default export */ var dot _tip = ( Object ( external _wp _compose _ [ "compose" ] ) ( Object ( external _wp _data _ [ "withSelect" ] ) ( ( select , _ref2 ) => {
let {
tipId
} = _ref2 ;
2021-05-20 14:20:04 +02:00
const {
isTipVisible ,
getAssociatedGuide
2021-11-08 15:29:21 +01:00
} = select ( store ) ;
2021-05-20 14:20:04 +02:00
const associatedGuide = getAssociatedGuide ( tipId ) ;
return {
isVisible : isTipVisible ( tipId ) ,
hasNextTip : ! ! ( associatedGuide && associatedGuide . nextTipId )
} ;
2021-11-15 13:50:17 +01:00
} ) , Object ( external _wp _data _ [ "withDispatch" ] ) ( ( dispatch , _ref3 ) => {
let {
tipId
} = _ref3 ;
2021-05-20 14:20:04 +02:00
const {
dismissTip ,
disableTips
2021-11-08 15:29:21 +01:00
} = dispatch ( store ) ;
2021-05-20 14:20:04 +02:00
return {
onDismiss ( ) {
dismissTip ( tipId ) ;
} ,
onDisable ( ) {
disableTips ( ) ;
}
} ;
} ) ) ( DotTip ) ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/nux/build-module/index.js
/ * *
* WordPress dependencies
* /
external _wp _deprecated _default ( ) ( 'wp.nux' , {
since : '5.4' ,
hint : 'wp.components.Guide can be used to show a user guide.'
2020-01-08 12:57:23 +01:00
} ) ;
2019-10-15 18:17:12 +02:00
2020-01-22 23:06:21 +01:00
/***/ } ) ,
2021-05-20 14:20:04 +02:00
/***/ "GRId" :
2021-05-19 17:09:27 +02:00
/***/ ( function ( module , exports ) {
2021-05-07 13:48:27 +02:00
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "wp" ] [ "element" ] ; } ( ) ) ;
2021-05-19 17:09:27 +02:00
/***/ } ) ,
2021-05-20 14:20:04 +02:00
/***/ "K9lf" :
2021-05-19 17:09:27 +02:00
/***/ ( function ( module , exports ) {
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "wp" ] [ "compose" ] ; } ( ) ) ;
2021-05-07 13:48:27 +02:00
/***/ } ) ,
2021-05-20 14:20:04 +02:00
/***/ "NMb1" :
2021-05-19 17:09:27 +02:00
/***/ ( function ( module , exports ) {
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "wp" ] [ "deprecated" ] ; } ( ) ) ;
2021-05-19 17:09:27 +02:00
/***/ } ) ,
2021-05-20 14:20:04 +02:00
/***/ "Tqx9" :
/***/ ( function ( module , exports ) {
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "wp" ] [ "primitives" ] ; } ( ) ) ;
2020-06-29 13:50:29 +02:00
2021-05-20 14:20:04 +02:00
/***/ } ) ,
2020-06-29 13:50:29 +02:00
2021-05-20 14:20:04 +02:00
/***/ "YLtl" :
/***/ ( function ( module , exports ) {
2020-06-29 13:50:29 +02:00
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "lodash" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "l3Sj" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "i18n" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "pPDe" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
"use strict" ;
2020-01-22 23:06:21 +01:00
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
var LEAF _KEY , hasWeakMap ;
2020-01-08 12:57:23 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Arbitrary value used as key for referencing cache object in WeakMap tree .
2020-01-08 12:57:23 +01:00
*
2021-05-20 14:20:04 +02:00
* @ type { Object }
2020-01-08 12:57:23 +01:00
* /
2021-05-20 14:20:04 +02:00
LEAF _KEY = { } ;
2020-01-08 12:57:23 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Whether environment supports WeakMap .
2020-01-08 12:57:23 +01:00
*
2021-05-20 14:20:04 +02:00
* @ type { boolean }
2019-10-15 18:17:12 +02:00
* /
2021-05-20 14:20:04 +02:00
hasWeakMap = typeof WeakMap !== 'undefined' ;
2019-10-15 18:17:12 +02:00
2020-01-08 12:57:23 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns the first argument as the sole entry in an array .
2020-01-08 12:57:23 +01:00
*
2021-05-20 14:20:04 +02:00
* @ param { * } value Value to return .
2020-01-08 12:57:23 +01:00
*
2021-05-20 14:20:04 +02:00
* @ return { Array } Value returned as entry in array .
2020-01-08 12:57:23 +01:00
* /
2021-05-20 14:20:04 +02:00
function arrayOf ( value ) {
return [ value ] ;
2020-01-08 12:57:23 +01:00
}
2019-10-15 18:17:12 +02:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns true if the value passed is object - like , or false otherwise . A value
* is object - like if it can support property assignment , e . g . object or array .
2020-01-03 14:17:24 +01:00
*
2021-05-20 14:20:04 +02:00
* @ param { * } value Value to test .
2020-01-08 12:57:23 +01:00
*
2021-05-20 14:20:04 +02:00
* @ return { boolean } Whether value is object - like .
2019-10-15 18:17:12 +02:00
* /
2021-05-20 14:20:04 +02:00
function isObjectLike ( value ) {
return ! ! value && 'object' === typeof value ;
2020-01-08 12:57:23 +01:00
}
2019-10-15 18:17:12 +02:00
/ * *
2021-05-20 14:20:04 +02:00
* Creates and returns a new cache object .
2019-10-15 18:17:12 +02:00
*
2021-05-20 14:20:04 +02:00
* @ return { Object } Cache object .
2019-10-15 18:17:12 +02:00
* /
2021-05-20 14:20:04 +02:00
function createCache ( ) {
var cache = {
clear : function ( ) {
cache . head = null ;
} ,
} ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
return cache ;
2020-01-08 12:57:23 +01:00
}
2021-05-20 14:20:04 +02:00
2019-10-15 17:37:08 +02:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns true if entries within the two arrays are strictly equal by
* reference from a starting index .
2019-10-15 17:37:08 +02:00
*
2021-05-20 14:20:04 +02:00
* @ param { Array } a First array .
* @ param { Array } b Second array .
* @ param { number } fromIndex Index from which to start comparison .
*
* @ return { boolean } Whether arrays are shallowly equal .
2019-10-15 17:37:08 +02:00
* /
2021-05-20 14:20:04 +02:00
function isShallowEqual ( a , b , fromIndex ) {
var i ;
2020-01-08 12:57:23 +01:00
2021-05-20 14:20:04 +02:00
if ( a . length !== b . length ) {
return false ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
for ( i = fromIndex ; i < a . length ; i ++ ) {
if ( a [ i ] !== b [ i ] ) {
return false ;
}
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
return true ;
}
2020-01-08 12:57:23 +01:00
/ * *
2021-05-20 14:20:04 +02:00
* Returns a memoized selector function . The getDependants function argument is
* called before the memoized selector and is expected to return an immutable
* reference or array of references on which the selector depends for computing
* its own return value . The memoize cache is preserved only as long as those
* dependant references remain the same . If getDependants returns a different
* reference ( s ) , the cache is cleared and the selector value regenerated .
2020-01-03 14:17:24 +01:00
*
2021-05-20 14:20:04 +02:00
* @ param { Function } selector Selector function .
* @ param { Function } getDependants Dependant getter returning an immutable
* reference or array of reference used in
* cache bust consideration .
2020-01-08 12:57:23 +01:00
*
2021-05-20 14:20:04 +02:00
* @ return { Function } Memoized selector .
2019-10-15 18:17:12 +02:00
* /
2021-05-20 14:20:04 +02:00
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( function ( selector , getDependants ) {
var rootCache , getCache ;
2020-01-03 14:17:24 +01:00
2021-05-20 14:20:04 +02:00
// Use object source as dependant if getter not provided
if ( ! getDependants ) {
getDependants = arrayOf ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
/ * *
* Returns the root cache . If WeakMap is supported , this is assigned to the
* root WeakMap cache set , otherwise it is a shared instance of the default
* cache object .
*
* @ return { ( WeakMap | Object ) } Root cache object .
* /
function getRootCache ( ) {
return rootCache ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
/ * *
* Returns the cache for a given dependants array . When possible , a WeakMap
* will be used to create a unique cache for each set of dependants . This
* is feasible due to the nature of WeakMap in allowing garbage collection
* to occur on entries where the key object is no longer referenced . Since
* WeakMap requires the key to be an object , this is only possible when the
* dependant is object - like . The root cache is created as a hierarchy where
* each top - level key is the first entry in a dependants set , the value a
* WeakMap where each key is the next dependant , and so on . This continues
* so long as the dependants are object - like . If no dependants are object -
* like , then the cache is shared across all invocations .
*
* @ see isObjectLike
*
* @ param { Array } dependants Selector dependants .
*
* @ return { Object } Cache object .
* /
function getWeakMapCache ( dependants ) {
var caches = rootCache ,
isUniqueByDependants = true ,
i , dependant , map , cache ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
for ( i = 0 ; i < dependants . length ; i ++ ) {
dependant = dependants [ i ] ;
2020-01-08 12:57:23 +01:00
2021-05-20 14:20:04 +02:00
// Can only compose WeakMap from object-like key.
if ( ! isObjectLike ( dependant ) ) {
isUniqueByDependants = false ;
break ;
}
2020-01-08 12:57:23 +01:00
2021-05-20 14:20:04 +02:00
// Does current segment of cache already have a WeakMap?
if ( caches . has ( dependant ) ) {
// Traverse into nested WeakMap.
caches = caches . get ( dependant ) ;
} else {
// Create, set, and traverse into a new one.
map = new WeakMap ( ) ;
caches . set ( dependant , map ) ;
caches = map ;
}
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// We use an arbitrary (but consistent) object as key for the last item
// in the WeakMap to serve as our running cache.
if ( ! caches . has ( LEAF _KEY ) ) {
cache = createCache ( ) ;
cache . isUniqueByDependants = isUniqueByDependants ;
caches . set ( LEAF _KEY , cache ) ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
return caches . get ( LEAF _KEY ) ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Assign cache handler by availability of WeakMap
getCache = hasWeakMap ? getWeakMapCache : getRootCache ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
/ * *
* Resets root memoization cache .
* /
function clear ( ) {
rootCache = hasWeakMap ? new WeakMap ( ) : createCache ( ) ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// eslint-disable-next-line jsdoc/check-param-names
/ * *
* The augmented selector call , considering first whether dependants have
* changed before passing it to underlying memoize function .
*
* @ param { Object } source Source object for derivation .
* @ param { ... * } extraArgs Additional arguments to pass to selector .
*
* @ return { * } Selector result .
* /
function callSelector ( /* source, ...extraArgs */ ) {
var len = arguments . length ,
cache , node , i , args , dependants ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Create copy of arguments (avoid leaking deoptimization).
args = new Array ( len ) ;
for ( i = 0 ; i < len ; i ++ ) {
args [ i ] = arguments [ i ] ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
dependants = getDependants . apply ( null , args ) ;
cache = getCache ( dependants ) ;
2021-01-28 03:04:13 +01:00
2021-05-20 14:20:04 +02:00
// If not guaranteed uniqueness by dependants (primitive type or lack
// of WeakMap support), shallow compare against last dependants and, if
// references have changed, destroy cache to recalculate result.
if ( ! cache . isUniqueByDependants ) {
if ( cache . lastDependants && ! isShallowEqual ( dependants , cache . lastDependants , 0 ) ) {
cache . clear ( ) ;
}
2021-01-28 03:04:13 +01:00
2021-05-20 14:20:04 +02:00
cache . lastDependants = dependants ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
node = cache . head ;
while ( node ) {
// Check whether node arguments match arguments
if ( ! isShallowEqual ( node . args , args , 1 ) ) {
node = node . next ;
continue ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// At this point we can assume we've found a match
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Surface matched node to head if not already
if ( node !== cache . head ) {
// Adjust siblings to point to each other.
node . prev . next = node . next ;
if ( node . next ) {
node . next . prev = node . prev ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
node . next = cache . head ;
node . prev = null ;
cache . head . prev = node ;
cache . head = node ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Return immediately
return node . val ;
}
2020-02-10 23:33:27 +01:00
2021-05-20 14:20:04 +02:00
// No cached value found. Continue to insertion phase:
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
node = {
// Generate the result from original function
val : selector . apply ( null , args ) ,
} ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Avoid including the source object in the cache.
args [ 0 ] = null ;
node . args = args ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Don't need to check whether node is already head, since it would
// have been returned above already if it was
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
// Shift existing head down list
if ( cache . head ) {
cache . head . prev = node ;
node . next = cache . head ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
cache . head = node ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
return node . val ;
}
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
callSelector . getDependants = getDependants ;
callSelector . clear = clear ;
clear ( ) ;
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
return callSelector ;
} ) ;
2020-02-10 23:33:27 +01:00
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
/***/ } ) ,
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
/***/ "tI+e" :
/***/ ( function ( module , exports ) {
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
( function ( ) { module . exports = window [ "wp" ] [ "components" ] ; } ( ) ) ;
2019-10-15 18:17:12 +02:00
2021-05-20 14:20:04 +02:00
/***/ } ) ,
2018-12-14 05:41:57 +01:00
2021-05-20 14:20:04 +02:00
/***/ "w95h" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2021-05-19 17:09:27 +02:00
2021-05-20 14:20:04 +02:00
"use strict" ;
/* harmony import */ var _wordpress _element _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( "GRId" ) ;
/* harmony import */ var _wordpress _element _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _wordpress _element _ _WEBPACK _IMPORTED _MODULE _0 _ _ ) ;
/* harmony import */ var _wordpress _primitives _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( "Tqx9" ) ;
/* harmony import */ var _wordpress _primitives _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _wordpress _primitives _ _WEBPACK _IMPORTED _MODULE _1 _ _ ) ;
2021-05-19 17:09:27 +02:00
2018-12-14 05:41:57 +01:00
2020-01-22 23:06:21 +01:00
/ * *
* WordPress dependencies
* /
2021-05-20 14:20:04 +02:00
const close = Object ( _wordpress _element _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ "createElement" ] ) ( _wordpress _primitives _ _WEBPACK _IMPORTED _MODULE _1 _ _ [ "SVG" ] , {
xmlns : "http://www.w3.org/2000/svg" ,
viewBox : "0 0 24 24"
} , Object ( _wordpress _element _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ "createElement" ] ) ( _wordpress _primitives _ _WEBPACK _IMPORTED _MODULE _1 _ _ [ "Path" ] , {
d : "M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( close ) ;
2020-01-22 23:06:21 +01:00
2018-12-14 05:41:57 +01:00
/***/ } )
2018-12-18 04:14:52 +01:00
/******/ } ) ;