2023-09-26 16:23:26 +02:00
/******/ ( function ( ) { // webpackBootstrap
/******/ "use strict" ;
/******/ // The require scope
/******/ var _ _webpack _require _ _ = { } ;
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ ! function ( ) {
/******/ // define getter functions for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , definition ) {
/******/ for ( var key in definition ) {
/******/ if ( _ _webpack _require _ _ . o ( definition , key ) && ! _ _webpack _require _ _ . o ( exports , key ) ) {
/******/ Object . defineProperty ( exports , key , { enumerable : true , get : definition [ key ] } ) ;
/******/ }
/******/ }
/******/ } ;
/******/ } ( ) ;
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ ! function ( ) {
/******/ _ _webpack _require _ _ . o = function ( obj , prop ) { return Object . prototype . hasOwnProperty . call ( obj , prop ) ; }
/******/ } ( ) ;
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ ! function ( ) {
/******/ // 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 } ) ;
/******/ } ;
/******/ } ( ) ;
/******/
/************************************************************************/
var _ _webpack _exports _ _ = { } ;
// ESM COMPAT FLAG
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
privateApis : function ( ) { return /* reexport */ privateApis ; } ,
store : function ( ) { return /* reexport */ store ; }
} ) ;
// NAMESPACE OBJECT: ./node_modules/@wordpress/patterns/build-module/store/actions.js
var actions _namespaceObject = { } ;
_ _webpack _require _ _ . r ( actions _namespaceObject ) ;
_ _webpack _require _ _ . d ( actions _namespaceObject , {
convertSyncedPatternToStatic : function ( ) { return convertSyncedPatternToStatic ; } ,
createPattern : function ( ) { return createPattern ; } ,
createPatternFromFile : function ( ) { return createPatternFromFile ; } ,
setEditingPattern : function ( ) { return setEditingPattern ; }
} ) ;
// NAMESPACE OBJECT: ./node_modules/@wordpress/patterns/build-module/store/selectors.js
var selectors _namespaceObject = { } ;
_ _webpack _require _ _ . r ( selectors _namespaceObject ) ;
_ _webpack _require _ _ . d ( selectors _namespaceObject , {
isEditingPattern : function ( ) { return selectors _isEditingPattern ; }
} ) ;
; // CONCATENATED MODULE: external ["wp","data"]
var external _wp _data _namespaceObject = window [ "wp" ] [ "data" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/store/reducer.js
/ * *
* WordPress dependencies
* /
function isEditingPattern ( state = { } , action ) {
if ( action ? . type === 'SET_EDITING_PATTERN' ) {
return {
... state ,
[ action . clientId ] : action . isEditing
} ;
}
return state ;
}
/* harmony default export */ var reducer = ( ( 0 , external _wp _data _namespaceObject . combineReducers ) ( {
isEditingPattern
} ) ) ;
; // CONCATENATED MODULE: external ["wp","blocks"]
var external _wp _blocks _namespaceObject = window [ "wp" ] [ "blocks" ] ;
; // CONCATENATED MODULE: external ["wp","coreData"]
var external _wp _coreData _namespaceObject = window [ "wp" ] [ "coreData" ] ;
; // CONCATENATED MODULE: external ["wp","blockEditor"]
var external _wp _blockEditor _namespaceObject = window [ "wp" ] [ "blockEditor" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/constants.js
const PATTERN _TYPES = {
theme : 'pattern' ,
user : 'wp_block'
} ;
const PATTERN _DEFAULT _CATEGORY = 'all-patterns' ;
const PATTERN _USER _CATEGORY = 'my-patterns' ;
const PATTERN _CORE _SOURCES = [ 'core' , 'pattern-directory/core' , 'pattern-directory/featured' , 'pattern-directory/theme' ] ;
const PATTERN _SYNC _TYPES = {
full : 'fully' ,
unsynced : 'unsynced'
} ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/store/actions.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Returns a generator converting one or more static blocks into a pattern , or creating a new empty pattern .
*
* @ param { string } title Pattern title .
* @ param { 'full' | 'unsynced' } syncType They way block is synced , 'full' or 'unsynced' .
* @ param { string | undefined } [ content ] Optional serialized content of blocks to convert to pattern .
* @ param { number [ ] | undefined } [ categories ] Ids of any selected categories .
* /
const createPattern = ( title , syncType , content , categories ) => async ( {
registry
} ) => {
const meta = syncType === PATTERN _SYNC _TYPES . unsynced ? {
wp _pattern _sync _status : syncType
} : undefined ;
const reusableBlock = {
title ,
content ,
status : 'publish' ,
meta ,
wp _pattern _category : categories
} ;
const updatedRecord = await registry . dispatch ( external _wp _coreData _namespaceObject . store ) . saveEntityRecord ( 'postType' , 'wp_block' , reusableBlock ) ;
return updatedRecord ;
} ;
/ * *
* Create a pattern from a JSON file .
* @ param { File } file The JSON file instance of the pattern .
* @ param { number [ ] | undefined } [ categories ] Ids of any selected categories .
* /
const createPatternFromFile = ( file , categories ) => async ( {
dispatch
} ) => {
const fileContent = await file . text ( ) ;
/** @type {import('./types').PatternJSON} */
let parsedContent ;
try {
parsedContent = JSON . parse ( fileContent ) ;
} catch ( e ) {
throw new Error ( 'Invalid JSON file' ) ;
}
if ( parsedContent . _ _file !== 'wp_block' || ! parsedContent . title || ! parsedContent . content || typeof parsedContent . title !== 'string' || typeof parsedContent . content !== 'string' || parsedContent . syncStatus && typeof parsedContent . syncStatus !== 'string' ) {
2023-09-26 21:11:22 +02:00
throw new Error ( 'Invalid pattern JSON file' ) ;
2023-09-26 16:23:26 +02:00
}
const pattern = await dispatch . createPattern ( parsedContent . title , parsedContent . syncStatus , parsedContent . content , categories ) ;
return pattern ;
} ;
/ * *
* Returns a generator converting a synced pattern block into a static block .
*
* @ param { string } clientId The client ID of the block to attach .
* /
const convertSyncedPatternToStatic = clientId => ( {
registry
} ) => {
const oldBlock = registry . select ( external _wp _blockEditor _namespaceObject . store ) . getBlock ( clientId ) ;
const pattern = registry . select ( 'core' ) . getEditedEntityRecord ( 'postType' , 'wp_block' , oldBlock . attributes . ref ) ;
const newBlocks = ( 0 , external _wp _blocks _namespaceObject . parse ) ( typeof pattern . content === 'function' ? pattern . content ( pattern ) : pattern . content ) ;
registry . dispatch ( external _wp _blockEditor _namespaceObject . store ) . replaceBlocks ( oldBlock . clientId , newBlocks ) ;
} ;
/ * *
* Returns an action descriptor for SET _EDITING _PATTERN action .
*
* @ param { string } clientId The clientID of the pattern to target .
* @ param { boolean } isEditing Whether the block should be in editing state .
* @ return { Object } Action descriptor .
* /
function setEditingPattern ( clientId , isEditing ) {
return {
type : 'SET_EDITING_PATTERN' ,
clientId ,
isEditing
} ;
}
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/store/constants.js
/ * *
* Module Constants
* /
const STORE _NAME = 'core/patterns' ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/store/selectors.js
/ * *
* Returns true if pattern is in the editing state .
*
* @ param { Object } state Global application state .
* @ param { number } clientId the clientID of the block .
* @ return { boolean } Whether the pattern is in the editing state .
* /
function selectors _isEditingPattern ( state , clientId ) {
return state . isEditingPattern [ clientId ] ;
}
; // CONCATENATED MODULE: external ["wp","privateApis"]
var external _wp _privateApis _namespaceObject = window [ "wp" ] [ "privateApis" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/lock-unlock.js
/ * *
* WordPress dependencies
* /
const {
lock ,
unlock
Editor: Update npm packages ahead of 6.4 RC1.
Updates the npm packages and code for:
* [https://github.com/WordPress/gutenberg/pull/55121 List: fix forward merging of nested list]
* [https://github.com/WordPress/gutenberg/pull/55182 Update consent string for using private APIs.]
* [https://github.com/WordPress/gutenberg/pull/55204 useBlockSettings: add missing useMemo dependencies]
* [https://github.com/WordPress/gutenberg/pull/55120 Remove the lightbox filter and view file when the lightbox setting is disabled.]
* [https://github.com/WordPress/gutenberg/pull/55245 Patterns: Remove the version enforcement for npm in engines field]
* [https://github.com/WordPress/gutenberg/pull/55237 Remove `@return void` from PHP function docs]
* [https://github.com/WordPress/gutenberg/pull/55141 Image: Disable lightbox editor UI for linked images]
* [https://github.com/WordPress/gutenberg/pull/55269 Image: Stop crashing with Lightbox on image blocks without an image]
* [https://github.com/WordPress/gutenberg/pull/55021 Update fullscreen icon]
* [https://github.com/WordPress/gutenberg/pull/55217 Template Part block: Fall back to current theme if no theme attribute is given.] This change is part of fix for a performance regression re-introduced by [56818].
References:
* [https://github.com/WordPress/gutenberg/pull/55298 Gutenberg PR 55298] Cherry-pick commits
Follow-up to [56818], [56816].
Props ellatrix, peterwilsoncc, jsnajdr, afercia, gziolo, isabel_brison, artemiosans, richtabor, bernhard-reiter, flixos90, mikachan, spacedmonkey, hellofromTonya.
See #59583, #59411.
Built from https://develop.svn.wordpress.org/trunk@56849
git-svn-id: http://core.svn.wordpress.org/trunk@56361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 15:58:15 +02:00
} = ( 0 , external _wp _privateApis _namespaceObject . _ _dangerousOptInToUnstableAPIsOnlyForCoreModules ) ( 'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.' , '@wordpress/patterns' ) ;
2023-09-26 16:23:26 +02:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/store/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Post editor data store configuration .
*
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore
*
* @ type { Object }
* /
const storeConfig = {
reducer : reducer
} ;
/ * *
* Store definition for the editor namespace .
*
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
*
* @ type { Object }
* /
const store = ( 0 , external _wp _data _namespaceObject . createReduxStore ) ( STORE _NAME , {
... storeConfig
} ) ;
( 0 , external _wp _data _namespaceObject . register ) ( store ) ;
unlock ( store ) . registerPrivateActions ( actions _namespaceObject ) ;
unlock ( store ) . registerPrivateSelectors ( selectors _namespaceObject ) ;
; // CONCATENATED MODULE: external ["wp","element"]
var external _wp _element _namespaceObject = window [ "wp" ] [ "element" ] ;
; // CONCATENATED MODULE: external ["wp","components"]
var external _wp _components _namespaceObject = window [ "wp" ] [ "components" ] ;
; // CONCATENATED MODULE: external ["wp","i18n"]
var external _wp _i18n _namespaceObject = window [ "wp" ] [ "i18n" ] ;
; // CONCATENATED MODULE: external ["wp","notices"]
var external _wp _notices _namespaceObject = window [ "wp" ] [ "notices" ] ;
; // CONCATENATED MODULE: external ["wp","compose"]
var external _wp _compose _namespaceObject = window [ "wp" ] [ "compose" ] ;
; // CONCATENATED MODULE: external ["wp","htmlEntities"]
var external _wp _htmlEntities _namespaceObject = window [ "wp" ] [ "htmlEntities" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/components/category-selector.js
/ * *
* WordPress dependencies
* /
const unescapeString = arg => {
return ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( arg ) ;
} ;
const CATEGORY _SLUG = 'wp_pattern_category' ;
function CategorySelector ( {
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
categoryTerms ,
onChange ,
categoryMap
2023-09-26 16:23:26 +02:00
} ) {
const [ search , setSearch ] = ( 0 , external _wp _element _namespaceObject . useState ) ( '' ) ;
const debouncedSearch = ( 0 , external _wp _compose _namespaceObject . useDebounce ) ( setSearch , 500 ) ;
const suggestions = ( 0 , external _wp _element _namespaceObject . useMemo ) ( ( ) => {
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
return Array . from ( categoryMap . values ( ) ) . map ( category => unescapeString ( category . label ) ) . filter ( category => {
if ( search !== '' ) {
return category . toLowerCase ( ) . includes ( search . toLowerCase ( ) ) ;
}
return true ;
} ) . sort ( ( a , b ) => a . localeCompare ( b ) ) ;
} , [ search , categoryMap ] ) ;
2023-09-26 16:23:26 +02:00
function handleChange ( termNames ) {
const uniqueTerms = termNames . reduce ( ( terms , newTerm ) => {
if ( ! terms . some ( term => term . toLowerCase ( ) === newTerm . toLowerCase ( ) ) ) {
terms . push ( newTerm ) ;
}
return terms ;
} , [ ] ) ;
onChange ( uniqueTerms ) ;
}
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . FormTokenField , {
2023-09-26 16:23:26 +02:00
className : "patterns-menu-items__convert-modal-categories" ,
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
value : categoryTerms ,
2023-09-26 16:23:26 +02:00
suggestions : suggestions ,
onChange : handleChange ,
onInputChange : debouncedSearch ,
label : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Categories' ) ,
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
tokenizeOnBlur : true ,
_ _experimentalExpandOnFocus : true ,
_ _next40pxDefaultSize : true
} ) ;
2023-09-26 16:23:26 +02:00
}
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/components/create-pattern-modal.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Internal dependencies
* /
function CreatePatternModal ( {
onSuccess ,
onError ,
content ,
onClose ,
className = 'patterns-menu-items__convert-modal'
} ) {
const [ syncType , setSyncType ] = ( 0 , external _wp _element _namespaceObject . useState ) ( PATTERN _SYNC _TYPES . full ) ;
const [ categoryTerms , setCategoryTerms ] = ( 0 , external _wp _element _namespaceObject . useState ) ( [ ] ) ;
const [ title , setTitle ] = ( 0 , external _wp _element _namespaceObject . useState ) ( '' ) ;
const [ isSaving , setIsSaving ] = ( 0 , external _wp _element _namespaceObject . useState ) ( false ) ;
const {
createPattern
} = unlock ( ( 0 , external _wp _data _namespaceObject . useDispatch ) ( store ) ) ;
const {
saveEntityRecord ,
invalidateResolution
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( external _wp _coreData _namespaceObject . store ) ;
const {
createErrorNotice
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( external _wp _notices _namespaceObject . store ) ;
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
const {
corePatternCategories ,
userPatternCategories
} = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => {
const {
getUserPatternCategories ,
getBlockPatternCategories
} = select ( external _wp _coreData _namespaceObject . store ) ;
return {
corePatternCategories : getBlockPatternCategories ( ) ,
userPatternCategories : getUserPatternCategories ( )
} ;
} ) ;
const categoryMap = ( 0 , external _wp _element _namespaceObject . useMemo ) ( ( ) => {
// Merge the user and core pattern categories and remove any duplicates.
const uniqueCategories = new Map ( ) ;
[ ... userPatternCategories , ... corePatternCategories ] . forEach ( category => {
if ( ! uniqueCategories . has ( category . label ) &&
// There are two core categories with `Post` label so explicitly remove the one with
// the `query` slug to avoid any confusion.
category . name !== 'query' ) {
// We need to store the name separately as this is used as the slug in the
// taxonomy and may vary from the label.
uniqueCategories . set ( category . label , {
label : category . label ,
value : category . label ,
name : category . name
} ) ;
}
} ) ;
return uniqueCategories ;
} , [ userPatternCategories , corePatternCategories ] ) ;
2023-09-26 16:23:26 +02:00
async function onCreate ( patternTitle , sync ) {
if ( ! title || isSaving ) {
return ;
}
try {
setIsSaving ( true ) ;
const categories = await Promise . all ( categoryTerms . map ( termName => findOrCreateTerm ( termName ) ) ) ;
const newPattern = await createPattern ( patternTitle , sync , typeof content === 'function' ? content ( ) : content , categories ) ;
onSuccess ( {
pattern : newPattern ,
categoryId : PATTERN _DEFAULT _CATEGORY
} ) ;
} catch ( error ) {
createErrorNotice ( error . message , {
type : 'snackbar' ,
id : 'convert-to-pattern-error'
} ) ;
onError ( ) ;
} finally {
setIsSaving ( false ) ;
setCategoryTerms ( [ ] ) ;
setTitle ( '' ) ;
}
}
/ * *
* @ param { string } term
* @ return { Promise < number > } The pattern category id .
* /
async function findOrCreateTerm ( term ) {
try {
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
// We need to match any existing term to the correct slug to prevent duplicates, eg.
// the core `Headers` category uses the singular `header` as the slug.
const existingTerm = categoryMap . get ( term ) ;
const termData = existingTerm ? {
name : existingTerm . label ,
slug : existingTerm . name
} : {
2023-09-26 16:23:26 +02:00
name : term
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
} ;
const newTerm = await saveEntityRecord ( 'taxonomy' , CATEGORY _SLUG , termData , {
2023-09-26 16:23:26 +02:00
throwOnError : true
} ) ;
invalidateResolution ( 'getUserPatternCategories' ) ;
return newTerm . id ;
} catch ( error ) {
if ( error . code !== 'term_exists' ) {
throw error ;
}
return error . data . term _id ;
}
}
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Modal , {
title : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Create pattern' ) ,
onRequestClose : ( ) => {
onClose ( ) ;
setTitle ( '' ) ;
} ,
overlayClassName : className
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "form" , {
onSubmit : event => {
event . preventDefault ( ) ;
onCreate ( title , syncType ) ;
}
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . _ _experimentalVStack , {
spacing : "5"
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . TextControl , {
_ _nextHasNoMarginBottom : true ,
label : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Name' ) ,
value : title ,
onChange : setTitle ,
placeholder : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'My pattern' ) ,
className : "patterns-create-modal__name-input"
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( CategorySelector , {
Update npm packages to latest versions for 6.4 beta 3.
The npm packages needed a further update for beta 3 in preparation for 6.4.
Props @richtabor, @mmaattiiaass, @tellthemachines, @mamaduka, @swissspidy, @scruffian, @andraganescu, @andrewserong, @mujuonly, @get_dave, @ntsekouras, @carlosgprim, @ramonopoly, @jameskoster, @wildworks, @aaronrobertshaw, @czapla, @santosguillamot, @artemiosans, @afercia, @glendaviesnz, @kevin940726, @mikachan, @siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56808
git-svn-id: http://core.svn.wordpress.org/trunk@56320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-09 19:24:24 +02:00
categoryTerms : categoryTerms ,
onChange : setCategoryTerms ,
categoryMap : categoryMap
2023-09-26 16:23:26 +02:00
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . ToggleControl , {
Editor: update npm packages for 6.4.2.
Package updates with bug fixes related to patterns, Query look interactivity, design tools UI and accessibility.
Props mikachan, jorbin, kebbet, artemiosans, talldanwp, ramonopoly, alexstine, andrewserong, mamaduka, cbravobernal, ajlende, luisherranz.
See #59828.
Built from https://develop.svn.wordpress.org/trunk@57109
git-svn-id: http://core.svn.wordpress.org/trunk@56620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-14 01:12:23 +01:00
label : ( 0 , external _wp _i18n _namespaceObject . _x ) ( 'Synced' , 'Option that makes an individual pattern synchronized' ) ,
2023-09-26 16:23:26 +02:00
help : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Editing the pattern will update it anywhere it is used.' ) ,
checked : syncType === PATTERN _SYNC _TYPES . full ,
onChange : ( ) => {
setSyncType ( syncType === PATTERN _SYNC _TYPES . full ? PATTERN _SYNC _TYPES . unsynced : PATTERN _SYNC _TYPES . full ) ;
}
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . _ _experimentalHStack , {
justify : "right"
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Button , {
variant : "tertiary" ,
onClick : ( ) => {
onClose ( ) ;
setTitle ( '' ) ;
}
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Cancel' ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Button , {
variant : "primary" ,
type : "submit" ,
"aria-disabled" : ! title || isSaving ,
isBusy : isSaving
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Create' ) ) ) ) ) ) ;
}
; // CONCATENATED MODULE: external ["wp","primitives"]
var external _wp _primitives _namespaceObject = window [ "wp" ] [ "primitives" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol.js
/ * *
* WordPress dependencies
* /
const symbol = ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . SVG , {
xmlns : "http://www.w3.org/2000/svg" ,
viewBox : "0 0 24 24"
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . Path , {
d : "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z"
} ) ) ;
/* harmony default export */ var library _symbol = ( symbol ) ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/components/pattern-convert-button.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
2023-09-26 21:11:22 +02:00
2023-09-26 16:23:26 +02:00
/ * *
* Menu control to convert block ( s ) to a pattern block .
*
* @ param { Object } props Component props .
* @ param { string [ ] } props . clientIds Client ids of selected blocks .
* @ param { string } props . rootClientId ID of the currently selected top - level block .
* @ return { import ( '@wordpress/element' ) . WPComponent } The menu control or null .
* /
function PatternConvertButton ( {
clientIds ,
rootClientId
} ) {
const {
createSuccessNotice
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( external _wp _notices _namespaceObject . store ) ;
const {
replaceBlocks
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( external _wp _blockEditor _namespaceObject . store ) ;
// Ignore reason: false positive of the lint rule.
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
const {
setEditingPattern
} = unlock ( ( 0 , external _wp _data _namespaceObject . useDispatch ) ( store ) ) ;
const [ isModalOpen , setIsModalOpen ] = ( 0 , external _wp _element _namespaceObject . useState ) ( false ) ;
const canConvert = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => {
var _getBlocksByClientId ;
const {
canUser
} = select ( external _wp _coreData _namespaceObject . store ) ;
const {
getBlocksByClientId ,
canInsertBlockType ,
getBlockRootClientId
} = select ( external _wp _blockEditor _namespaceObject . store ) ;
const rootId = rootClientId || ( clientIds . length > 0 ? getBlockRootClientId ( clientIds [ 0 ] ) : undefined ) ;
const blocks = ( _getBlocksByClientId = getBlocksByClientId ( clientIds ) ) !== null && _getBlocksByClientId !== void 0 ? _getBlocksByClientId : [ ] ;
const isReusable = blocks . length === 1 && blocks [ 0 ] && ( 0 , external _wp _blocks _namespaceObject . isReusableBlock ) ( blocks [ 0 ] ) && ! ! select ( external _wp _coreData _namespaceObject . store ) . getEntityRecord ( 'postType' , 'wp_block' , blocks [ 0 ] . attributes . ref ) ;
const _canConvert =
// Hide when this is already a synced pattern.
! isReusable &&
// Hide when patterns are disabled.
canInsertBlockType ( 'core/block' , rootId ) && blocks . every ( block =>
// Guard against the case where a regular block has *just* been converted.
! ! block &&
// Hide on invalid blocks.
block . isValid &&
// Hide when block doesn't support being made into a pattern.
( 0 , external _wp _blocks _namespaceObject . hasBlockSupport ) ( block . name , 'reusable' , true ) ) &&
// Hide when current doesn't have permission to do that.
! ! canUser ( 'create' , 'blocks' ) ;
return _canConvert ;
} , [ clientIds , rootClientId ] ) ;
const {
getBlocksByClientId
} = ( 0 , external _wp _data _namespaceObject . useSelect ) ( external _wp _blockEditor _namespaceObject . store ) ;
const getContent = ( 0 , external _wp _element _namespaceObject . useCallback ) ( ( ) => ( 0 , external _wp _blocks _namespaceObject . serialize ) ( getBlocksByClientId ( clientIds ) ) , [ getBlocksByClientId , clientIds ] ) ;
if ( ! canConvert ) {
return null ;
}
const handleSuccess = ( {
pattern
} ) => {
2023-09-26 21:11:22 +02:00
if ( pattern . wp _pattern _sync _status !== PATTERN _SYNC _TYPES . unsynced ) {
const newBlock = ( 0 , external _wp _blocks _namespaceObject . createBlock ) ( 'core/block' , {
ref : pattern . id
} ) ;
replaceBlocks ( clientIds , newBlock ) ;
setEditingPattern ( newBlock . clientId , true ) ;
}
createSuccessNotice ( pattern . wp _pattern _sync _status === PATTERN _SYNC _TYPES . unsynced ? ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2023-09-26 16:23:26 +02:00
// translators: %s: the name the user has given to the pattern.
2023-09-26 21:11:22 +02:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Unsynced pattern created: %s' ) , pattern . title . raw ) : ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2023-09-26 16:23:26 +02:00
// translators: %s: the name the user has given to the pattern.
2023-09-26 21:11:22 +02:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Synced pattern created: %s' ) , pattern . title . raw ) , {
2023-09-26 16:23:26 +02:00
type : 'snackbar' ,
id : 'convert-to-pattern-success'
} ) ;
setIsModalOpen ( false ) ;
} ;
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . MenuItem , {
icon : library _symbol ,
onClick : ( ) => setIsModalOpen ( true ) ,
"aria-expanded" : isModalOpen ,
"aria-haspopup" : "dialog"
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Create pattern' ) ) , isModalOpen && ( 0 , external _wp _element _namespaceObject . createElement ) ( CreatePatternModal , {
content : getContent ,
onSuccess : pattern => {
handleSuccess ( pattern ) ;
} ,
onError : ( ) => {
setIsModalOpen ( false ) ;
} ,
onClose : ( ) => {
setIsModalOpen ( false ) ;
}
} ) ) ;
}
; // CONCATENATED MODULE: external ["wp","url"]
var external _wp _url _namespaceObject = window [ "wp" ] [ "url" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/components/patterns-manage-button.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function PatternsManageButton ( {
clientId
} ) {
const {
canRemove ,
isVisible ,
innerBlockCount ,
managePatternsUrl
} = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => {
const {
getBlock ,
canRemoveBlock ,
getBlockCount ,
getSettings
} = select ( external _wp _blockEditor _namespaceObject . store ) ;
const {
canUser
} = select ( external _wp _coreData _namespaceObject . store ) ;
const reusableBlock = getBlock ( clientId ) ;
const isBlockTheme = getSettings ( ) . _ _unstableIsBlockBasedTheme ;
return {
canRemove : canRemoveBlock ( clientId ) ,
isVisible : ! ! reusableBlock && ( 0 , external _wp _blocks _namespaceObject . isReusableBlock ) ( reusableBlock ) && ! ! canUser ( 'update' , 'blocks' , reusableBlock . attributes . ref ) ,
innerBlockCount : getBlockCount ( clientId ) ,
// The site editor and templates both check whether the user
// has edit_theme_options capabilities. We can leverage that here
// and omit the manage patterns link if the user can't access it.
managePatternsUrl : isBlockTheme && canUser ( 'read' , 'templates' ) ? ( 0 , external _wp _url _namespaceObject . addQueryArgs ) ( 'site-editor.php' , {
path : '/patterns'
} ) : ( 0 , external _wp _url _namespaceObject . addQueryArgs ) ( 'edit.php' , {
post _type : 'wp_block'
} )
} ;
} , [ clientId ] ) ;
// Ignore reason: false positive of the lint rule.
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
const {
convertSyncedPatternToStatic
} = unlock ( ( 0 , external _wp _data _namespaceObject . useDispatch ) ( store ) ) ;
if ( ! isVisible ) {
return null ;
}
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . MenuItem , {
href : managePatternsUrl
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Manage patterns' ) ) , canRemove && ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . MenuItem , {
onClick : ( ) => convertSyncedPatternToStatic ( clientId )
} , innerBlockCount > 1 ? ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Detach patterns' ) : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Detach pattern' ) ) ) ;
}
/* harmony default export */ var patterns _manage _button = ( PatternsManageButton ) ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/components/index.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function PatternsMenuItems ( {
rootClientId
} ) {
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _blockEditor _namespaceObject . BlockSettingsMenuControls , null , ( {
selectedClientIds
} ) => ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ( 0 , external _wp _element _namespaceObject . createElement ) ( PatternConvertButton , {
clientIds : selectedClientIds ,
rootClientId : rootClientId
} ) , selectedClientIds . length === 1 && ( 0 , external _wp _element _namespaceObject . createElement ) ( patterns _manage _button , {
clientId : selectedClientIds [ 0 ]
} ) ) ) ;
}
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/private-apis.js
/ * *
* Internal dependencies
* /
const privateApis = { } ;
lock ( privateApis , {
CreatePatternModal : CreatePatternModal ,
PatternsMenuItems : PatternsMenuItems ,
PATTERN _TYPES : PATTERN _TYPES ,
PATTERN _DEFAULT _CATEGORY : PATTERN _DEFAULT _CATEGORY ,
PATTERN _USER _CATEGORY : PATTERN _USER _CATEGORY ,
PATTERN _CORE _SOURCES : PATTERN _CORE _SOURCES ,
PATTERN _SYNC _TYPES : PATTERN _SYNC _TYPES
} ) ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/index.js
/ * *
* Internal dependencies
* /
( window . wp = window . wp || { } ) . patterns = _ _webpack _exports _ _ ;
/******/ } ) ( )
;