2021-05-25 10:40:25 +02:00
this [ "wp" ] = this [ "wp" ] || { } ; this [ "wp" ] [ "customizeWidgets" ] =
/******/ ( 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
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = "9pbN" ) ;
/******/ } )
/************************************************************************/
/******/ ( {
/***/ "1CF3" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "dom" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "1ZqX" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "data" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "6aBm" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "mediaUtils" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "9pbN" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
// ESM COMPAT FLAG
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "initialize" , function ( ) { return /* binding */ initialize ; } ) ;
// NAMESPACE OBJECT: ./node_modules/@wordpress/customize-widgets/build-module/store/selectors.js
var selectors _namespaceObject = { } ;
_ _webpack _require _ _ . r ( selectors _namespaceObject ) ;
_ _webpack _require _ _ . d ( selectors _namespaceObject , "__unstableIsFeatureActive" , function ( ) { return _ _unstableIsFeatureActive ; } ) ;
// NAMESPACE OBJECT: ./node_modules/@wordpress/customize-widgets/build-module/store/actions.js
var actions _namespaceObject = { } ;
_ _webpack _require _ _ . r ( actions _namespaceObject ) ;
_ _webpack _require _ _ . d ( actions _namespaceObject , "__unstableToggleFeature" , function ( ) { return _ _unstableToggleFeature ; } ) ;
// EXTERNAL MODULE: external ["wp","element"]
var external _wp _element _ = _ _webpack _require _ _ ( "GRId" ) ;
// EXTERNAL MODULE: external ["wp","blockLibrary"]
var external _wp _blockLibrary _ = _ _webpack _require _ _ ( "QyPg" ) ;
// EXTERNAL MODULE: external ["wp","widgets"]
var external _wp _widgets _ = _ _webpack _require _ _ ( "GLVC" ) ;
// EXTERNAL MODULE: external ["wp","components"]
var external _wp _components _ = _ _webpack _require _ _ ( "tI+e" ) ;
// EXTERNAL MODULE: external "lodash"
var external _lodash _ = _ _webpack _require _ _ ( "YLtl" ) ;
// EXTERNAL MODULE: external ["wp","coreData"]
var external _wp _coreData _ = _ _webpack _require _ _ ( "jZUy" ) ;
// EXTERNAL MODULE: external ["wp","data"]
var external _wp _data _ = _ _webpack _require _ _ ( "1ZqX" ) ;
// EXTERNAL MODULE: external ["wp","blockEditor"]
var external _wp _blockEditor _ = _ _webpack _require _ _ ( "axFQ" ) ;
// EXTERNAL MODULE: external ["wp","mediaUtils"]
var external _wp _mediaUtils _ = _ _webpack _require _ _ ( "6aBm" ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm _extends = _ _webpack _require _ _ ( "wx14" ) ;
// EXTERNAL MODULE: external ["wp","i18n"]
var external _wp _i18n _ = _ _webpack _require _ _ ( "l3Sj" ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/block-inspector-button/index.js
/ * *
* WordPress dependencies
* /
function BlockInspectorButton ( {
inspector ,
closeMenu ,
... props
} ) {
const selectedBlockClientId = Object ( external _wp _data _ [ "useSelect" ] ) ( select => select ( external _wp _blockEditor _ [ "store" ] ) . getSelectedBlockClientId ( ) , [ ] ) ;
const selectedBlock = Object ( external _wp _element _ [ "useMemo" ] ) ( ( ) => document . getElementById ( ` block- ${ selectedBlockClientId } ` ) , [ selectedBlockClientId ] ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuItem" ] , Object ( esm _extends [ "a" /* default */ ] ) ( {
onClick : ( ) => {
// Open the inspector.
inspector . open ( {
returnFocusWhenClose : selectedBlock
} ) ; // Then close the dropdown menu.
closeMenu ( ) ;
}
} , props ) , Object ( external _wp _i18n _ [ "__" ] ) ( 'Show more settings' ) ) ;
}
/* harmony default export */ var block _inspector _button = ( BlockInspectorButton ) ;
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = _ _webpack _require _ _ ( "TSYQ" ) ;
var classnames _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( classnames ) ;
// EXTERNAL MODULE: external ["wp","keycodes"]
var external _wp _keycodes _ = _ _webpack _require _ _ ( "RxS6" ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/undo.js
var library _undo = _ _webpack _require _ _ ( "Ntru" ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/redo.js
var library _redo = _ _webpack _require _ _ ( "K2cm" ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js
var plus = _ _webpack _require _ _ ( "Q4Sy" ) ;
// EXTERNAL MODULE: external ["wp","compose"]
var external _wp _compose _ = _ _webpack _require _ _ ( "K9lf" ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js
var close _small = _ _webpack _require _ _ ( "bWcr" ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/inserter/index.js
/ * *
* WordPress dependencies
* /
function Inserter ( {
setIsOpened
} ) {
const inserterTitleId = Object ( external _wp _compose _ [ "useInstanceId" ] ) ( Inserter , 'customize-widget-layout__inserter-panel-title' ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-layout__inserter-panel" ,
"aria-labelledby" : inserterTitleId
} , Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-layout__inserter-panel-header"
} , Object ( external _wp _element _ [ "createElement" ] ) ( "h2" , {
id : inserterTitleId ,
className : "customize-widgets-layout__inserter-panel-header-title"
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Add a block' ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Button" ] , {
className : "customize-widgets-layout__inserter-panel-header-close-button" ,
icon : close _small [ "a" /* default */ ] ,
onClick : ( ) => setIsOpened ( false ) ,
"aria-label" : Object ( external _wp _i18n _ [ "__" ] ) ( 'Close inserter' )
} ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-layout__inserter-panel-content"
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "__experimentalLibrary" ] , {
showInserterHelpPanel : true ,
onSelect : ( ) => setIsOpened ( false )
} ) ) ) ;
}
/* harmony default export */ var components _inserter = ( Inserter ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js
var more _vertical = _ _webpack _require _ _ ( "VKE3" ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/external.js
var external = _ _webpack _require _ _ ( "K+tz" ) ;
// EXTERNAL MODULE: external ["wp","keyboardShortcuts"]
var external _wp _keyboardShortcuts _ = _ _webpack _require _ _ ( "hF7m" ) ;
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js
var check = _ _webpack _require _ _ ( "RMJe" ) ;
// EXTERNAL MODULE: external ["wp","a11y"]
var external _wp _a11y _ = _ _webpack _require _ _ ( "gdqT" ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/store/defaults.js
const PREFERENCES _DEFAULTS = {
features : {
fixedToolbar : false ,
welcomeGuide : true
}
} ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/store/reducer.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Higher - order reducer creator which provides the given initial state for the
* original reducer .
*
* @ param { * } initialState Initial state to provide to reducer .
*
* @ return { Function } Higher - order reducer .
* /
const createWithInitialState = initialState => reducer => {
return ( state = initialState , action ) => reducer ( state , action ) ;
} ;
/ * *
* Reducer returning the user preferences .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
const preferences = Object ( external _lodash _ [ "flow" ] ) ( [ external _wp _data _ [ "combineReducers" ] , createWithInitialState ( PREFERENCES _DEFAULTS ) ] ) ( {
features ( state , action ) {
if ( action . type === 'TOGGLE_FEATURE' ) {
return { ... state ,
[ action . feature ] : ! state [ action . feature ]
} ;
}
return state ;
}
} ) ;
/* harmony default export */ var reducer = ( Object ( external _wp _data _ [ "combineReducers" ] ) ( {
preferences
} ) ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/store/selectors.js
/ * *
* External dependencies
* /
/ * *
* Returns whether the given feature is enabled or not .
*
* This function is unstable , as it is mostly copied from the edit - post
* package . Editor features and preferences have a lot of scope for
* being generalized and refactored .
*
* @ param { Object } state Global application state .
* @ param { string } feature Feature slug .
*
* @ return { boolean } Is active .
* /
function _ _unstableIsFeatureActive ( state , feature ) {
return Object ( external _lodash _ [ "get" ] ) ( state . preferences . features , [ feature ] , false ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/store/actions.js
/ * *
* Returns an action object used to toggle a feature flag .
*
* This function is unstable , as it is mostly copied from the edit - post
* package . Editor features and preferences have a lot of scope for
* being generalized and refactored .
*
* @ param { string } feature Feature name .
*
* @ return { Object } Action object .
* /
function _ _unstableToggleFeature ( feature ) {
return {
type : 'TOGGLE_FEATURE' ,
feature
} ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/store/constants.js
/ * *
* Module Constants
* /
const STORE _NAME = 'core/customize-widgets' ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/store/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Block editor data store configuration .
*
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore
*
* @ type { Object }
* /
const storeConfig = {
reducer : reducer ,
selectors : selectors _namespaceObject ,
actions : actions _namespaceObject ,
persist : [ 'preferences' ]
} ;
/ * *
* Store definition for the edit widgets namespace .
*
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
*
* @ type { Object }
* /
const store = Object ( external _wp _data _ [ "createReduxStore" ] ) ( STORE _NAME , storeConfig ) ; // 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.
Object ( external _wp _data _ [ "registerStore" ] ) ( STORE _NAME , storeConfig ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/more-menu/feature-toggle.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function FeatureToggle ( {
label ,
info ,
messageActivated ,
messageDeactivated ,
shortcut ,
feature
} ) {
const isActive = Object ( external _wp _data _ [ "useSelect" ] ) ( select => select ( store ) . _ _unstableIsFeatureActive ( feature ) , [ feature ] ) ;
const {
_ _unstableToggleFeature : toggleFeature
} = Object ( external _wp _data _ [ "useDispatch" ] ) ( store ) ;
const speakMessage = ( ) => {
if ( isActive ) {
Object ( external _wp _a11y _ [ "speak" ] ) ( messageDeactivated || Object ( external _wp _i18n _ [ "__" ] ) ( 'Feature deactivated' ) ) ;
} else {
Object ( external _wp _a11y _ [ "speak" ] ) ( messageActivated || Object ( external _wp _i18n _ [ "__" ] ) ( 'Feature activated' ) ) ;
}
} ;
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuItem" ] , {
icon : isActive && check [ "a" /* default */ ] ,
isSelected : isActive ,
onClick : ( ) => {
toggleFeature ( feature ) ;
speakMessage ( ) ;
} ,
role : "menuitemcheckbox" ,
info : info ,
shortcut : shortcut
} , label ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/config.js
/ * *
* WordPress dependencies
* /
const textFormattingShortcuts = [ {
keyCombination : {
modifier : 'primary' ,
character : 'b'
} ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Make the selected text bold.' )
} , {
keyCombination : {
modifier : 'primary' ,
character : 'i'
} ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Make the selected text italic.' )
} , {
keyCombination : {
modifier : 'primary' ,
character : 'k'
} ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Convert the selected text into a link.' )
} , {
keyCombination : {
modifier : 'primaryShift' ,
character : 'k'
} ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Remove a link.' )
} , {
keyCombination : {
modifier : 'primary' ,
character : 'u'
} ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Underline the selected text.' )
} ] ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/shortcut.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
function KeyCombination ( {
keyCombination ,
forceAriaLabel
} ) {
const shortcut = keyCombination . modifier ? external _wp _keycodes _ [ "displayShortcutList" ] [ keyCombination . modifier ] ( keyCombination . character ) : keyCombination . character ;
const ariaLabel = keyCombination . modifier ? external _wp _keycodes _ [ "shortcutAriaLabel" ] [ keyCombination . modifier ] ( keyCombination . character ) : keyCombination . character ;
return Object ( external _wp _element _ [ "createElement" ] ) ( "kbd" , {
className : "customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination" ,
"aria-label" : forceAriaLabel || ariaLabel
} , Object ( external _lodash _ [ "castArray" ] ) ( shortcut ) . map ( ( character , index ) => {
if ( character === '+' ) {
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , {
key : index
} , character ) ;
}
return Object ( external _wp _element _ [ "createElement" ] ) ( "kbd" , {
key : index ,
className : "customize-widgets-keyboard-shortcut-help-modal__shortcut-key"
} , character ) ;
} ) ) ;
}
function Shortcut ( {
description ,
keyCombination ,
aliases = [ ] ,
ariaLabel
} ) {
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-keyboard-shortcut-help-modal__shortcut-description"
} , description ) , Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-keyboard-shortcut-help-modal__shortcut-term"
} , Object ( external _wp _element _ [ "createElement" ] ) ( KeyCombination , {
keyCombination : keyCombination ,
forceAriaLabel : ariaLabel
} ) , aliases . map ( ( alias , index ) => Object ( external _wp _element _ [ "createElement" ] ) ( KeyCombination , {
keyCombination : alias ,
forceAriaLabel : ariaLabel ,
key : index
} ) ) ) ) ;
}
/* harmony default export */ var keyboard _shortcut _help _modal _shortcut = ( Shortcut ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function DynamicShortcut ( {
name
} ) {
const {
keyCombination ,
description ,
aliases
} = Object ( external _wp _data _ [ "useSelect" ] ) ( select => {
const {
getShortcutKeyCombination ,
getShortcutDescription ,
getShortcutAliases
} = select ( external _wp _keyboardShortcuts _ [ "store" ] ) ;
return {
keyCombination : getShortcutKeyCombination ( name ) ,
aliases : getShortcutAliases ( name ) ,
description : getShortcutDescription ( name )
} ;
} ) ;
if ( ! keyCombination ) {
return null ;
}
return Object ( external _wp _element _ [ "createElement" ] ) ( keyboard _shortcut _help _modal _shortcut , {
keyCombination : keyCombination ,
description : description ,
aliases : aliases
} ) ;
}
/* harmony default export */ var dynamic _shortcut = ( DynamicShortcut ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/index.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
const ShortcutList = ( {
shortcuts
} ) =>
/ *
* Disable reason : The ` list ` ARIA role is redundant but
* Safari + VoiceOver won ' t announce the list otherwise .
* /
/* eslint-disable jsx-a11y/no-redundant-roles */
Object ( external _wp _element _ [ "createElement" ] ) ( "ul" , {
className : "customize-widgets-keyboard-shortcut-help-modal__shortcut-list" ,
role : "list"
} , shortcuts . map ( ( shortcut , index ) => Object ( external _wp _element _ [ "createElement" ] ) ( "li" , {
className : "customize-widgets-keyboard-shortcut-help-modal__shortcut" ,
key : index
} , Object ( external _lodash _ [ "isString" ] ) ( shortcut ) ? Object ( external _wp _element _ [ "createElement" ] ) ( dynamic _shortcut , {
name : shortcut
} ) : Object ( external _wp _element _ [ "createElement" ] ) ( keyboard _shortcut _help _modal _shortcut , shortcut ) ) ) )
/* eslint-enable jsx-a11y/no-redundant-roles */
;
const ShortcutSection = ( {
title ,
shortcuts ,
className
} ) => Object ( external _wp _element _ [ "createElement" ] ) ( "section" , {
className : classnames _default ( ) ( 'customize-widgets-keyboard-shortcut-help-modal__section' , className )
} , ! ! title && Object ( external _wp _element _ [ "createElement" ] ) ( "h2" , {
className : "customize-widgets-keyboard-shortcut-help-modal__section-title"
} , title ) , Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutList , {
shortcuts : shortcuts
} ) ) ;
const ShortcutCategorySection = ( {
title ,
categoryName ,
additionalShortcuts = [ ]
} ) => {
const categoryShortcuts = Object ( external _wp _data _ [ "useSelect" ] ) ( select => {
return select ( external _wp _keyboardShortcuts _ [ "store" ] ) . getCategoryShortcuts ( categoryName ) ;
} , [ categoryName ] ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutSection , {
title : title ,
shortcuts : categoryShortcuts . concat ( additionalShortcuts )
} ) ;
} ;
function KeyboardShortcutHelpModal ( {
isModalActive ,
toggleModal
} ) {
const {
registerShortcut
} = Object ( external _wp _data _ [ "useDispatch" ] ) ( external _wp _keyboardShortcuts _ [ "store" ] ) ;
registerShortcut ( {
name : 'core/customize-widgets/keyboard-shortcuts' ,
category : 'main' ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Display these keyboard shortcuts.' ) ,
keyCombination : {
modifier : 'access' ,
character : 'h'
}
} ) ;
Object ( external _wp _keyboardShortcuts _ [ "useShortcut" ] ) ( 'core/customize-widgets/keyboard-shortcuts' , toggleModal , {
bindGlobal : true
} ) ;
if ( ! isModalActive ) {
return null ;
}
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Modal" ] , {
className : "customize-widgets-keyboard-shortcut-help-modal" ,
title : Object ( external _wp _i18n _ [ "__" ] ) ( 'Keyboard shortcuts' ) ,
closeLabel : Object ( external _wp _i18n _ [ "__" ] ) ( 'Close' ) ,
onRequestClose : toggleModal
} , Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutSection , {
className : "customize-widgets-keyboard-shortcut-help-modal__main-shortcuts" ,
shortcuts : [ 'core/customize-widgets/keyboard-shortcuts' ]
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutCategorySection , {
title : Object ( external _wp _i18n _ [ "__" ] ) ( 'Global shortcuts' ) ,
categoryName : "global"
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutCategorySection , {
title : Object ( external _wp _i18n _ [ "__" ] ) ( 'Selection shortcuts' ) ,
categoryName : "selection"
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutCategorySection , {
title : Object ( external _wp _i18n _ [ "__" ] ) ( 'Block shortcuts' ) ,
categoryName : "block" ,
additionalShortcuts : [ {
keyCombination : {
character : '/'
} ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Change the block type after adding a new paragraph.' ) ,
/* translators: The forward-slash character. e.g. '/'. */
ariaLabel : Object ( external _wp _i18n _ [ "__" ] ) ( 'Forward-slash' )
} ]
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( ShortcutSection , {
title : Object ( external _wp _i18n _ [ "__" ] ) ( 'Text formatting' ) ,
shortcuts : textFormattingShortcuts
} ) ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/more-menu/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
const POPOVER _PROPS = {
className : 'customize-widgets-more-menu__content' ,
position : 'bottom left'
} ;
const TOGGLE _PROPS = {
tooltipPosition : 'bottom'
} ;
function MoreMenu ( ) {
const [ isKeyboardShortcutsModalActive , setIsKeyboardShortcutsModalVisible ] = Object ( external _wp _element _ [ "useState" ] ) ( false ) ;
const toggleKeyboardShortcutsModal = ( ) => setIsKeyboardShortcutsModalVisible ( ! isKeyboardShortcutsModalActive ) ;
Object ( external _wp _keyboardShortcuts _ [ "useShortcut" ] ) ( 'core/customize-widgets/keyboard-shortcuts' , toggleKeyboardShortcutsModal , {
bindGlobal : true
} ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "ToolbarDropdownMenu" ] , {
className : "customize-widgets-more-menu" ,
icon : more _vertical [ "a" /* default */ ]
/* translators: button label text should, if possible, be under 16 characters. */
,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Options' ) ,
popoverProps : POPOVER _PROPS ,
toggleProps : TOGGLE _PROPS
} , ( ) => Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuGroup" ] , {
label : Object ( external _wp _i18n _ [ "_x" ] ) ( 'View' , 'noun' )
} , Object ( external _wp _element _ [ "createElement" ] ) ( FeatureToggle , {
feature : "fixedToolbar" ,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Top toolbar' ) ,
info : Object ( external _wp _i18n _ [ "__" ] ) ( 'Access all block and document tools in a single place' ) ,
messageActivated : Object ( external _wp _i18n _ [ "__" ] ) ( 'Top toolbar activated' ) ,
messageDeactivated : Object ( external _wp _i18n _ [ "__" ] ) ( 'Top toolbar deactivated' )
} ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuGroup" ] , {
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Tools' )
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuItem" ] , {
onClick : ( ) => {
setIsKeyboardShortcutsModalVisible ( true ) ;
} ,
shortcut : external _wp _keycodes _ [ "displayShortcut" ] . access ( 'h' )
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Keyboard shortcuts' ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( FeatureToggle , {
feature : "welcomeGuide" ,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Welcome Guide' )
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuItem" ] , {
role : "menuitem" ,
icon : external [ "a" /* default */ ] ,
href : Object ( external _wp _i18n _ [ "__" ] ) ( 'https://wordpress.org/support/article/wordpress-editor/' ) ,
target : "_blank" ,
rel : "noopener noreferrer"
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Help' ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "VisuallyHidden" ] , {
as : "span"
} ,
/* translators: accessibility text */
2021-06-01 10:10:04 +02:00
Object ( external _wp _i18n _ [ "__" ] ) ( '(opens in a new tab)' ) ) ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "MenuGroup" ] , {
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Preferences' )
} , Object ( external _wp _element _ [ "createElement" ] ) ( FeatureToggle , {
2021-05-25 10:40:25 +02:00
feature : "keepCaretInsideBlock" ,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Contain text cursor inside block' ) ,
info : Object ( external _wp _i18n _ [ "__" ] ) ( 'Aids screen readers by stopping text caret from leaving blocks.' ) ,
messageActivated : Object ( external _wp _i18n _ [ "__" ] ) ( 'Contain text cursor inside block activated' ) ,
messageDeactivated : Object ( external _wp _i18n _ [ "__" ] ) ( 'Contain text cursor inside block deactivated' )
} ) ) ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( KeyboardShortcutHelpModal , {
isModalActive : isKeyboardShortcutsModalActive ,
toggleModal : toggleKeyboardShortcutsModal
} ) ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/header/index.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function Header ( {
sidebar ,
inserter ,
isInserterOpened ,
setIsInserterOpened ,
isFixedToolbarActive
} ) {
const [ [ hasUndo , hasRedo ] , setUndoRedo ] = Object ( external _wp _element _ [ "useState" ] ) ( [ sidebar . hasUndo ( ) , sidebar . hasRedo ( ) ] ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
return sidebar . subscribeHistory ( ( ) => {
setUndoRedo ( [ sidebar . hasUndo ( ) , sidebar . hasRedo ( ) ] ) ;
} ) ;
} , [ sidebar ] ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : classnames _default ( ) ( 'customize-widgets-header' , {
'is-fixed-toolbar-active' : isFixedToolbarActive
} )
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "NavigableToolbar" ] , {
className : "customize-widgets-header-toolbar" ,
"aria-label" : Object ( external _wp _i18n _ [ "__" ] ) ( 'Document tools' )
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "ToolbarButton" ] , {
icon : ! Object ( external _wp _i18n _ [ "isRTL" ] ) ( ) ? library _undo [ "a" /* default */ ] : library _redo [ "a" /* default */ ]
/* translators: button label text should, if possible, be under 16 characters. */
,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Undo' ) ,
shortcut : external _wp _keycodes _ [ "displayShortcut" ] . primary ( 'z' ) // If there are no undo levels we don't want to actually disable this
// button, because it will remove focus for keyboard users.
// See: https://github.com/WordPress/gutenberg/issues/3486
,
"aria-disabled" : ! hasUndo ,
onClick : sidebar . undo ,
className : "customize-widgets-editor-history-button undo-button"
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "ToolbarButton" ] , {
icon : ! Object ( external _wp _i18n _ [ "isRTL" ] ) ( ) ? library _redo [ "a" /* default */ ] : library _undo [ "a" /* default */ ]
/* translators: button label text should, if possible, be under 16 characters. */
,
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Redo' ) ,
shortcut : external _wp _keycodes _ [ "displayShortcut" ] . primaryShift ( 'z' ) // If there are no undo levels we don't want to actually disable this
// button, because it will remove focus for keyboard users.
// See: https://github.com/WordPress/gutenberg/issues/3486
,
"aria-disabled" : ! hasRedo ,
onClick : sidebar . redo ,
className : "customize-widgets-editor-history-button redo-button"
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "ToolbarButton" ] , {
className : "customize-widgets-header-toolbar__inserter-toggle" ,
isPressed : isInserterOpened ,
isPrimary : true ,
icon : plus [ "a" /* default */ ] ,
label : Object ( external _wp _i18n _ [ "_x" ] ) ( 'Add block' , 'Generic label for block inserter button' ) ,
onClick : ( ) => {
setIsInserterOpened ( isOpen => ! isOpen ) ;
}
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( MoreMenu , null ) ) ) , Object ( external _wp _element _ [ "createPortal" ] ) ( Object ( external _wp _element _ [ "createElement" ] ) ( components _inserter , {
setIsOpened : setIsInserterOpened
} ) , inserter . contentContainer [ 0 ] ) ) ;
}
/* harmony default export */ var header = ( Header ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/inserter/use-inserter.js
/ * *
* WordPress dependencies
* /
function useInserter ( inserter ) {
const [ isInserterOpened , setIsInserterOpened ] = Object ( external _wp _element _ [ "useState" ] ) ( ( ) => inserter . isOpen ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
return inserter . subscribe ( setIsInserterOpened ) ;
} , [ inserter ] ) ;
return [ isInserterOpened , Object ( external _wp _element _ [ "useCallback" ] ) ( updater => {
let isOpen = updater ;
if ( typeof updater === 'function' ) {
isOpen = updater ( inserter . isOpen ) ;
}
if ( isOpen ) {
inserter . open ( ) ;
} else {
inserter . close ( ) ;
}
} , [ inserter ] ) ] ;
}
// EXTERNAL MODULE: external ["wp","blocks"]
var external _wp _blocks _ = _ _webpack _require _ _ ( "HSyU" ) ;
// EXTERNAL MODULE: external ["wp","isShallowEqual"]
var external _wp _isShallowEqual _ = _ _webpack _require _ _ ( "rl8x" ) ;
var external _wp _isShallowEqual _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _wp _isShallowEqual _ ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/use-sidebar-block-editor.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
function blockToWidget ( block , existingWidget = null ) {
let widget ;
const isValidLegacyWidgetBlock = block . name === 'core/legacy-widget' && ( block . attributes . id || block . attributes . instance ) ;
if ( isValidLegacyWidgetBlock ) {
if ( block . attributes . id ) {
// Widget that does not extend WP_Widget.
widget = {
id : block . attributes . id
} ;
} else {
const {
encoded ,
hash ,
raw ,
... rest
} = block . attributes . instance ; // Widget that extends WP_Widget.
widget = {
idBase : block . attributes . idBase ,
instance : { ... ( existingWidget === null || existingWidget === void 0 ? void 0 : existingWidget . instance ) ,
2021-06-01 10:10:04 +02:00
// Required only for the customizer.
is _widget _customizer _js _value : true ,
2021-05-25 10:40:25 +02:00
encoded _serialized _instance : encoded ,
instance _hash _key : hash ,
raw _instance : raw ,
... rest
}
} ;
}
} else {
const instance = {
content : Object ( external _wp _blocks _ [ "serialize" ] ) ( block )
} ;
widget = {
idBase : 'block' ,
widgetClass : 'WP_Widget_Block' ,
instance : {
raw _instance : instance
}
} ;
}
return { ... Object ( external _lodash _ [ "omit" ] ) ( existingWidget , [ 'form' , 'rendered' ] ) ,
... widget
} ;
}
function widgetToBlock ( {
id ,
idBase ,
number ,
instance
} ) {
let block ;
const {
encoded _serialized _instance : encoded ,
instance _hash _key : hash ,
raw _instance : raw ,
... rest
} = instance ;
if ( idBase === 'block' ) {
const parsedBlocks = Object ( external _wp _blocks _ [ "parse" ] ) ( raw . content ) ;
block = parsedBlocks . length ? parsedBlocks [ 0 ] : Object ( external _wp _blocks _ [ "createBlock" ] ) ( 'core/paragraph' , { } ) ;
} else if ( number ) {
// Widget that extends WP_Widget.
block = Object ( external _wp _blocks _ [ "createBlock" ] ) ( 'core/legacy-widget' , {
idBase ,
instance : {
encoded ,
hash ,
raw ,
... rest
}
} ) ;
} else {
// Widget that does not extend WP_Widget.
block = Object ( external _wp _blocks _ [ "createBlock" ] ) ( 'core/legacy-widget' , {
id
} ) ;
}
return Object ( external _wp _widgets _ [ "addWidgetIdToBlock" ] ) ( block , id ) ;
}
function widgetsToBlocks ( widgets ) {
return widgets . map ( widget => widgetToBlock ( widget ) ) ;
}
function useSidebarBlockEditor ( sidebar ) {
const [ blocks , setBlocks ] = Object ( external _wp _element _ [ "useState" ] ) ( ( ) => widgetsToBlocks ( sidebar . getWidgets ( ) ) ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
return sidebar . subscribe ( ( prevWidgets , nextWidgets ) => {
setBlocks ( prevBlocks => {
const prevWidgetsMap = new Map ( prevWidgets . map ( widget => [ widget . id , widget ] ) ) ;
const prevBlocksMap = new Map ( prevBlocks . map ( block => [ Object ( external _wp _widgets _ [ "getWidgetIdFromBlock" ] ) ( block ) , block ] ) ) ;
const nextBlocks = nextWidgets . map ( nextWidget => {
const prevWidget = prevWidgetsMap . get ( nextWidget . id ) ; // Bail out updates.
if ( prevWidget && prevWidget === nextWidget ) {
return prevBlocksMap . get ( nextWidget . id ) ;
}
return widgetToBlock ( nextWidget ) ;
} ) ; // Bail out updates.
if ( external _wp _isShallowEqual _default ( ) ( prevBlocks , nextBlocks ) ) {
return prevBlocks ;
}
return nextBlocks ;
} ) ;
} ) ;
} , [ sidebar ] ) ;
const onChangeBlocks = Object ( external _wp _element _ [ "useCallback" ] ) ( nextBlocks => {
setBlocks ( prevBlocks => {
if ( external _wp _isShallowEqual _default ( ) ( prevBlocks , nextBlocks ) ) {
return prevBlocks ;
}
const prevBlocksMap = new Map ( prevBlocks . map ( block => [ Object ( external _wp _widgets _ [ "getWidgetIdFromBlock" ] ) ( block ) , block ] ) ) ;
const nextWidgets = nextBlocks . map ( nextBlock => {
const widgetId = Object ( external _wp _widgets _ [ "getWidgetIdFromBlock" ] ) ( nextBlock ) ; // Update existing widgets.
if ( widgetId && prevBlocksMap . has ( widgetId ) ) {
const prevBlock = prevBlocksMap . get ( widgetId ) ;
const prevWidget = sidebar . getWidget ( widgetId ) ; // Bail out updates by returning the previous widgets.
// Deep equality is necessary until the block editor's internals changes.
if ( Object ( external _lodash _ [ "isEqual" ] ) ( nextBlock , prevBlock ) && prevWidget ) {
return prevWidget ;
}
return blockToWidget ( nextBlock , prevWidget ) ;
} // Add a new widget.
return blockToWidget ( nextBlock ) ;
} ) ; // Bail out updates if the updated widgets are the same.
if ( external _wp _isShallowEqual _default ( ) ( sidebar . getWidgets ( ) , nextWidgets ) ) {
return prevBlocks ;
}
const addedWidgetIds = sidebar . setWidgets ( nextWidgets ) ;
return nextBlocks . reduce ( ( updatedNextBlocks , nextBlock , index ) => {
const addedWidgetId = addedWidgetIds [ index ] ;
if ( addedWidgetId !== null ) {
// Only create a new instance if necessary to prevent
// the whole editor from re-rendering on every edit.
if ( updatedNextBlocks === nextBlocks ) {
updatedNextBlocks = nextBlocks . slice ( ) ;
}
updatedNextBlocks [ index ] = Object ( external _wp _widgets _ [ "addWidgetIdToBlock" ] ) ( nextBlock , addedWidgetId ) ;
}
return updatedNextBlocks ;
} , nextBlocks ) ;
} ) ;
} , [ sidebar ] ) ;
return [ blocks , onChangeBlocks , onChangeBlocks ] ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/utils.js
// @ts-check
/ * *
* Convert settingId to widgetId .
*
* @ param { string } settingId The setting id .
* @ return { string } The widget id .
* /
function settingIdToWidgetId ( settingId ) {
const matches = settingId . match ( /^widget_(.+)(?:\[(\d+)\])$/ ) ;
if ( matches ) {
const idBase = matches [ 1 ] ;
const number = parseInt ( matches [ 2 ] , 10 ) ;
return ` ${ idBase } - ${ number } ` ;
}
return settingId ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/focus-control/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
const FocusControlContext = Object ( external _wp _element _ [ "createContext" ] ) ( ) ;
function FocusControl ( {
api ,
sidebarControls ,
children
} ) {
const [ focusedWidgetIdRef , setFocusedWidgetIdRef ] = Object ( external _wp _element _ [ "useState" ] ) ( {
current : null
} ) ;
const focusWidget = Object ( external _wp _element _ [ "useCallback" ] ) ( widgetId => {
for ( const sidebarControl of sidebarControls ) {
const widgets = sidebarControl . setting . get ( ) ;
if ( widgets . includes ( widgetId ) ) {
sidebarControl . sectionInstance . expand ( {
// Schedule it after the complete callback so that
// it won't be overridden by the "Back" button focus.
completeCallback ( ) {
// Create a "ref-like" object every time to ensure
// the same widget id can also triggers the focus control.
setFocusedWidgetIdRef ( {
current : widgetId
} ) ;
}
} ) ;
break ;
}
}
} , [ sidebarControls ] ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
function handleFocus ( settingId ) {
const widgetId = settingIdToWidgetId ( settingId ) ;
focusWidget ( widgetId ) ;
}
function handleReady ( ) {
api . previewer . preview . bind ( 'focus-control-for-setting' , handleFocus ) ;
}
api . previewer . bind ( 'ready' , handleReady ) ;
return ( ) => {
api . previewer . unbind ( 'ready' , handleReady ) ;
api . previewer . preview . unbind ( 'focus-control-for-setting' , handleFocus ) ;
} ;
} , [ api , focusWidget ] ) ;
const context = Object ( external _wp _element _ [ "useMemo" ] ) ( ( ) => [ focusedWidgetIdRef , focusWidget ] , [ focusedWidgetIdRef , focusWidget ] ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( FocusControlContext . Provider , {
value : context
} , children ) ;
}
const useFocusControl = ( ) => Object ( external _wp _element _ [ "useContext" ] ) ( FocusControlContext ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/focus-control/use-blocks-focus-control.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function useBlocksFocusControl ( blocks ) {
const {
selectBlock
} = Object ( external _wp _data _ [ "useDispatch" ] ) ( external _wp _blockEditor _ [ "store" ] ) ;
const [ focusedWidgetIdRef ] = useFocusControl ( ) ;
const blocksRef = Object ( external _wp _element _ [ "useRef" ] ) ( blocks ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
blocksRef . current = blocks ;
} , [ blocks ] ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
if ( focusedWidgetIdRef . current ) {
const focusedBlock = blocksRef . current . find ( block => Object ( external _wp _widgets _ [ "getWidgetIdFromBlock" ] ) ( block ) === focusedWidgetIdRef . current ) ;
if ( focusedBlock ) {
selectBlock ( focusedBlock . clientId ) ; // If the block is already being selected, the DOM node won't
// get focused again automatically.
// We select the DOM and focus it manually here.
const blockNode = document . querySelector ( ` [data-block=" ${ focusedBlock . clientId } "] ` ) ;
blockNode === null || blockNode === void 0 ? void 0 : blockNode . focus ( ) ;
}
}
} , [ focusedWidgetIdRef , selectBlock ] ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/sidebar-editor-provider.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function SidebarEditorProvider ( {
sidebar ,
settings ,
children
} ) {
const [ blocks , onInput , onChange ] = useSidebarBlockEditor ( sidebar ) ;
useBlocksFocusControl ( blocks ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockEditorProvider" ] , {
value : blocks ,
onInput : onInput ,
onChange : onChange ,
settings : settings ,
useSubRegistry : false
} , children ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/welcome-guide/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function WelcomeGuide ( {
sidebar
} ) {
const {
_ _unstableToggleFeature : toggleFeature
} = Object ( external _wp _data _ [ "useDispatch" ] ) ( store ) ;
const isEntirelyBlockWidgets = sidebar . getWidgets ( ) . every ( widget => widget . id . startsWith ( 'block-' ) ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-welcome-guide"
2021-06-01 10:10:04 +02:00
} , Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
className : "customize-widgets-welcome-guide__image__wrapper"
} , Object ( external _wp _element _ [ "createElement" ] ) ( "picture" , null , Object ( external _wp _element _ [ "createElement" ] ) ( "source" , {
srcSet : "https://s.w.org/images/block-editor/welcome-editor.svg" ,
media : "(prefers-reduced-motion: reduce)"
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( "img" , {
className : "customize-widgets-welcome-guide__image" ,
src : "https://s.w.org/images/block-editor/welcome-editor.gif" ,
width : "312" ,
height : "240" ,
alt : ""
} ) ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( "h1" , {
2021-05-25 10:40:25 +02:00
className : "customize-widgets-welcome-guide__heading"
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Welcome to block Widgets' ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( "p" , {
className : "customize-widgets-welcome-guide__text"
} , isEntirelyBlockWidgets ? Object ( external _wp _i18n _ [ "__" ] ) ( 'Your theme provides different “block” areas for you to add and edit content. Try adding a search bar, social icons, or other types of blocks here and see how they’ ll look on your site.' ) : Object ( external _wp _i18n _ [ "__" ] ) ( 'You can now add any block to your site’ s widget areas. Don’ t worry, all of your favorite widgets still work flawlessly.' ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Button" ] , {
className : "customize-widgets-welcome-guide__button" ,
isPrimary : true ,
onClick : ( ) => toggleFeature ( 'welcomeGuide' )
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Got it' ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( "hr" , {
className : "customize-widgets-welcome-guide__separator"
} ) , ! isEntirelyBlockWidgets && Object ( external _wp _element _ [ "createElement" ] ) ( "p" , {
className : "customize-widgets-welcome-guide__more-info"
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Want to stick with the old widgets?' ) , Object ( external _wp _element _ [ "createElement" ] ) ( "br" , null ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "ExternalLink" ] , {
href : Object ( external _wp _i18n _ [ "__" ] ) ( 'https://wordpress.org/plugins/classic-widgets/' )
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'Get the Classic Widgets plugin.' ) ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( "p" , {
className : "customize-widgets-welcome-guide__more-info"
} , Object ( external _wp _i18n _ [ "__" ] ) ( 'New to the block editor?' ) , Object ( external _wp _element _ [ "createElement" ] ) ( "br" , null ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "ExternalLink" ] , {
href : Object ( external _wp _i18n _ [ "__" ] ) ( 'https://wordpress.org/support/article/wordpress-editor/' )
} , Object ( external _wp _i18n _ [ "__" ] ) ( "Here's a detailed guide." ) ) ) ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcuts/index.js
/ * *
* WordPress dependencies
* /
function KeyboardShortcuts ( {
undo ,
redo ,
save
} ) {
Object ( external _wp _keyboardShortcuts _ [ "useShortcut" ] ) ( 'core/customize-widgets/undo' , event => {
undo ( ) ;
event . preventDefault ( ) ;
} , {
bindGlobal : true
} ) ;
Object ( external _wp _keyboardShortcuts _ [ "useShortcut" ] ) ( 'core/customize-widgets/redo' , event => {
redo ( ) ;
event . preventDefault ( ) ;
} , {
bindGlobal : true
} ) ;
Object ( external _wp _keyboardShortcuts _ [ "useShortcut" ] ) ( 'core/customize-widgets/save' , event => {
event . preventDefault ( ) ;
save ( ) ;
} , {
bindGlobal : true
} ) ;
return null ;
}
function KeyboardShortcutsRegister ( ) {
const {
registerShortcut ,
unregisterShortcut
} = Object ( external _wp _data _ [ "useDispatch" ] ) ( external _wp _keyboardShortcuts _ [ "store" ] ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
registerShortcut ( {
name : 'core/customize-widgets/undo' ,
category : 'global' ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Undo your last changes.' ) ,
keyCombination : {
modifier : 'primary' ,
character : 'z'
}
} ) ;
registerShortcut ( {
name : 'core/customize-widgets/redo' ,
category : 'global' ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Redo your last undo.' ) ,
keyCombination : {
modifier : 'primaryShift' ,
character : 'z'
}
} ) ;
registerShortcut ( {
name : 'core/customize-widgets/save' ,
category : 'global' ,
description : Object ( external _wp _i18n _ [ "__" ] ) ( 'Save your changes.' ) ,
keyCombination : {
modifier : 'primary' ,
character : 's'
}
} ) ;
return ( ) => {
unregisterShortcut ( 'core/customize-widgets/undo' ) ;
unregisterShortcut ( 'core/customize-widgets/redo' ) ;
unregisterShortcut ( 'core/customize-widgets/save' ) ;
} ;
} , [ registerShortcut ] ) ;
return null ;
}
KeyboardShortcuts . Register = KeyboardShortcutsRegister ;
/* harmony default export */ var keyboard _shortcuts = ( KeyboardShortcuts ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/index.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function SidebarBlockEditor ( {
blockEditorSettings ,
sidebar ,
inserter ,
inspector
} ) {
const [ isInserterOpened , setIsInserterOpened ] = useInserter ( inserter ) ;
const {
hasUploadPermissions ,
isFixedToolbarActive ,
keepCaretInsideBlock ,
isWelcomeGuideActive
} = Object ( external _wp _data _ [ "useSelect" ] ) ( select => {
return {
hasUploadPermissions : Object ( external _lodash _ [ "defaultTo" ] ) ( select ( external _wp _coreData _ [ "store" ] ) . canUser ( 'create' , 'media' ) , true ) ,
isFixedToolbarActive : select ( store ) . _ _unstableIsFeatureActive ( 'fixedToolbar' ) ,
keepCaretInsideBlock : select ( store ) . _ _unstableIsFeatureActive ( 'keepCaretInsideBlock' ) ,
isWelcomeGuideActive : select ( store ) . _ _unstableIsFeatureActive ( 'welcomeGuide' )
} ;
} , [ ] ) ;
const settings = Object ( external _wp _element _ [ "useMemo" ] ) ( ( ) => {
let mediaUploadBlockEditor ;
if ( hasUploadPermissions ) {
mediaUploadBlockEditor = ( {
onError ,
... argumentsObject
} ) => {
Object ( external _wp _mediaUtils _ [ "uploadMedia" ] ) ( {
wpAllowedMimeTypes : blockEditorSettings . allowedMimeTypes ,
onError : ( {
message
} ) => onError ( message ) ,
... argumentsObject
} ) ;
} ;
}
return { ... blockEditorSettings ,
_ _experimentalSetIsInserterOpened : setIsInserterOpened ,
mediaUpload : mediaUploadBlockEditor ,
hasFixedToolbar : isFixedToolbarActive ,
keepCaretInsideBlock
} ;
} , [ hasUploadPermissions , blockEditorSettings , isFixedToolbarActive , keepCaretInsideBlock ] ) ;
if ( isWelcomeGuideActive ) {
return Object ( external _wp _element _ [ "createElement" ] ) ( WelcomeGuide , {
sidebar : sidebar
} ) ;
}
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockEditorKeyboardShortcuts" ] . Register , null ) , Object ( external _wp _element _ [ "createElement" ] ) ( keyboard _shortcuts . Register , null ) , Object ( external _wp _element _ [ "createElement" ] ) ( SidebarEditorProvider , {
sidebar : sidebar ,
settings : settings
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockEditorKeyboardShortcuts" ] , null ) , Object ( external _wp _element _ [ "createElement" ] ) ( keyboard _shortcuts , {
undo : sidebar . undo ,
redo : sidebar . redo ,
save : sidebar . save
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( header , {
sidebar : sidebar ,
inserter : inserter ,
isInserterOpened : isInserterOpened ,
setIsInserterOpened : setIsInserterOpened ,
isFixedToolbarActive : isFixedToolbarActive
2021-06-15 10:52:30 +02:00
} ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockTools" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockSelectionClearer" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "WritingFlow" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "ObserveTyping" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockList" ] , {
renderAppender : external _wp _blockEditor _ [ "ButtonBlockAppender" ]
} ) ) ) ) ) , Object ( external _wp _element _ [ "createPortal" ] ) ( // This is a temporary hack to prevent button component inside <BlockInspector>
2021-05-25 10:40:25 +02:00
// from submitting form when type="button" is not specified.
Object ( external _wp _element _ [ "createElement" ] ) ( "form" , {
onSubmit : event => event . preventDefault ( )
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockInspector" ] , null ) ) , inspector . contentContainer [ 0 ] ) ) , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "__unstableBlockSettingsMenuFirstItem" ] , null , ( {
onClose
} ) => Object ( external _wp _element _ [ "createElement" ] ) ( block _inspector _button , {
inspector : inspector ,
closeMenu : onClose
} ) ) ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-controls/index.js
/ * *
* WordPress dependencies
* /
const SidebarControlsContext = Object ( external _wp _element _ [ "createContext" ] ) ( ) ;
function SidebarControls ( {
sidebarControls ,
activeSidebarControl ,
children
} ) {
const context = Object ( external _wp _element _ [ "useMemo" ] ) ( ( ) => ( {
sidebarControls ,
activeSidebarControl
} ) , [ sidebarControls , activeSidebarControl ] ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( SidebarControlsContext . Provider , {
value : context
} , children ) ;
}
function useSidebarControls ( ) {
const {
sidebarControls
} = Object ( external _wp _element _ [ "useContext" ] ) ( SidebarControlsContext ) ;
return sidebarControls ;
}
function useActiveSidebarControl ( ) {
const {
activeSidebarControl
} = Object ( external _wp _element _ [ "useContext" ] ) ( SidebarControlsContext ) ;
return activeSidebarControl ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/customize-widgets/use-clear-selected-block.js
/ * *
* WordPress dependencies
* /
/ * *
* We can ' t just use < BlockSelectionClearer > because the customizer has
* many root nodes rather than just one in the post editor .
* We need to listen to the focus events in all those roots , and also in
* the preview iframe .
2021-06-01 10:10:04 +02:00
* This hook will clear the selected block when focusing outside the editor ,
* with a few exceptions :
* 1. Focusing on popovers .
* 2. Focusing on the inspector .
* 3. Focusing on any modals / dialogs .
* These cases are normally triggered by user interactions from the editor ,
* not by explicitly focusing outside the editor , hence no need for clearing .
2021-05-25 10:40:25 +02:00
*
* @ param { Object } sidebarControl The sidebar control instance .
* @ param { Object } popoverRef The ref object of the popover node container .
* /
function useClearSelectedBlock ( sidebarControl , popoverRef ) {
const {
hasSelectedBlock ,
hasMultiSelection
} = Object ( external _wp _data _ [ "useSelect" ] ) ( external _wp _blockEditor _ [ "store" ] ) ;
const {
clearSelectedBlock
} = Object ( external _wp _data _ [ "useDispatch" ] ) ( external _wp _blockEditor _ [ "store" ] ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
if ( popoverRef . current && sidebarControl ) {
2021-06-08 10:09:53 +02:00
const inspector = sidebarControl . inspector ;
2021-05-25 10:40:25 +02:00
const container = sidebarControl . container [ 0 ] ;
const ownerDocument = container . ownerDocument ;
const ownerWindow = ownerDocument . defaultView ;
function handleClearSelectedBlock ( element ) {
if ( // 1. Make sure there are blocks being selected.
( hasSelectedBlock ( ) || hasMultiSelection ( ) ) && // 2. The element should exist in the DOM (not deleted).
2021-06-08 10:09:53 +02:00
element && ownerDocument . contains ( element ) && // 3. It should also not exist in the container, the popover, nor the dialog.
! container . contains ( element ) && ! popoverRef . current . contains ( element ) && ! element . closest ( '[role="dialog"]' ) && // 4. The inspector should not be opened.
! inspector . expanded ( ) ) {
2021-05-25 10:40:25 +02:00
clearSelectedBlock ( ) ;
}
2021-06-22 12:00:50 +02:00
} // Handle mouse down in the same document.
2021-05-25 10:40:25 +02:00
2021-06-22 12:00:50 +02:00
function handleMouseDown ( event ) {
2021-05-25 10:40:25 +02:00
handleClearSelectedBlock ( event . target ) ;
} // Handle focusing outside the current document, like to iframes.
function handleBlur ( ) {
handleClearSelectedBlock ( ownerDocument . activeElement ) ;
}
2021-06-22 12:00:50 +02:00
ownerDocument . addEventListener ( 'mousedown' , handleMouseDown ) ;
2021-05-25 10:40:25 +02:00
ownerWindow . addEventListener ( 'blur' , handleBlur ) ;
return ( ) => {
2021-06-22 12:00:50 +02:00
ownerDocument . removeEventListener ( 'mousedown' , handleMouseDown ) ;
2021-05-25 10:40:25 +02:00
ownerWindow . removeEventListener ( 'blur' , handleBlur ) ;
} ;
}
} , [ popoverRef , sidebarControl , hasSelectedBlock , hasMultiSelection , clearSelectedBlock ] ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/customize-widgets/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function CustomizeWidgets ( {
api ,
sidebarControls ,
blockEditorSettings
} ) {
const [ activeSidebarControl , setActiveSidebarControl ] = Object ( external _wp _element _ [ "useState" ] ) ( null ) ;
const parentContainer = document . getElementById ( 'customize-theme-controls' ) ;
const popoverRef = Object ( external _wp _element _ [ "useRef" ] ) ( ) ;
useClearSelectedBlock ( activeSidebarControl , popoverRef ) ;
Object ( external _wp _element _ [ "useEffect" ] ) ( ( ) => {
const unsubscribers = sidebarControls . map ( sidebarControl => sidebarControl . subscribe ( expanded => {
if ( expanded ) {
setActiveSidebarControl ( sidebarControl ) ;
}
} ) ) ;
return ( ) => {
unsubscribers . forEach ( unsubscriber => unsubscriber ( ) ) ;
} ;
} , [ sidebarControls ] ) ;
const activeSidebar = activeSidebarControl && Object ( external _wp _element _ [ "createPortal" ] ) ( Object ( external _wp _element _ [ "createElement" ] ) ( SidebarBlockEditor , {
key : activeSidebarControl . id ,
blockEditorSettings : blockEditorSettings ,
sidebar : activeSidebarControl . sidebarAdapter ,
inserter : activeSidebarControl . inserter ,
inspector : activeSidebarControl . inspector
} ) , activeSidebarControl . container [ 0 ] ) ; // We have to portal this to the parent of both the editor and the inspector,
// so that the popovers will appear above both of them.
const popover = parentContainer && Object ( external _wp _element _ [ "createPortal" ] ) ( Object ( external _wp _element _ [ "createElement" ] ) ( "div" , {
2021-06-01 10:10:04 +02:00
className : "customize-widgets-popover" ,
2021-05-25 10:40:25 +02:00
ref : popoverRef
} , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "Popover" ] . Slot , null ) ) , parentContainer ) ;
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _components _ [ "SlotFillProvider" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( SidebarControls , {
sidebarControls : sidebarControls ,
activeSidebarControl : activeSidebarControl
} , Object ( external _wp _element _ [ "createElement" ] ) ( FocusControl , {
api : api ,
sidebarControls : sidebarControls
} , activeSidebar , popover ) ) ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/controls/inspector-section.js
function getInspectorSection ( ) {
const {
wp : {
customize
}
} = window ;
return class InspectorSection extends customize . Section {
constructor ( id , options ) {
super ( id , options ) ;
this . parentSection = options . parentSection ;
this . returnFocusWhenClose = null ;
}
ready ( ) {
this . contentContainer [ 0 ] . classList . add ( 'customize-widgets-layout__inspector' ) ;
}
onChangeExpanded ( expanded , args ) {
super . onChangeExpanded ( expanded , args ) ;
if ( this . parentSection && ! args . unchanged ) {
if ( expanded ) {
this . parentSection . collapse ( {
manualTransition : true
} ) ;
} else {
this . parentSection . expand ( {
manualTransition : true ,
completeCallback : ( ) => {
// Return focus after finishing the transition.
if ( this . returnFocusWhenClose && ! this . contentContainer [ 0 ] . contains ( this . returnFocusWhenClose ) ) {
this . returnFocusWhenClose . focus ( ) ;
}
}
} ) ;
}
}
}
open ( {
returnFocusWhenClose
} = { } ) {
this . returnFocusWhenClose = returnFocusWhenClose ;
this . expand ( {
allowMultiple : true
} ) ;
}
close ( ) {
this . collapse ( {
allowMultiple : true
} ) ;
}
} ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/controls/sidebar-section.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
const getInspectorSectionId = sidebarId => ` widgets-inspector- ${ sidebarId } ` ;
function getSidebarSection ( ) {
const {
wp : {
customize
}
} = window ;
return class SidebarSection extends customize . Section {
ready ( ) {
const InspectorSection = getInspectorSection ( ) ;
this . inspector = new InspectorSection ( getInspectorSectionId ( this . id ) , {
title : Object ( external _wp _i18n _ [ "__" ] ) ( 'Block Settings' ) ,
parentSection : this ,
customizeAction : [ Object ( external _wp _i18n _ [ "__" ] ) ( 'Customizing' ) , Object ( external _wp _i18n _ [ "__" ] ) ( 'Widgets' ) , this . params . title ] . join ( ' ▸ ' )
} ) ;
customize . section . add ( this . inspector ) ;
this . contentContainer [ 0 ] . classList . add ( 'customize-widgets__sidebar-section' ) ;
}
hasSubSectionOpened ( ) {
return this . inspector . expanded ( ) ;
}
onChangeExpanded ( expanded , _args ) {
const controls = this . controls ( ) ;
const args = { ... _args ,
completeCallback ( ) {
var _args$completeCallbac ;
controls . forEach ( control => {
control . onChangeSectionExpanded ( expanded , args ) ;
} ) ;
( _args$completeCallbac = _args . completeCallback ) === null || _args$completeCallbac === void 0 ? void 0 : _args$completeCallbac . call ( _args ) ;
}
} ;
if ( args . manualTransition ) {
if ( expanded ) {
this . contentContainer . addClass ( [ 'busy' , 'open' ] ) ;
this . contentContainer . removeClass ( 'is-sub-section-open' ) ;
this . contentContainer . closest ( '.wp-full-overlay' ) . addClass ( 'section-open' ) ;
this . contentContainer . one ( 'transitionend' , ( ) => {
this . contentContainer . removeClass ( 'busy' ) ;
args . completeCallback ( ) ;
} ) ;
} else {
this . contentContainer . addClass ( [ 'busy' , 'is-sub-section-open' ] ) ;
this . contentContainer . closest ( '.wp-full-overlay' ) . addClass ( 'section-open' ) ;
this . contentContainer . removeClass ( 'open' ) ;
this . contentContainer . one ( 'transitionend' , ( ) => {
this . contentContainer . removeClass ( 'busy' ) ;
args . completeCallback ( ) ;
} ) ;
}
} else {
super . onChangeExpanded ( expanded , args ) ;
}
}
} ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/sidebar-adapter.js
/ * *
* Internal dependencies
* /
const {
wp
} = window ;
function parseWidgetId ( widgetId ) {
const matches = widgetId . match ( /^(.+)-(\d+)$/ ) ;
if ( matches ) {
return {
idBase : matches [ 1 ] ,
number : parseInt ( matches [ 2 ] , 10 )
} ;
} // Likely an old single widget.
return {
idBase : widgetId
} ;
}
function widgetIdToSettingId ( widgetId ) {
const {
idBase ,
number
} = parseWidgetId ( widgetId ) ;
if ( number ) {
return ` widget_ ${ idBase } [ ${ number } ] ` ;
}
return ` widget_ ${ idBase } ` ;
}
2021-06-01 10:10:04 +02:00
/ * *
* This is a custom debounce function to call different callbacks depending on
* whether it ' s the _leading _ call or not .
*
* @ param { Function } leading The callback that gets called first .
* @ param { Function } callback The callback that gets called after the first time .
* @ param { number } timeout The debounced time in milliseconds .
* @ return { Function } The debounced function .
* /
2021-05-25 10:40:25 +02:00
function debounce ( leading , callback , timeout ) {
let isLeading = false ;
let timerID ;
function debounced ( ... args ) {
const result = ( isLeading ? callback : leading ) . apply ( this , args ) ;
isLeading = true ;
clearTimeout ( timerID ) ;
timerID = setTimeout ( ( ) => {
isLeading = false ;
} , timeout ) ;
return result ;
}
debounced . cancel = ( ) => {
isLeading = false ;
clearTimeout ( timerID ) ;
} ;
return debounced ;
}
class sidebar _adapter _SidebarAdapter {
constructor ( setting , api ) {
this . setting = setting ;
this . api = api ;
this . locked = false ;
this . widgetsCache = new WeakMap ( ) ;
this . subscribers = new Set ( ) ;
this . history = [ this . _getWidgetIds ( ) . map ( widgetId => this . getWidget ( widgetId ) ) ] ;
this . historyIndex = 0 ;
this . historySubscribers = new Set ( ) ; // Debounce the input for 1 second.
this . _debounceSetHistory = debounce ( this . _pushHistory , this . _replaceHistory , 1000 ) ;
this . setting . bind ( this . _handleSettingChange . bind ( this ) ) ;
this . api . bind ( 'change' , this . _handleAllSettingsChange . bind ( this ) ) ;
this . undo = this . undo . bind ( this ) ;
this . redo = this . redo . bind ( this ) ;
this . save = this . save . bind ( this ) ;
}
subscribe ( callback ) {
this . subscribers . add ( callback ) ;
return ( ) => {
this . subscribers . delete ( callback ) ;
} ;
}
getWidgets ( ) {
return this . history [ this . historyIndex ] ;
}
_emit ( ... args ) {
for ( const callback of this . subscribers ) {
callback ( ... args ) ;
}
}
_getWidgetIds ( ) {
return this . setting . get ( ) ;
}
_pushHistory ( ) {
this . history = [ ... this . history . slice ( 0 , this . historyIndex + 1 ) , this . _getWidgetIds ( ) . map ( widgetId => this . getWidget ( widgetId ) ) ] ;
this . historyIndex += 1 ;
this . historySubscribers . forEach ( listener => listener ( ) ) ;
}
_replaceHistory ( ) {
this . history [ this . historyIndex ] = this . _getWidgetIds ( ) . map ( widgetId => this . getWidget ( widgetId ) ) ;
}
_handleSettingChange ( ) {
if ( this . locked ) {
return ;
}
const prevWidgets = this . getWidgets ( ) ;
this . _pushHistory ( ) ;
this . _emit ( prevWidgets , this . getWidgets ( ) ) ;
}
_handleAllSettingsChange ( setting ) {
if ( this . locked ) {
return ;
}
if ( ! setting . id . startsWith ( 'widget_' ) ) {
return ;
}
const widgetId = settingIdToWidgetId ( setting . id ) ;
if ( ! this . setting . get ( ) . includes ( widgetId ) ) {
return ;
}
const prevWidgets = this . getWidgets ( ) ;
this . _pushHistory ( ) ;
this . _emit ( prevWidgets , this . getWidgets ( ) ) ;
}
_createWidget ( widget ) {
const widgetModel = wp . customize . Widgets . availableWidgets . findWhere ( {
id _base : widget . idBase
} ) ;
let number = widget . number ;
if ( widgetModel . get ( 'is_multi' ) && ! number ) {
widgetModel . set ( 'multi_number' , widgetModel . get ( 'multi_number' ) + 1 ) ;
number = widgetModel . get ( 'multi_number' ) ;
}
const settingId = number ? ` widget_ ${ widget . idBase } [ ${ number } ] ` : ` widget_ ${ widget . idBase } ` ;
const settingArgs = {
transport : wp . customize . Widgets . data . selectiveRefreshableWidgets [ widgetModel . get ( 'id_base' ) ] ? 'postMessage' : 'refresh' ,
previewer : this . setting . previewer
} ;
const setting = this . api . create ( settingId , settingId , '' , settingArgs ) ;
setting . set ( widget . instance ) ;
const widgetId = settingIdToWidgetId ( settingId ) ;
return widgetId ;
}
_removeWidget ( widget ) {
const settingId = widgetIdToSettingId ( widget . id ) ;
2021-06-01 10:10:04 +02:00
const setting = this . api ( settingId ) ;
if ( setting ) {
const instance = setting . get ( ) ;
this . widgetsCache . delete ( instance ) ;
}
2021-05-25 10:40:25 +02:00
this . api . remove ( settingId ) ;
}
_updateWidget ( widget ) {
const prevWidget = this . getWidget ( widget . id ) ; // Bail out update if nothing changed.
if ( prevWidget === widget ) {
return widget . id ;
} // Update existing setting if only the widget's instance changed.
if ( prevWidget . idBase && widget . idBase && prevWidget . idBase === widget . idBase ) {
const settingId = widgetIdToSettingId ( widget . id ) ;
this . api ( settingId ) . set ( widget . instance ) ;
return widget . id ;
} // Otherwise delete and re-create.
this . _removeWidget ( widget ) ;
return this . _createWidget ( widget ) ;
}
getWidget ( widgetId ) {
if ( ! widgetId ) {
return null ;
}
const {
idBase ,
number
} = parseWidgetId ( widgetId ) ;
const settingId = widgetIdToSettingId ( widgetId ) ;
const setting = this . api ( settingId ) ;
if ( ! setting ) {
return null ;
}
const instance = setting . get ( ) ;
if ( this . widgetsCache . has ( instance ) ) {
return this . widgetsCache . get ( instance ) ;
}
const widget = {
id : widgetId ,
idBase ,
number ,
instance
} ;
this . widgetsCache . set ( instance , widget ) ;
return widget ;
}
_updateWidgets ( nextWidgets ) {
this . locked = true ;
const addedWidgetIds = [ ] ;
const nextWidgetIds = nextWidgets . map ( nextWidget => {
if ( nextWidget . id && this . getWidget ( nextWidget . id ) ) {
addedWidgetIds . push ( null ) ;
return this . _updateWidget ( nextWidget ) ;
}
const widgetId = this . _createWidget ( nextWidget ) ;
addedWidgetIds . push ( widgetId ) ;
return widgetId ;
2021-06-01 10:10:04 +02:00
} ) ;
const deletedWidgets = this . getWidgets ( ) . filter ( widget => ! nextWidgetIds . includes ( widget . id ) ) ;
deletedWidgets . forEach ( widget => this . _removeWidget ( widget ) ) ;
2021-05-25 10:40:25 +02:00
this . setting . set ( nextWidgetIds ) ;
this . locked = false ;
return addedWidgetIds ;
}
setWidgets ( nextWidgets ) {
const addedWidgetIds = this . _updateWidgets ( nextWidgets ) ;
this . _debounceSetHistory ( ) ;
return addedWidgetIds ;
}
/ * *
* Undo / Redo related features
* /
hasUndo ( ) {
return this . historyIndex > 0 ;
}
hasRedo ( ) {
return this . historyIndex < this . history . length - 1 ;
}
_seek ( historyIndex ) {
const currentWidgets = this . getWidgets ( ) ;
this . historyIndex = historyIndex ;
const widgets = this . history [ this . historyIndex ] ;
this . _updateWidgets ( widgets ) ;
this . _emit ( currentWidgets , this . getWidgets ( ) ) ;
this . historySubscribers . forEach ( listener => listener ( ) ) ;
this . _debounceSetHistory . cancel ( ) ;
}
undo ( ) {
if ( ! this . hasUndo ( ) ) {
return ;
}
this . _seek ( this . historyIndex - 1 ) ;
}
redo ( ) {
if ( ! this . hasRedo ( ) ) {
return ;
}
this . _seek ( this . historyIndex + 1 ) ;
}
subscribeHistory ( listener ) {
this . historySubscribers . add ( listener ) ;
return ( ) => {
this . historySubscribers . delete ( listener ) ;
} ;
}
save ( ) {
this . api . previewer . save ( ) ;
}
}
// EXTERNAL MODULE: external ["wp","dom"]
var external _wp _dom _ = _ _webpack _require _ _ ( "1CF3" ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/controls/inserter-outer-section.js
/ * *
* WordPress dependencies
* /
function getInserterOuterSection ( ) {
const {
wp : {
customize
}
} = window ;
const OuterSection = customize . OuterSection ; // Override the OuterSection class to handle multiple outer sections.
// It closes all the other outer sections whenever one is opened.
// The result is that at most one outer section can be opened at the same time.
customize . OuterSection = class extends OuterSection {
onChangeExpanded ( expanded , args ) {
if ( expanded ) {
customize . section . each ( section => {
if ( section . params . type === 'outer' && section . id !== this . id ) {
if ( section . expanded ( ) ) {
section . collapse ( ) ;
}
}
} ) ;
}
return super . onChangeExpanded ( expanded , args ) ;
}
} ; // Handle constructor so that "params.type" can be correctly pointed to "outer".
customize . sectionConstructor . outer = customize . OuterSection ;
return class InserterOuterSection extends customize . OuterSection {
constructor ( ... args ) {
super ( ... args ) ; // This is necessary since we're creating a new class which is not identical to the original OuterSection.
// @See https://github.com/WordPress/wordpress-develop/blob/42b05c397c50d9dc244083eff52991413909d4bd/src/js/_enqueues/wp/customize/controls.js#L1427-L1436
this . params . type = 'outer' ;
this . activeElementBeforeExpanded = null ;
const ownerWindow = this . contentContainer [ 0 ] . ownerDocument . defaultView ; // Handle closing the inserter when pressing the Escape key.
ownerWindow . addEventListener ( 'keydown' , event => {
if ( this . isOpen && ( event . keyCode === external _wp _keycodes _ [ "ESCAPE" ] || event . code === 'Escape' ) ) {
event . stopPropagation ( ) ;
this . close ( ) ;
}
} , // Use capture mode to make this run before other event listeners.
true ) ;
this . contentContainer . addClass ( 'widgets-inserter' ) ;
}
get isOpen ( ) {
return this . expanded ( ) ;
}
subscribe ( handler ) {
this . expanded . bind ( handler ) ;
return ( ) => this . expanded . unbind ( handler ) ;
}
open ( ) {
if ( ! this . isOpen ) {
const contentContainer = this . contentContainer [ 0 ] ;
this . activeElementBeforeExpanded = contentContainer . ownerDocument . activeElement ;
this . expand ( {
completeCallback ( ) {
// We have to do this in a "completeCallback" or else the elements will not yet be visible/tabbable.
// The first one should be the close button,
// we want to skip it and choose the second one instead, which is the search box.
const searchBox = external _wp _dom _ [ "focus" ] . tabbable . find ( contentContainer ) [ 1 ] ;
if ( searchBox ) {
searchBox . focus ( ) ;
}
}
} ) ;
}
}
close ( ) {
if ( this . isOpen ) {
const contentContainer = this . contentContainer [ 0 ] ;
const activeElement = contentContainer . ownerDocument . activeElement ;
this . collapse ( {
completeCallback ( ) {
// Return back the focus when closing the inserter.
// Only do this if the active element which triggers the action is inside the inserter,
// (the close button for instance). In that case the focus will be lost.
// Otherwise, we don't hijack the focus when the user is focusing on other elements
// (like the quick inserter).
if ( contentContainer . contains ( activeElement ) ) {
// Return back the focus when closing the inserter.
if ( this . activeElementBeforeExpanded ) {
this . activeElementBeforeExpanded . focus ( ) ;
}
}
}
} ) ;
}
}
} ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/controls/sidebar-control.js
/ * *
* Internal dependencies
* /
const getInserterId = controlId => ` widgets-inserter- ${ controlId } ` ;
function getSidebarControl ( ) {
const {
wp : {
customize
}
} = window ;
return class SidebarControl extends customize . Control {
constructor ( ... args ) {
super ( ... args ) ;
this . subscribers = new Set ( ) ;
}
ready ( ) {
const InserterOuterSection = getInserterOuterSection ( ) ;
this . inserter = new InserterOuterSection ( getInserterId ( this . id ) , { } ) ;
customize . section . add ( this . inserter ) ;
this . sectionInstance = customize . section ( this . section ( ) ) ;
this . inspector = this . sectionInstance . inspector ;
this . sidebarAdapter = new sidebar _adapter _SidebarAdapter ( this . setting , customize ) ;
}
subscribe ( callback ) {
this . subscribers . add ( callback ) ;
return ( ) => {
this . subscribers . delete ( callback ) ;
} ;
}
onChangeSectionExpanded ( expanded , args ) {
if ( ! args . unchanged ) {
// Close the inserter when the section collapses.
if ( ! expanded ) {
this . inserter . close ( ) ;
}
this . subscribers . forEach ( subscriber => subscriber ( expanded , args ) ) ;
}
}
} ;
}
// EXTERNAL MODULE: external ["wp","hooks"]
var external _wp _hooks _ = _ _webpack _require _ _ ( "g56x" ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/filters/move-to-sidebar.js
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
const withMoveToSidebarToolbarItem = Object ( external _wp _compose _ [ "createHigherOrderComponent" ] ) ( BlockEdit => props => {
const widgetId = Object ( external _wp _widgets _ [ "getWidgetIdFromBlock" ] ) ( props ) ;
const sidebarControls = useSidebarControls ( ) ;
const activeSidebarControl = useActiveSidebarControl ( ) ;
const hasMultipleSidebars = ( sidebarControls === null || sidebarControls === void 0 ? void 0 : sidebarControls . length ) > 1 ;
const blockName = props . name ;
const canInsertBlockInSidebar = Object ( external _wp _data _ [ "useSelect" ] ) ( select => {
// Use an empty string to represent the root block list, which
// in the customizer editor represents a sidebar/widget area.
return select ( external _wp _blockEditor _ [ "store" ] ) . canInsertBlockType ( blockName , '' ) ;
} , [ blockName ] ) ;
function moveToSidebar ( sidebarControlId ) {
const newSidebarControl = sidebarControls . find ( sidebarControl => sidebarControl . id === sidebarControlId ) ;
const oldSetting = activeSidebarControl . setting ;
const newSetting = newSidebarControl . setting ;
oldSetting ( Object ( external _lodash _ [ "without" ] ) ( oldSetting ( ) , widgetId ) ) ;
newSetting ( [ ... newSetting ( ) , widgetId ] ) ;
newSidebarControl . expand ( ) ;
}
return Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _element _ [ "Fragment" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( BlockEdit , props ) , hasMultipleSidebars && canInsertBlockInSidebar && Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _blockEditor _ [ "BlockControls" ] , null , Object ( external _wp _element _ [ "createElement" ] ) ( external _wp _widgets _ [ "MoveToWidgetArea" ] , {
widgetAreas : sidebarControls . map ( sidebarControl => ( {
id : sidebarControl . id ,
name : sidebarControl . params . label ,
description : sidebarControl . params . description
} ) ) ,
currentWidgetAreaId : activeSidebarControl === null || activeSidebarControl === void 0 ? void 0 : activeSidebarControl . id ,
onSelect : moveToSidebar
} ) ) ) ;
} , 'withMoveToSidebarToolbarItem' ) ;
Object ( external _wp _hooks _ [ "addFilter" ] ) ( 'editor.BlockEdit' , 'core/customize-widgets/block-edit' , withMoveToSidebarToolbarItem ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/filters/replace-media-upload.js
/ * *
* WordPress dependencies
* /
const replaceMediaUpload = ( ) => external _wp _mediaUtils _ [ "MediaUpload" ] ;
Object ( external _wp _hooks _ [ "addFilter" ] ) ( 'editor.MediaUpload' , 'core/edit-widgets/replace-media-upload' , replaceMediaUpload ) ;
2021-06-08 10:09:53 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/filters/wide-widget-display.js
/ * *
* WordPress dependencies
* /
const {
wp : wide _widget _display _wp
} = window ;
const withWideWidgetDisplay = Object ( external _wp _compose _ [ "createHigherOrderComponent" ] ) ( BlockEdit => props => {
var _wp$customize$Widgets , _wp$customize$Widgets2 ;
const {
idBase
} = props . attributes ;
const isWide = ( _wp$customize$Widgets = ( _wp$customize$Widgets2 = wide _widget _display _wp . customize . Widgets . data . availableWidgets . find ( widget => widget . id _base === idBase ) ) === null || _wp$customize$Widgets2 === void 0 ? void 0 : _wp$customize$Widgets2 . is _wide ) !== null && _wp$customize$Widgets !== void 0 ? _wp$customize$Widgets : false ;
return Object ( external _wp _element _ [ "createElement" ] ) ( BlockEdit , Object ( esm _extends [ "a" /* default */ ] ) ( { } , props , {
isWide : isWide
} ) ) ;
} , 'withWideWidgetDisplay' ) ;
Object ( external _wp _hooks _ [ "addFilter" ] ) ( 'editor.BlockEdit' , 'core/customize-widgets/wide-widget-display' , withWideWidgetDisplay ) ;
2021-05-25 10:40:25 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/filters/index.js
/ * *
* Internal dependencies
* /
2021-06-08 10:09:53 +02:00
2021-05-25 10:40:25 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/customize-widgets/build-module/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
const {
wp : build _module _wp
} = window ;
2021-06-25 17:52:22 +02:00
const DISABLED _BLOCKS = [ 'core/more' , 'core/block' , 'core/freeform' ] ;
const ENABLE _EXPERIMENTAL _FSE _BLOCKS = false ;
2021-05-25 10:40:25 +02:00
/ * *
* Initializes the widgets block editor in the customizer .
*
* @ param { string } editorName The editor name .
* @ param { Object } blockEditorSettings Block editor settings .
* /
function initialize ( editorName , blockEditorSettings ) {
2021-06-25 17:52:22 +02:00
const coreBlocks = Object ( external _wp _blockLibrary _ [ "__experimentalGetCoreBlocks" ] ) ( ) . filter ( block => {
return ! ( DISABLED _BLOCKS . includes ( block . name ) || block . name . startsWith ( 'core/post' ) || block . name . startsWith ( 'core/query' ) || block . name . startsWith ( 'core/site' ) ) ;
} ) ;
2021-05-25 10:40:25 +02:00
Object ( external _wp _blockLibrary _ [ "registerCoreBlocks" ] ) ( coreBlocks ) ;
2021-06-15 10:52:30 +02:00
Object ( external _wp _widgets _ [ "registerLegacyWidgetBlock" ] ) ( ) ;
2021-05-25 10:40:25 +02:00
if ( false ) { }
Object ( external _wp _widgets _ [ "registerLegacyWidgetVariations" ] ) ( blockEditorSettings ) ;
const SidebarControl = getSidebarControl ( blockEditorSettings ) ;
build _module _wp . customize . sectionConstructor . sidebar = getSidebarSection ( ) ;
build _module _wp . customize . controlConstructor . sidebar _block _editor = SidebarControl ;
const container = document . createElement ( 'div' ) ;
document . body . appendChild ( container ) ;
build _module _wp . customize . bind ( 'ready' , ( ) => {
const sidebarControls = [ ] ;
build _module _wp . customize . control . each ( control => {
if ( control instanceof SidebarControl ) {
sidebarControls . push ( control ) ;
}
} ) ;
Object ( external _wp _element _ [ "render" ] ) ( Object ( external _wp _element _ [ "createElement" ] ) ( CustomizeWidgets , {
api : build _module _wp . customize ,
sidebarControls : sidebarControls ,
blockEditorSettings : blockEditorSettings
} ) , container ) ;
} ) ;
}
/***/ } ) ,
/***/ "GLVC" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "widgets" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "GRId" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "element" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "HSyU" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "blocks" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "K+tz" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const external = 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 : "M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( external ) ;
/***/ } ) ,
/***/ "K2cm" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const redo = 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 : "M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( redo ) ;
/***/ } ) ,
/***/ "K9lf" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "compose" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "Ntru" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const undo = 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 : "M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( undo ) ;
/***/ } ) ,
/***/ "Q4Sy" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const plus = 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 : "M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( plus ) ;
/***/ } ) ,
/***/ "QyPg" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "blockLibrary" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "RMJe" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const check = 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 : "M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( check ) ;
/***/ } ) ,
/***/ "RxS6" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "keycodes" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "TSYQ" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
var _ _WEBPACK _AMD _DEFINE _ARRAY _ _ , _ _WEBPACK _AMD _DEFINE _RESULT _ _ ; / * !
Copyright ( c ) 2018 Jed Watson .
Licensed under the MIT License ( MIT ) , see
http : //jedwatson.github.io/classnames
* /
/* global define */
( function ( ) {
'use strict' ;
var hasOwn = { } . hasOwnProperty ;
function classNames ( ) {
var classes = [ ] ;
for ( var i = 0 ; i < arguments . length ; i ++ ) {
var arg = arguments [ i ] ;
if ( ! arg ) continue ;
var argType = typeof arg ;
if ( argType === 'string' || argType === 'number' ) {
classes . push ( arg ) ;
} else if ( Array . isArray ( arg ) ) {
if ( arg . length ) {
var inner = classNames . apply ( null , arg ) ;
if ( inner ) {
classes . push ( inner ) ;
}
}
} else if ( argType === 'object' ) {
if ( arg . toString === Object . prototype . toString ) {
for ( var key in arg ) {
if ( hasOwn . call ( arg , key ) && arg [ key ] ) {
classes . push ( key ) ;
}
}
} else {
classes . push ( arg . toString ( ) ) ;
}
}
}
return classes . join ( ' ' ) ;
}
if ( true && module . exports ) {
classNames . default = classNames ;
module . exports = classNames ;
} else if ( true ) {
// register as 'classnames', consistent with npm package name
! ( _ _WEBPACK _AMD _DEFINE _ARRAY _ _ = [ ] , _ _WEBPACK _AMD _DEFINE _RESULT _ _ = ( function ( ) {
return classNames ;
} ) . apply ( exports , _ _WEBPACK _AMD _DEFINE _ARRAY _ _ ) ,
_ _WEBPACK _AMD _DEFINE _RESULT _ _ !== undefined && ( module . exports = _ _WEBPACK _AMD _DEFINE _RESULT _ _ ) ) ;
} else { }
} ( ) ) ;
/***/ } ) ,
/***/ "Tqx9" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "primitives" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "VKE3" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const moreVertical = 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 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( moreVertical ) ;
/***/ } ) ,
/***/ "YLtl" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "lodash" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "axFQ" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "blockEditor" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "bWcr" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 _ _ ) ;
/ * *
* WordPress dependencies
* /
const closeSmall = 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 : "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"
} ) ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( closeSmall ) ;
/***/ } ) ,
/***/ "g56x" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "hooks" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "gdqT" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "a11y" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "hF7m" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "keyboardShortcuts" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "jZUy" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "coreData" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "l3Sj" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "i18n" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "rl8x" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "isShallowEqual" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "tI+e" :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "components" ] ; } ( ) ) ;
/***/ } ) ,
/***/ "wx14" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _extends ; } ) ;
function _extends ( ) {
_extends = Object . assign || 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 . apply ( this , arguments ) ;
}
/***/ } )
/******/ } ) ;