2024-01-31 07:59:56 -05:00
/******/ // The require scope
/******/ var _ _webpack _require _ _ = { } ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
2024-01-31 07:59:56 -05:00
/******/ ( ( ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/******/ // define getter functions for harmony exports
2024-01-31 07:59:56 -05:00
/******/ _ _webpack _require _ _ . d = ( exports , definition ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/******/ for ( var key in definition ) {
/******/ if ( _ _webpack _require _ _ . o ( definition , key ) && ! _ _webpack _require _ _ . o ( exports , key ) ) {
/******/ Object . defineProperty ( exports , key , { enumerable : true , get : definition [ key ] } ) ;
/******/ }
/******/ }
/******/ } ;
2024-01-31 07:59:56 -05:00
/******/ } ) ( ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
2024-01-31 07:59:56 -05:00
/******/ ( ( ) => {
/******/ _ _webpack _require _ _ . o = ( obj , prop ) => ( Object . prototype . hasOwnProperty . call ( obj , prop ) )
/******/ } ) ( ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/******/
/************************************************************************/
var _ _webpack _exports _ _ = { } ;
2023-09-26 10:23:26 -04:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
2024-02-15 11:53:15 -05:00
zj : ( ) => ( /* reexport */ getConfig ) ,
SD : ( ) => ( /* reexport */ getContext ) ,
V6 : ( ) => ( /* reexport */ getElement ) ,
2024-05-24 05:42:09 -04:00
jb : ( ) => ( /* reexport */ privateApis ) ,
2024-02-15 11:53:15 -05:00
M _ : ( ) => ( /* reexport */ store ) ,
hb : ( ) => ( /* reexport */ useCallback ) ,
vJ : ( ) => ( /* reexport */ useEffect ) ,
ip : ( ) => ( /* reexport */ useInit ) ,
Nf : ( ) => ( /* reexport */ useLayoutEffect ) ,
Kr : ( ) => ( /* reexport */ useMemo ) ,
li : ( ) => ( /* reexport */ hooks _module _F ) ,
J0 : ( ) => ( /* reexport */ hooks _module _p ) ,
FH : ( ) => ( /* reexport */ useWatch ) ,
v4 : ( ) => ( /* reexport */ withScope )
2023-09-26 10:23:26 -04:00
} ) ;
; // CONCATENATED MODULE: ./node_modules/preact/dist/preact.module.js
2024-05-24 05:42:09 -04:00
var preact _module _n , preact _module _l , preact _module _u , preact _module _t , i , preact _module _o , r , preact _module _f , preact _module _e , preact _module _c , s , a , h = { } , p = [ ] , v = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i , y = Array . isArray ; function d ( n , l ) { for ( var u in l ) n [ u ] = l [ u ] ; return n } function w ( n ) { var l = n . parentNode ; l && l . removeChild ( n ) } function _ ( l , u , t ) { var i , o , r , f = { } ; for ( r in u ) "key" == r ? i = u [ r ] : "ref" == r ? o = u [ r ] : f [ r ] = u [ r ] ; if ( arguments . length > 2 && ( f . children = arguments . length > 3 ? preact _module _n . call ( arguments , 2 ) : t ) , "function" == typeof l && null != l . defaultProps ) for ( r in l . defaultProps ) void 0 === f [ r ] && ( f [ r ] = l . defaultProps [ r ] ) ; return g ( l , f , i , o , null ) } function g ( n , t , i , o , r ) { var f = { type : n , props : t , key : i , ref : o , _ _k : null , _ _ : null , _ _b : 0 , _ _e : null , _ _d : void 0 , _ _c : null , constructor : void 0 , _ _v : null == r ? ++ preact _module _u : r , _ _i : - 1 , _ _u : 0 } ; return null == r && null != preact _module _l . vnode && preact _module _l . vnode ( f ) , f } function m ( ) { return { current : null } } function k ( n ) { return n . children } function b ( n , l ) { this . props = n , this . context = l } function x ( n , l ) { if ( null == l ) return n . _ _ ? x ( n . _ _ , n . _ _i + 1 ) : null ; for ( var u ; l < n . _ _k . length ; l ++ ) if ( null != ( u = n . _ _k [ l ] ) && null != u . _ _e ) return u . _ _e ; return "function" == typeof n . type ? x ( n ) : null } function C ( n ) { var l , u ; if ( null != ( n = n . _ _ ) && null != n . _ _c ) { for ( n . _ _e = n . _ _c . base = null , l = 0 ; l < n . _ _k . length ; l ++ ) if ( null != ( u = n . _ _k [ l ] ) && null != u . _ _e ) { n . _ _e = n . _ _c . base = u . _ _e ; break } return C ( n ) } } function M ( n ) { ( ! n . _ _d && ( n . _ _d = ! 0 ) && i . push ( n ) && ! P . _ _r ++ || preact _module _o !== preact _module _l . debounceRendering ) && ( ( preact _module _o = preact _module _l . debounceRendering ) || r ) ( P ) } function P ( ) { var n , u , t , o , r , e , c , s ; for ( i . sort ( preact _module _f ) ; n = i . shift ( ) ; ) n . _ _d && ( u = i . length , o = void 0 , e = ( r = ( t = n ) . _ _v ) . _ _e , c = [ ] , s = [ ] , t . _ _P && ( ( o = d ( { } , r ) ) . _ _v = r . _ _v + 1 , preact _module _l . vnode && preact _module _l . vnode ( o ) , O ( t . _ _P , o , r , t . _ _n , t . _ _P . namespaceURI , 32 & r . _ _u ? [ e ] : null , c , null == e ? x ( r ) : e , ! ! ( 32 & r . _ _u ) , s ) , o . _ _v = r . _ _v , o . _ _ . _ _k [ o . _ _i ] = o , j ( c , o , s ) , o . _ _e != e && C ( o ) ) , i . length > u && i . sort ( preact _module _f ) ) ; P . _ _r = 0 } function S ( n , l , u , t , i , o , r , f , e , c , s ) { var a , v , y , d , w , _ = t && t . _ _k || p , g = l . length ; for ( u . _ _d = e , $ ( u , l , _ ) , e = u . _ _d , a = 0 ; a < g ; a ++ ) null != ( y = u . _ _k [ a ] ) && "boolean" != typeof y && "function" != typeof y && ( v = - 1 === y . _ _i ? h : _ [ y . _ _i ] || h , y . _ _i = a , O ( n , y , v , i , o , r , f , e , c , s ) , d = y . _ _e , y . ref && v . ref != y . ref && ( v . ref && N ( v . ref , null , y ) , s . push ( y . ref , y . _ _c || d , y ) ) , null == w && null != d && ( w = d ) , 65536 & y . _ _u || v . _ _k === y . _ _k ? ( e && ! e . isConnected && ( e = x ( v ) ) , e = I ( y , e , n ) ) : "function" == typeof y . type && void 0 !== y . _ _d ? e = y . _ _d : d && ( e = d . nextSibling ) , y . _ _d = void 0 , y . _ _u &= - 196609 ) ; u . _ _d = e , u . _ _e = w } function $ ( n , l , u ) { var t , i , o , r , f , e = l . length , c = u . length , s = c , a = 0 ; for ( n . _ _k = [ ] , t = 0 ; t < e ; t ++ ) r = t + a , null != ( i = n . _ _k [ t ] = null == ( i = l [ t ] ) || "boolean" == typeof i || "function" == typeof i ? null : "string" == typeof i || "number" == typeof i || "bigint" == typeof i || i . constructor == String ? g ( null , i , null , null , null ) : y ( i ) ? g ( k , { children : i } , null , null , null ) : void 0 === i . constructor && i . _ _b > 0 ? g ( i . type , i . props , i . key , i . ref ? i . ref : null , i . _ _v ) : i ) ? ( i . _ _ = n , i . _ _b = n . _ _b + 1 , f = L ( i , u , r , s ) , i . _ _i = f , o = null , - 1 !== f && ( s -- , ( o = u [ f ] ) && ( o . _ _u |= 131072 ) ) , null == o || null === o . _ _v ? ( - 1 == f && a -- , "function" != typeof i . type && ( i . _ _u |= 65536 ) ) : f !== r && ( f === r + 1 ? a ++ : f > r ? s > e - r ? a += f - r : a -- : f < r ? f == r - 1 && ( a = f - r ) : a = 0 , f !== t + a && ( i . _ _u |= 65536 ) ) ) : ( o = u [ r ] ) && null == o . key && o . _ _e && 0 == ( 131072 & o . _ _u ) && ( o . _ _e == n . _ _d && ( n . _ _d = x ( o ) ) , V ( o , o , ! 1 ) , u [ r ] = null , s -- ) ; if ( s ) for ( t = 0 ; t < c ; t ++ ) null != ( o = u [ t ] ) && 0 == ( 131072 & o . _ _u ) && ( o . _ _e == n . _ _d && ( n . _ _d = x ( o ) ) , V ( o , o ) ) } function I ( n , l , u ) { var t , i ; if ( "function" == typeof n . type ) { for ( t = n . _ _k , i = 0 ; t && i < t . length ; i ++ ) t [ i ] && ( t [ i ] . _ _ = n , l = I ( t [ i ] , l , u ) ) ; return l } n . _ _e != l && ( u . insertBefore ( n . _ _e , l || null ) , l = n . _ _e ) ; do { l = l && l . nextSibling } while ( null != l && 8 === l . nodeType ) ; return l } function H ( n , l ) { return l = l || [ ] , null == n || "boolean" == typeof n || ( y ( n ) ? n . some ( function ( n ) { H ( n , l ) } ) : l . push ( n ) ) , l } function L ( n , l , u , t ) { var i = n . key , o = n . type , r = u - 1 , f = u + 1 , e = l [ u ] ; if ( null === e || e && i == e . key && o === e . type && 0 == ( 131072 & e . _ _u ) ) return u ; if ( t > ( null != e && 0 == ( 131072 & e . _ _u ) ? 1 : 0 ) ) for ( ; r >= 0 || f < l . length ; ) { if ( r >= 0 ) { if ( ( e = l [ r ] ) && 0 == ( 131072 & e . _ _u ) && i == e . key && o === e . type ) return r ; r -- } if ( f < l . length ) { if ( ( e = l [ f ] ) && 0 == ( 131072 & e . _ _u ) && i == e . key && o === e . type ) return f ; f ++ } } return - 1 } function T ( n , l , u ) { "-" === l [ 0 ] ? n . setProperty ( l , null == u ? "" : u ) : n [ l ] = null == u ? "" : "number" !
; // CONCATENATED MODULE: ./node_modules/preact/devtools/dist/devtools.module.js
function devtools _module _t ( o , e ) { return n . _ _a && n . _ _a ( e ) , o } "undefined" != typeof window && window . _ _PREACT _DEVTOOLS _ _ && window . _ _PREACT _DEVTOOLS _ _ . attachPreact ( "10.22.0" , preact _module _l , { Fragment : k , Component : b } ) ;
; // CONCATENATED MODULE: ./node_modules/preact/debug/dist/debug.module.js
var debug _module _o = { } ; function debug _module _r ( ) { debug _module _o = { } } function debug _module _a ( e ) { return e . type === k ? "Fragment" : "function" == typeof e . type ? e . type . displayName || e . type . name : "string" == typeof e . type ? e . type : "#text" } var debug _module _i = [ ] , debug _module _s = [ ] ; function debug _module _c ( ) { return debug _module _i . length > 0 ? debug _module _i [ debug _module _i . length - 1 ] : null } var l = ! 0 ; function debug _module _u ( e ) { return "function" == typeof e . type && e . type != k } function debug _module _f ( n ) { for ( var e = [ n ] , t = n ; null != t . _ _o ; ) e . push ( t . _ _o ) , t = t . _ _o ; return e . reduce ( function ( n , e ) { n += " in " + debug _module _a ( e ) ; var t = e . _ _source ; return t ? n += " (at " + t . fileName + ":" + t . lineNumber + ")" : l && console . warn ( "Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons." ) , l = ! 1 , n + "\n" } , "" ) } var debug _module _p = "function" == typeof WeakMap ; function debug _module _d ( n ) { var e = [ ] ; return n . _ _k ? ( n . _ _k . forEach ( function ( n ) { n && "function" == typeof n . type ? e . push . apply ( e , debug _module _d ( n ) ) : n && "string" == typeof n . type && e . push ( n . type ) } ) , e ) : e } function debug _module _h ( n ) { return n ? "function" == typeof n . type ? null === n . _ _ ? null !== n . _ _e && null !== n . _ _e . parentNode ? n . _ _e . parentNode . localName : "" : debug _module _h ( n . _ _ ) : n . type : "" } var debug _module _v = b . prototype . setState ; function debug _module _y ( n ) { return "table" === n || "tfoot" === n || "tbody" === n || "thead" === n || "td" === n || "tr" === n || "th" === n } b . prototype . setState = function ( n , e ) { return null == this . _ _v && null == this . state && console . warn ( 'Calling "this.setState" inside the constructor of a component is a no-op and might be a bug in your application. Instead, set "this.state = {}" directly.\n\n' + debug _module _f ( debug _module _c ( ) ) ) , debug _module _v . call ( this , n , e ) } ; var debug _module _m = /^(address|article|aside|blockquote|details|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|main|menu|nav|ol|p|pre|search|section|table|ul)$/ , debug _module _b = b . prototype . forceUpdate ; function debug _module _w ( n ) { var e = n . props , t = debug _module _a ( n ) , o = "" ; for ( var r in e ) if ( e . hasOwnProperty ( r ) && "children" !== r ) { var i = e [ r ] ; "function" == typeof i && ( i = "function " + ( i . displayName || i . name ) + "() {}" ) , i = Object ( i ) !== i || i . toString ? i + "" : Object . prototype . toString . call ( i ) , o += " " + r + "=" + JSON . stringify ( i ) } var s = e . children ; return "<" + t + o + ( s && s . length ? ">..</" + t + ">" : " />" ) } b . prototype . forceUpdate = function ( n ) { return null == this . _ _v ? console . warn ( 'Calling "this.forceUpdate" inside the constructor of a component is a no-op and might be a bug in your application.\n\n' + debug _module _f ( debug _module _c ( ) ) ) : null == this . _ _P && console . warn ( 'Can\'t call "this.forceUpdate" on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.\n\n' + debug _module _f ( this . _ _v ) ) , debug _module _b . call ( this , n ) } , function ( ) { ! function ( ) { var n = preact _module _l . _ _b , t = preact _module _l . diffed , o = preact _module _l . _ _ , r = preact _module _l . vnode , a = preact _module _l . _ _r ; preact _module _l . diffed = function ( n ) { debug _module _u ( n ) && debug _module _s . pop ( ) , debug _module _i . pop ( ) , t && t ( n ) } , preact _module _l . _ _b = function ( e ) { debug _module _u ( e ) && debug _module _i . push ( e ) , n && n ( e ) } , preact _module _l . _ _ = function ( n , e ) { debug _module _s = [ ] , o && o ( n , e ) } , preact _module _l . vnode = function ( n ) { n . _ _o = debug _module _s . length > 0 ? debug _module _s [ debug _module _s . length - 1 ] : null , r && r ( n ) } , preact _module _l . _ _r = function ( n ) { debug _module _u ( n ) && debug _module _s . push ( n ) , a && a ( n ) } } ( ) ; var n = ! 1 , t = preact _module _l . _ _b , r = preact _module _l . diffed , c = preact _module _l . vnode , l = preact _module _l . _ _r , v = preact _module _l . _ _e , b = preact _module _l . _ _ , g = preact _module _l . _ _h , E = debug _module _p ? { useEffect : new WeakMap , useLayoutEffect : new WeakMap , lazyPropTypes : new WeakMap } : null , k = [ ] ; preact _module _l . _ _e = function ( n , e , t , o ) { if ( e && e . _ _c && "function" == typeof n . then ) { var r = n ; n = new Error ( "Missing Suspense. The throwing component was: " + debug _module _a ( e ) ) ; for ( var i = e ; i ; i = i . _ _ ) if ( i . _ _c && i . _ _c . _ _c ) { n = r ; break } if ( n instanceof Error ) throw n } try { ( o = o || { } ) . componentStack = debug _module _f ( e ) , v ( n , e , t , o ) , "function" != typeof n . then && setTimeout ( function ( ) { thro
2023-09-26 10:23:26 -04:00
; // CONCATENATED MODULE: ./node_modules/preact/hooks/dist/hooks.module.js
2024-05-24 05:42:09 -04:00
var hooks _module _t , hooks _module _r , hooks _module _u , hooks _module _i , hooks _module _o = 0 , hooks _module _f = [ ] , hooks _module _c = [ ] , hooks _module _e = preact _module _l , hooks _module _a = hooks _module _e . _ _b , hooks _module _v = hooks _module _e . _ _r , hooks _module _l = hooks _module _e . diffed , hooks _module _m = hooks _module _e . _ _c , hooks _module _s = hooks _module _e . unmount , hooks _module _d = hooks _module _e . _ _ ; function hooks _module _h ( n , t ) { hooks _module _e . _ _h && hooks _module _e . _ _h ( hooks _module _r , n , hooks _module _o || t ) , hooks _module _o = 0 ; var u = hooks _module _r . _ _H || ( hooks _module _r . _ _H = { _ _ : [ ] , _ _h : [ ] } ) ; return n >= u . _ _ . length && u . _ _ . push ( { _ _V : hooks _module _c } ) , u . _ _ [ n ] } function hooks _module _p ( n ) { return hooks _module _o = 1 , hooks _module _y ( hooks _module _D , n ) } function hooks _module _y ( n , u , i ) { var o = hooks _module _h ( hooks _module _t ++ , 2 ) ; if ( o . t = n , ! o . _ _c && ( o . _ _ = [ i ? i ( u ) : hooks _module _D ( void 0 , u ) , function ( n ) { var t = o . _ _N ? o . _ _N [ 0 ] : o . _ _ [ 0 ] , r = o . t ( t , n ) ; t !== r && ( o . _ _N = [ r , o . _ _ [ 1 ] ] , o . _ _c . setState ( { } ) ) } ] , o . _ _c = hooks _module _r , ! hooks _module _r . u ) ) { var f = function ( n , t , r ) { if ( ! o . _ _c . _ _H ) return ! 0 ; var u = o . _ _c . _ _H . _ _ . filter ( function ( n ) { return ! ! n . _ _c } ) ; if ( u . every ( function ( n ) { return ! n . _ _N } ) ) return ! c || c . call ( this , n , t , r ) ; var i = ! 1 ; return u . forEach ( function ( n ) { if ( n . _ _N ) { var t = n . _ _ [ 0 ] ; n . _ _ = n . _ _N , n . _ _N = void 0 , t !== n . _ _ [ 0 ] && ( i = ! 0 ) } } ) , ! ( ! i && o . _ _c . props === n ) && ( ! c || c . call ( this , n , t , r ) ) } ; hooks _module _r . u = ! 0 ; var c = hooks _module _r . shouldComponentUpdate , e = hooks _module _r . componentWillUpdate ; hooks _module _r . componentWillUpdate = function ( n , t , r ) { if ( this . _ _e ) { var u = c ; c = void 0 , f ( n , t , r ) , c = u } e && e . call ( this , n , t , r ) } , hooks _module _r . shouldComponentUpdate = f } return o . _ _N || o . _ _ } function hooks _module _ ( n , u ) { var i = hooks _module _h ( hooks _module _t ++ , 3 ) ; ! hooks _module _e . _ _s && hooks _module _C ( i . _ _H , u ) && ( i . _ _ = n , i . i = u , hooks _module _r . _ _H . _ _h . push ( i ) ) } function hooks _module _A ( n , u ) { var i = hooks _module _h ( hooks _module _t ++ , 4 ) ; ! hooks _module _e . _ _s && hooks _module _C ( i . _ _H , u ) && ( i . _ _ = n , i . i = u , hooks _module _r . _ _h . push ( i ) ) } function hooks _module _F ( n ) { return hooks _module _o = 5 , hooks _module _q ( function ( ) { return { current : n } } , [ ] ) } function hooks _module _T ( n , t , r ) { hooks _module _o = 6 , hooks _module _A ( function ( ) { return "function" == typeof n ? ( n ( t ( ) ) , function ( ) { return n ( null ) } ) : n ? ( n . current = t ( ) , function ( ) { return n . current = null } ) : void 0 } , null == r ? r : r . concat ( n ) ) } function hooks _module _q ( n , r ) { var u = hooks _module _h ( hooks _module _t ++ , 7 ) ; return hooks _module _C ( u . _ _H , r ) ? ( u . _ _V = n ( ) , u . i = r , u . _ _h = n , u . _ _V ) : u . _ _ } function hooks _module _x ( n , t ) { return hooks _module _o = 8 , hooks _module _q ( function ( ) { return n } , t ) } function hooks _module _P ( n ) { var u = hooks _module _r . context [ n . _ _c ] , i = hooks _module _h ( hooks _module _t ++ , 9 ) ; return i . c = n , u ? ( null == i . _ _ && ( i . _ _ = ! 0 , u . sub ( hooks _module _r ) ) , u . props . value ) : n . _ _ } function hooks _module _V ( n , t ) { hooks _module _e . useDebugValue && hooks _module _e . useDebugValue ( t ? t ( n ) : n ) } function hooks _module _b ( n ) { var u = hooks _module _h ( hooks _module _t ++ , 10 ) , i = hooks _module _p ( ) ; return u . _ _ = n , hooks _module _r . componentDidCatch || ( hooks _module _r . componentDidCatch = function ( n , t ) { u . _ _ && u . _ _ ( n , t ) , i [ 1 ] ( n ) } ) , [ i [ 0 ] , function ( ) { i [ 1 ] ( void 0 ) } ] } function hooks _module _g ( ) { var n = hooks _module _h ( hooks _module _t ++ , 11 ) ; if ( ! n . _ _ ) { for ( var u = hooks _module _r . _ _v ; null !== u && ! u . _ _m && null !== u . _ _ ; ) u = u . _ _ ; var i = u . _ _m || ( u . _ _m = [ 0 , 0 ] ) ; n . _ _ = "P" + i [ 0 ] + "-" + i [ 1 ] ++ } return n . _ _ } function hooks _module _j ( ) { for ( var n ; n = hooks _module _f . shift ( ) ; ) if ( n . _ _P && n . _ _H ) try { n . _ _H . _ _h . forEach ( hooks _module _z ) , n . _ _H . _ _h . forEach ( hooks _module _B ) , n . _ _H . _ _h = [ ] } catch ( t ) { n . _ _H . _ _h = [ ] , hooks _module _e . _ _e ( t , n . _ _v ) } } hooks _module _e . _ _b = function ( n ) { hooks _module _r = null , hooks _module _a && hooks _module _a ( n ) } , hooks _module _e . _ _ = function ( n , t ) { n && t . _ _k && t . _ _k . _ _m && ( n . _ _m = t . _ _k . _ _m ) , hooks _module _d && hooks _module _d ( n , t ) } , hooks _module _e . _ _r = function ( n ) { hooks _module _v && hooks _module _v ( n ) , hooks _module _t = 0 ; var i = ( hooks _module _r = n . _ _c ) . _ _H ; i && ( hooks _module _u === hooks _module _r ? ( i . _ _h = [ ] , hooks _module _r . _ _h = [ ] , i . _ _ . forEach ( function ( n ) { n . _ _N && ( n . _ _ = n . _ _N ) , n . _ _V = hooks _module _c , n . _ _N = n . i = void 0 } ) ) : ( i . _ _h . forEach ( hooks _module _z ) , i . _ _h . forEach ( hooks _module _B ) , i . _ _h = [ ] , hooks _module _t = 0 ) ) , hooks _module _u = hooks _module _r } , hooks _module _e . diffed = function ( n ) { hooks _module _l && hooks _module _l ( n ) ; var t = n . _ _c ; t && t . _ _H && ( t . _ _H . _ _h . length && ( 1 !== hooks _module _f . push ( t ) && hooks
2023-09-26 10:23:26 -04:00
; // CONCATENATED MODULE: ./node_modules/@preact/signals-core/dist/signals-core.module.js
2024-05-23 15:39:28 -04:00
var signals _core _module _i = Symbol . for ( "preact-signals" ) ; function signals _core _module _t ( ) { if ( ! ( signals _core _module _s > 1 ) ) { var i , t = ! 1 ; while ( void 0 !== signals _core _module _h ) { var r = signals _core _module _h ; signals _core _module _h = void 0 ; signals _core _module _f ++ ; while ( void 0 !== r ) { var o = r . o ; r . o = void 0 ; r . f &= - 3 ; if ( ! ( 8 & r . f ) && signals _core _module _c ( r ) ) try { r . c ( ) } catch ( r ) { if ( ! t ) { i = r ; t = ! 0 } } r = o } } signals _core _module _f = 0 ; signals _core _module _s -- ; if ( t ) throw i } else signals _core _module _s -- } function signals _core _module _r ( i ) { if ( signals _core _module _s > 0 ) return i ( ) ; signals _core _module _s ++ ; try { return i ( ) } finally { signals _core _module _t ( ) } } var signals _core _module _o = void 0 ; function signals _core _module _n ( i ) { var t = signals _core _module _o ; signals _core _module _o = void 0 ; try { return i ( ) } finally { signals _core _module _o = t } } var signals _core _module _h = void 0 , signals _core _module _s = 0 , signals _core _module _f = 0 , signals _core _module _v = 0 ; function signals _core _module _e ( i ) { if ( void 0 !== signals _core _module _o ) { var t = i . n ; if ( void 0 === t || t . t !== signals _core _module _o ) { t = { i : 0 , S : i , p : signals _core _module _o . s , n : void 0 , t : signals _core _module _o , e : void 0 , x : void 0 , r : t } ; if ( void 0 !== signals _core _module _o . s ) signals _core _module _o . s . n = t ; signals _core _module _o . s = t ; i . n = t ; if ( 32 & signals _core _module _o . f ) i . S ( t ) ; return t } else if ( - 1 === t . i ) { t . i = 0 ; if ( void 0 !== t . n ) { t . n . p = t . p ; if ( void 0 !== t . p ) t . p . n = t . n ; t . p = signals _core _module _o . s ; t . n = void 0 ; signals _core _module _o . s . n = t ; signals _core _module _o . s = t } return t } } } function signals _core _module _u ( i ) { this . v = i ; this . i = 0 ; this . n = void 0 ; this . t = void 0 } signals _core _module _u . prototype . brand = signals _core _module _i ; signals _core _module _u . prototype . h = function ( ) { return ! 0 } ; signals _core _module _u . prototype . S = function ( i ) { if ( this . t !== i && void 0 === i . e ) { i . x = this . t ; if ( void 0 !== this . t ) this . t . e = i ; this . t = i } } ; signals _core _module _u . prototype . U = function ( i ) { if ( void 0 !== this . t ) { var t = i . e , r = i . x ; if ( void 0 !== t ) { t . x = r ; i . e = void 0 } if ( void 0 !== r ) { r . e = t ; i . x = void 0 } if ( i === this . t ) this . t = r } } ; signals _core _module _u . prototype . subscribe = function ( i ) { var t = this ; return signals _core _module _E ( function ( ) { var r = t . value , n = signals _core _module _o ; signals _core _module _o = void 0 ; try { i ( r ) } finally { signals _core _module _o = n } } ) } ; signals _core _module _u . prototype . valueOf = function ( ) { return this . value } ; signals _core _module _u . prototype . toString = function ( ) { return this . value + "" } ; signals _core _module _u . prototype . toJSON = function ( ) { return this . value } ; signals _core _module _u . prototype . peek = function ( ) { var i = signals _core _module _o ; signals _core _module _o = void 0 ; try { return this . value } finally { signals _core _module _o = i } } ; Object . defineProperty ( signals _core _module _u . prototype , "value" , { get : function ( ) { var i = signals _core _module _e ( this ) ; if ( void 0 !== i ) i . i = this . i ; return this . v } , set : function ( i ) { if ( i !== this . v ) { if ( signals _core _module _f > 100 ) throw new Error ( "Cycle detected" ) ; this . v = i ; this . i ++ ; signals _core _module _v ++ ; signals _core _module _s ++ ; try { for ( var r = this . t ; void 0 !== r ; r = r . x ) r . t . N ( ) } finally { signals _core _module _t ( ) } } } } ) ; function signals _core _module _d ( i ) { return new signals _core _module _u ( i ) } function signals _core _module _c ( i ) { for ( var t = i . s ; void 0 !== t ; t = t . n ) if ( t . S . i !== t . i || ! t . S . h ( ) || t . S . i !== t . i ) return ! 0 ; return ! 1 } function signals _core _module _a ( i ) { for ( var t = i . s ; void 0 !== t ; t = t . n ) { var r = t . S . n ; if ( void 0 !== r ) t . r = r ; t . S . n = t ; t . i = - 1 ; if ( void 0 === t . n ) { i . s = t ; break } } } function signals _core _module _l ( i ) { var t = i . s , r = void 0 ; while ( void 0 !== t ) { var o = t . p ; if ( - 1 === t . i ) { t . S . U ( t ) ; if ( void 0 !== o ) o . n = t . n ; if ( void 0 !== t . n ) t . n . p = o } else r = t ; t . S . n = t . r ; if ( void 0 !== t . r ) t . r = void 0 ; t = o } i . s = r } function signals _core _module _y ( i ) { signals _core _module _u . call ( this , void 0 ) ; this . x = i ; this . s = void 0 ; this . g = signals _core _module _v - 1 ; this . f = 4 } ( signals _core _module _y . prototype = new signals _core _module _u ) . h = function ( ) { this . f &= - 3 ; if ( 1 & this . f ) return ! 1 ; if ( 32 == ( 36 & this . f ) ) return ! 0 ; this . f &= - 5 ; if ( this . g === signals _core _module _v ) return ! 0 ; this . g = signals _core _module _v ; this . f |= 1 ; if ( this . i > 0 && ! signals _core _module _c ( this ) ) { this . f &= - 2 ; return ! 0 } var i = signals _core _module _o ; try { signals _core _module _a ( this ) ; signals _core _module _o = this ; var t = this . x ( ) ; if ( 16 & this . f || this . v !== t || 0 === this . i ) { this . v = t ; this . f &= - 17 ; this . i ++ } } catch ( i ) { this . v = i ; this . f |= 16 ; this . i ++ } signals _core _mod
2023-09-26 10:23:26 -04:00
; // CONCATENATED MODULE: ./node_modules/@preact/signals/dist/signals.module.js
2024-05-24 05:42:09 -04:00
var signals _module _v , signals _module _s ; function signals _module _l ( n , i ) { preact _module _l [ n ] = i . bind ( null , preact _module _l [ n ] || function ( ) { } ) } function signals _module _d ( n ) { if ( signals _module _s ) signals _module _s ( ) ; signals _module _s = n && n . S ( ) } function signals _module _p ( n ) { var r = this , f = n . data , o = useSignal ( f ) ; o . value = f ; var e = hooks _module _q ( function ( ) { var n = r . _ _v ; while ( n = n . _ _ ) if ( n . _ _c ) { n . _ _c . _ _$f |= 4 ; break } r . _ _$u . c = function ( ) { var n ; if ( ! preact _module _t ( e . peek ( ) ) && 3 === ( null == ( n = r . base ) ? void 0 : n . nodeType ) ) r . base . data = e . peek ( ) ; else { r . _ _$f |= 1 ; r . setState ( { } ) } } ; return signals _core _module _w ( function ( ) { var n = o . value . value ; return 0 === n ? 0 : ! 0 === n ? "" : n || "" } ) } , [ ] ) ; return e . value } signals _module _p . displayName = "_st" ; Object . defineProperties ( signals _core _module _u . prototype , { constructor : { configurable : ! 0 , value : void 0 } , type : { configurable : ! 0 , value : signals _module _p } , props : { configurable : ! 0 , get : function ( ) { return { data : this } } } , _ _b : { configurable : ! 0 , value : 1 } } ) ; signals _module _l ( "__b" , function ( n , r ) { if ( "string" == typeof r . type ) { var i , t = r . props ; for ( var f in t ) if ( "children" !== f ) { var o = t [ f ] ; if ( o instanceof signals _core _module _u ) { if ( ! i ) r . _ _np = i = { } ; i [ f ] = o ; t [ f ] = o . peek ( ) } } } n ( r ) } ) ; signals _module _l ( "__r" , function ( n , r ) { signals _module _d ( ) ; var i , t = r . _ _c ; if ( t ) { t . _ _$f &= - 2 ; if ( void 0 === ( i = t . _ _$u ) ) t . _ _$u = i = function ( n ) { var r ; signals _core _module _E ( function ( ) { r = this } ) ; r . c = function ( ) { t . _ _$f |= 1 ; t . setState ( { } ) } ; return r } ( ) } signals _module _v = t ; signals _module _d ( i ) ; n ( r ) } ) ; signals _module _l ( "__e" , function ( n , r , i , t ) { signals _module _d ( ) ; signals _module _v = void 0 ; n ( r , i , t ) } ) ; signals _module _l ( "diffed" , function ( n , r ) { signals _module _d ( ) ; signals _module _v = void 0 ; var i ; if ( "string" == typeof r . type && ( i = r . _ _e ) ) { var t = r . _ _np , f = r . props ; if ( t ) { var o = i . U ; if ( o ) for ( var e in o ) { var u = o [ e ] ; if ( void 0 !== u && ! ( e in t ) ) { u . d ( ) ; o [ e ] = void 0 } } else i . U = o = { } ; for ( var a in t ) { var c = o [ a ] , s = t [ a ] ; if ( void 0 === c ) { c = signals _module _ ( i , a , s , f ) ; o [ a ] = c } else c . o ( s , f ) } } } n ( r ) } ) ; function signals _module _ ( n , r , i , t ) { var f = r in n && void 0 === n . ownerSVGElement , o = signals _core _module _d ( i ) ; return { o : function ( n , r ) { o . value = n ; t = r } , d : signals _core _module _E ( function ( ) { var i = o . value . value ; if ( t [ r ] !== i ) { t [ r ] = i ; if ( f ) n [ r ] = i ; else if ( i ) n . setAttribute ( r , i ) ; else n . removeAttribute ( r ) } } ) } } signals _module _l ( "unmount" , function ( n , r ) { if ( "string" == typeof r . type ) { var i = r . _ _e ; if ( i ) { var t = i . U ; if ( t ) { i . U = void 0 ; for ( var f in t ) { var o = t [ f ] ; if ( o ) o . d ( ) } } } } else { var e = r . _ _c ; if ( e ) { var u = e . _ _$u ; if ( u ) { e . _ _$u = void 0 ; u . d ( ) } } } n ( r ) } ) ; signals _module _l ( "__h" , function ( n , r , i , t ) { if ( t < 3 || 9 === t ) r . _ _$f |= 2 ; n ( r , i , t ) } ) ; b . prototype . shouldComponentUpdate = function ( n , r ) { var i = this . _ _$u ; if ( ! ( i && void 0 !== i . s || 4 & this . _ _$f ) ) return ! 0 ; if ( 3 & this . _ _$f ) return ! 0 ; for ( var t in r ) return ! 0 ; for ( var f in n ) if ( "__source" !== f && n [ f ] !== this . props [ f ] ) return ! 0 ; for ( var o in this . props ) if ( ! ( o in n ) ) return ! 0 ; return ! 1 } ; function useSignal ( n ) { return hooks _module _q ( function ( ) { return signals _core _module _d ( n ) } , [ ] ) } function useComputed ( n ) { var r = f ( n ) ; r . current = n ; signals _module _v . _ _$f |= 4 ; return t ( function ( ) { return u ( function ( ) { return r . current ( ) } ) } , [ ] ) } function useSignalEffect ( n ) { var r = f ( n ) ; r . current = n ; o ( function ( ) { return c ( function ( ) { return r . current ( ) } ) } , [ ] ) }
2023-09-26 10:23:26 -04:00
; // CONCATENATED MODULE: ./node_modules/deepsignal/dist/deepsignal.module.js
2024-05-23 15:39:28 -04:00
var deepsignal _module _a = new WeakMap , deepsignal _module _o = new WeakMap , deepsignal _module _s = new WeakMap , deepsignal _module _u = new WeakSet , deepsignal _module _c = new WeakMap , deepsignal _module _f = /^\$/ , deepsignal _module _i = Object . getOwnPropertyDescriptor , deepsignal _module _l = ! 1 , deepsignal _module _g = function ( e ) { if ( ! deepsignal _module _k ( e ) ) throw new Error ( "This object can't be observed." ) ; return deepsignal _module _o . has ( e ) || deepsignal _module _o . set ( e , deepsignal _module _v ( e , deepsignal _module _d ) ) , deepsignal _module _o . get ( e ) } , deepsignal _module _p = function ( e , t ) { deepsignal _module _l = ! 0 ; var r = e [ t ] ; try { deepsignal _module _l = ! 1 } catch ( e ) { } return r } ; function deepsignal _module _h ( e ) { return deepsignal _module _u . add ( e ) , e } var deepsignal _module _v = function ( e , t ) { var r = new Proxy ( e , t ) ; return deepsignal _module _u . add ( r ) , r } , deepsignal _module _y = function ( ) { throw new Error ( "Don't mutate the signals directly." ) } , deepsignal _module _w = function ( e ) { return function ( t , u , c ) { var g ; if ( deepsignal _module _l ) return Reflect . get ( t , u , c ) ; var p = e || "$" === u [ 0 ] ; if ( ! e && p && Array . isArray ( t ) ) { if ( "$" === u ) return deepsignal _module _s . has ( t ) || deepsignal _module _s . set ( t , deepsignal _module _v ( t , deepsignal _module _m ) ) , deepsignal _module _s . get ( t ) ; p = "$length" === u } deepsignal _module _a . has ( c ) || deepsignal _module _a . set ( c , new Map ) ; var h = deepsignal _module _a . get ( c ) , y = p ? u . replace ( deepsignal _module _f , "" ) : u ; if ( h . has ( y ) || "function" != typeof ( null == ( g = deepsignal _module _i ( t , y ) ) ? void 0 : g . get ) ) { var w = Reflect . get ( t , y , c ) ; if ( p && "function" == typeof w ) return ; if ( "symbol" == typeof y && deepsignal _module _b . has ( y ) ) return w ; h . has ( y ) || ( deepsignal _module _k ( w ) && ( deepsignal _module _o . has ( w ) || deepsignal _module _o . set ( w , deepsignal _module _v ( w , deepsignal _module _d ) ) , w = deepsignal _module _o . get ( w ) ) , h . set ( y , signals _core _module _d ( w ) ) ) } else h . set ( y , signals _core _module _w ( function ( ) { return Reflect . get ( t , y , c ) } ) ) ; return p ? h . get ( y ) : h . get ( y ) . value } } , deepsignal _module _d = { get : deepsignal _module _w ( ! 1 ) , set : function ( e , n , s , u ) { var l ; if ( "function" == typeof ( null == ( l = deepsignal _module _i ( e , n ) ) ? void 0 : l . set ) ) return Reflect . set ( e , n , s , u ) ; deepsignal _module _a . has ( u ) || deepsignal _module _a . set ( u , new Map ) ; var g = deepsignal _module _a . get ( u ) ; if ( "$" === n [ 0 ] ) { s instanceof signals _core _module _u || deepsignal _module _y ( ) ; var p = n . replace ( deepsignal _module _f , "" ) ; return g . set ( p , s ) , Reflect . set ( e , p , s . peek ( ) , u ) } var h = s ; deepsignal _module _k ( s ) && ( deepsignal _module _o . has ( s ) || deepsignal _module _o . set ( s , deepsignal _module _v ( s , deepsignal _module _d ) ) , h = deepsignal _module _o . get ( s ) ) ; var w = ! ( n in e ) , m = Reflect . set ( e , n , s , u ) ; return g . has ( n ) ? g . get ( n ) . value = h : g . set ( n , signals _core _module _d ( h ) ) , w && deepsignal _module _c . has ( e ) && deepsignal _module _c . get ( e ) . value ++ , Array . isArray ( e ) && g . has ( "length" ) && ( g . get ( "length" ) . value = e . length ) , m } , deleteProperty : function ( e , t ) { "$" === t [ 0 ] && deepsignal _module _y ( ) ; var r = deepsignal _module _a . get ( deepsignal _module _o . get ( e ) ) , n = Reflect . deleteProperty ( e , t ) ; return r && r . has ( t ) && ( r . get ( t ) . value = void 0 ) , deepsignal _module _c . has ( e ) && deepsignal _module _c . get ( e ) . value ++ , n } , ownKeys : function ( e ) { return deepsignal _module _c . has ( e ) || deepsignal _module _c . set ( e , signals _core _module _d ( 0 ) ) , deepsignal _module _c . _ = deepsignal _module _c . get ( e ) . value , Reflect . ownKeys ( e ) } } , deepsignal _module _m = { get : deepsignal _module _w ( ! 0 ) , set : deepsignal _module _y , deleteProperty : deepsignal _module _y } , deepsignal _module _b = new Set ( Object . getOwnPropertyNames ( Symbol ) . map ( function ( e ) { return Symbol [ e ] } ) . filter ( function ( e ) { return "symbol" == typeof e } ) ) , R = new Set ( [ Object , Array ] ) , deepsignal _module _k = function ( e ) { return "object" == typeof e && null !== e && R . has ( e . constructor ) && ! deepsignal _module _u . has ( e ) } , deepsignal _module _M = function ( t ) { return e ( function ( ) { return deepsignal _module _g ( t ) } , [ ] ) } ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/store.js
2023-09-26 10:23:26 -04:00
/ * *
* External dependencies
* /
/ * *
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Internal dependencies
2023-09-26 10:23:26 -04:00
* /
2024-05-23 15:39:28 -04:00
const isObject = item => Boolean ( item && typeof item === 'object' && item . constructor === Object ) ;
2023-09-26 10:23:26 -04:00
const deepMerge = ( target , source ) => {
if ( isObject ( target ) && isObject ( source ) ) {
for ( const key in source ) {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const getter = Object . getOwnPropertyDescriptor ( source , key ) ? . get ;
if ( typeof getter === 'function' ) {
Object . defineProperty ( target , key , {
get : getter
} ) ;
} else if ( isObject ( source [ key ] ) ) {
2024-05-23 15:39:28 -04:00
if ( ! target [ key ] ) {
target [ key ] = { } ;
}
2023-09-26 10:23:26 -04:00
deepMerge ( target [ key ] , source [ key ] ) ;
} else {
2024-02-27 09:48:23 -05:00
try {
target [ key ] = source [ key ] ;
} catch ( e ) {
// Assignemnts fail for properties that are only getters.
// When that's the case, the assignment is simply ignored.
}
2023-09-26 10:23:26 -04:00
}
}
}
} ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const stores = new Map ( ) ;
const rawStores = new Map ( ) ;
const storeLocks = new Map ( ) ;
2024-02-09 13:22:22 -05:00
const storeConfigs = new Map ( ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const objToProxy = new WeakMap ( ) ;
const proxyToNs = new WeakMap ( ) ;
const scopeToGetters = new WeakMap ( ) ;
const proxify = ( obj , ns ) => {
if ( ! objToProxy . has ( obj ) ) {
const proxy = new Proxy ( obj , handlers ) ;
objToProxy . set ( obj , proxy ) ;
proxyToNs . set ( proxy , ns ) ;
}
return objToProxy . get ( obj ) ;
2023-09-26 10:23:26 -04:00
} ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const handlers = {
get : ( target , key , receiver ) => {
const ns = proxyToNs . get ( receiver ) ;
// Check if the property is a getter and we are inside an scope. If that is
// the case, we clone the getter to avoid overwriting the scoped
// dependencies of the computed each time that getter runs.
const getter = Object . getOwnPropertyDescriptor ( target , key ) ? . get ;
if ( getter ) {
const scope = getScope ( ) ;
if ( scope ) {
const getters = scopeToGetters . get ( scope ) || scopeToGetters . set ( scope , new Map ( ) ) . get ( scope ) ;
if ( ! getters . has ( getter ) ) {
2024-05-23 15:39:28 -04:00
getters . set ( getter , signals _core _module _w ( ( ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
setNamespace ( ns ) ;
setScope ( scope ) ;
try {
return getter . call ( target ) ;
} finally {
resetScope ( ) ;
resetNamespace ( ) ;
}
} ) ) ;
}
return getters . get ( getter ) . value ;
}
}
2024-02-27 09:48:23 -05:00
const result = Reflect . get ( target , key ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Check if the proxy is the store root and no key with that name exist. In
// that case, return an empty object for the requested key.
if ( typeof result === 'undefined' && receiver === stores . get ( ns ) ) {
const obj = { } ;
2024-02-27 09:48:23 -05:00
Reflect . set ( target , key , obj ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
return proxify ( obj , ns ) ;
}
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Check if the property is a generator. If it is, we turn it into an
// asynchronous function where we restore the default namespace and scope
// each time it awaits/yields.
if ( result ? . constructor ? . name === 'GeneratorFunction' ) {
return async ( ... args ) => {
const scope = getScope ( ) ;
const gen = result ( ... args ) ;
let value ;
let it ;
while ( true ) {
setNamespace ( ns ) ;
setScope ( scope ) ;
try {
it = gen . next ( value ) ;
} finally {
resetScope ( ) ;
resetNamespace ( ) ;
}
try {
value = await it . value ;
} catch ( e ) {
2024-03-12 10:08:24 -04:00
setNamespace ( ns ) ;
setScope ( scope ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
gen . throw ( e ) ;
2024-03-12 10:08:24 -04:00
} finally {
resetScope ( ) ;
resetNamespace ( ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2024-05-23 15:39:28 -04:00
if ( it . done ) {
break ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
return value ;
} ;
}
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Check if the property is a synchronous function. If it is, set the
// default namespace. Synchronous functions always run in the proper scope,
// which is set by the Directives component.
if ( typeof result === 'function' ) {
return ( ... args ) => {
setNamespace ( ns ) ;
try {
return result ( ... args ) ;
} finally {
resetNamespace ( ) ;
}
} ;
}
// Check if the property is an object. If it is, proxyify it.
2024-05-23 15:39:28 -04:00
if ( isObject ( result ) ) {
return proxify ( result , ns ) ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
return result ;
2024-02-27 09:48:23 -05:00
} ,
// Prevents passing the current proxy as the receiver to the deepSignal.
set ( target , key , value ) {
return Reflect . set ( target , key , value ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
} ;
2024-02-09 13:22:22 -05:00
/ * *
* Get the defined config for the store with the passed namespace .
*
* @ param namespace Store ' s namespace from which to retrieve the config .
* @ return Defined config for the given namespace .
* /
const getConfig = namespace => storeConfigs . get ( namespace || getNamespace ( ) ) || { } ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const universalUnlock = 'I acknowledge that using a private store means my plugin will inevitably break on the next store release.' ;
2023-09-26 10:23:26 -04:00
/ * *
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Extends the Interactivity API global store adding the passed properties to
* the given namespace . It also returns stable references to the namespace
* content .
2023-09-26 10:23:26 -04:00
*
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* These props typically consist of ` state ` , which is the reactive part of the
* store ― which means that any directive referencing a state property will be
* re - rendered anytime it changes ― and function properties like ` actions ` and
* ` callbacks ` , mostly used for event handlers . These props can then be
* referenced by any directive to make the HTML interactive .
2023-09-26 10:23:26 -04:00
*
* @ example
* ` ` ` js
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* const { state } = store ( 'counter' , {
2023-09-26 10:23:26 -04:00
* state : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* value : 0 ,
* get double ( ) { return state . value * 2 ; } ,
2023-09-26 10:23:26 -04:00
* } ,
* actions : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* increment ( ) {
* state . value += 1 ;
2023-09-26 10:23:26 -04:00
* } ,
* } ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* } ) ;
2023-09-26 10:23:26 -04:00
* ` ` `
*
* The code from the example above allows blocks to subscribe and interact with
* the store by using directives in the HTML , e . g . :
*
* ` ` ` html
2024-05-23 15:39:28 -04:00
* < div data - wp - interactive = "counter" >
2023-09-26 10:23:26 -04:00
* < button
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* data - wp - text = "state.double"
* data - wp - on -- click = "actions.increment"
2023-09-26 10:23:26 -04:00
* >
* 0
* < / b u t t o n >
* < / d i v >
* ` ` `
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* @ param namespace The store namespace to interact with .
* @ param storePart Properties to add to the store namespace .
* @ param options Options for the given namespace .
2023-09-26 10:23:26 -04:00
*
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* @ return A reference to the namespace content .
2023-09-26 10:23:26 -04:00
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
function store ( namespace , {
state = { } ,
2023-09-26 10:23:26 -04:00
... block
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} = { } , {
lock = false
} = { } ) {
if ( ! stores . has ( namespace ) ) {
// Lock the store if the passed lock is different from the universal
// unlock. Once the lock is set (either false, true, or a given string),
// it cannot change.
if ( lock !== universalUnlock ) {
storeLocks . set ( namespace , lock ) ;
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-13 19:12:23 -05:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const rawStore = {
2024-03-19 04:07:17 -04:00
state : deepsignal _module _g ( isObject ( state ) ? state : { } ) ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
... block
} ;
const proxiedStore = new Proxy ( rawStore , handlers ) ;
rawStores . set ( namespace , rawStore ) ;
stores . set ( namespace , proxiedStore ) ;
proxyToNs . set ( proxiedStore , namespace ) ;
} else {
// Lock the store if it wasn't locked yet and the passed lock is
// different from the universal unlock. If no lock is given, the store
// will be public and won't accept any lock from now on.
if ( lock !== universalUnlock && ! storeLocks . has ( namespace ) ) {
storeLocks . set ( namespace , lock ) ;
} else {
const storeLock = storeLocks . get ( namespace ) ;
const isLockValid = lock === universalUnlock || lock !== true && lock === storeLock ;
if ( ! isLockValid ) {
if ( ! storeLock ) {
throw Error ( 'Cannot lock a public store' ) ;
} else {
throw Error ( 'Cannot unlock a private store with an invalid lock code' ) ;
}
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-13 19:12:23 -05:00
}
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const target = rawStores . get ( namespace ) ;
deepMerge ( target , block ) ;
deepMerge ( target . state , state ) ;
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-13 19:12:23 -05:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
return stores . get ( namespace ) ;
2023-09-26 10:23:26 -04:00
}
2024-02-27 09:48:23 -05:00
const parseInitialData = ( dom = document ) => {
2024-05-31 14:59:00 -04:00
var _dom$getElementById ;
const jsonDataScriptTag = // Preferred Script Module data passing form
( _dom$getElementById = dom . getElementById ( 'wp-scriptmodule-data_@wordpress/interactivity' ) ) !== null && _dom$getElementById !== void 0 ? _dom$getElementById :
// Legacy form
dom . getElementById ( 'wp-interactivity-data' ) ;
if ( jsonDataScriptTag ? . textContent ) {
2024-02-27 09:48:23 -05:00
try {
2024-05-31 14:59:00 -04:00
return JSON . parse ( jsonDataScriptTag . textContent ) ;
} catch { }
2024-02-27 09:48:23 -05:00
}
return { } ;
} ;
const populateInitialData = data => {
if ( isObject ( data ? . state ) ) {
Object . entries ( data . state ) . forEach ( ( [ namespace , state ] ) => {
store ( namespace , {
state
} , {
lock : universalUnlock
} ) ;
} ) ;
}
if ( isObject ( data ? . config ) ) {
Object . entries ( data . config ) . forEach ( ( [ namespace , config ] ) => {
storeConfigs . set ( namespace , config ) ;
} ) ;
}
} ;
2023-09-26 10:23:26 -04:00
2024-02-09 13:22:22 -05:00
// Parse and populate the initial state and config.
const data = parseInitialData ( ) ;
2024-02-27 09:48:23 -05:00
populateInitialData ( data ) ;
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/hooks.js
2024-05-23 15:39:28 -04:00
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable react-hooks/exhaustive-deps */
2023-09-26 10:23:26 -04:00
/ * *
* External dependencies
* /
/ * *
* Internal dependencies
* /
2024-05-23 15:39:28 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Main context.
2024-02-09 13:22:22 -05:00
const context = G ( { } ) ;
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Wrap the element props to prevent modifications.
const immutableMap = new WeakMap ( ) ;
const immutableError = ( ) => {
throw new Error ( 'Please use `data-wp-bind` to modify the attributes of an element.' ) ;
} ;
const immutableHandlers = {
get ( target , key , receiver ) {
const value = Reflect . get ( target , key , receiver ) ;
return ! ! value && typeof value === 'object' ? deepImmutable ( value ) : value ;
} ,
set : immutableError ,
deleteProperty : immutableError
} ;
const deepImmutable = target => {
2024-05-23 15:39:28 -04:00
if ( ! immutableMap . has ( target ) ) {
immutableMap . set ( target , new Proxy ( target , immutableHandlers ) ) ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
return immutableMap . get ( target ) ;
} ;
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Store stacks for the current scope and the default namespaces and export APIs
// to interact with them.
const scopeStack = [ ] ;
const namespaceStack = [ ] ;
2023-09-26 10:23:26 -04:00
/ * *
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Retrieves the context inherited by the element evaluating a function from the
* store . The returned value depends on the element and the namespace where the
* function calling ` getContext() ` exists .
*
* @ param namespace Store namespace . By default , the namespace where the calling
* function exists is used .
* @ return The context content .
2023-09-26 10:23:26 -04:00
* /
2024-02-09 13:22:22 -05:00
const getContext = namespace => getScope ( ) ? . context [ namespace || getNamespace ( ) ] ;
2023-09-26 10:23:26 -04:00
/ * *
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Retrieves a representation of the element where a function from the store
* is being evalutated . Such representation is read - only , and contains a
* reference to the DOM element , its props and a local reactive state .
*
* @ return Element representation .
2023-09-26 10:23:26 -04:00
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const getElement = ( ) => {
if ( ! getScope ( ) ) {
throw Error ( 'Cannot call `getElement()` outside getters and actions used by directives.' ) ;
}
const {
ref ,
attributes
} = getScope ( ) ;
return Object . freeze ( {
ref : ref . current ,
attributes : deepImmutable ( attributes )
} ) ;
} ;
const getScope = ( ) => scopeStack . slice ( - 1 ) [ 0 ] ;
const setScope = scope => {
scopeStack . push ( scope ) ;
} ;
const resetScope = ( ) => {
scopeStack . pop ( ) ;
} ;
const getNamespace = ( ) => namespaceStack . slice ( - 1 ) [ 0 ] ;
const setNamespace = namespace => {
namespaceStack . push ( namespace ) ;
} ;
const resetNamespace = ( ) => {
namespaceStack . pop ( ) ;
} ;
2023-09-26 10:23:26 -04:00
// WordPress Directives.
const directiveCallbacks = { } ;
const directivePriorities = { } ;
/ * *
* Register a new directive type in the Interactivity API runtime .
*
* @ example
* ` ` ` js
* directive (
* 'alert' , // Name without the `data-wp-` prefix.
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* ( { directives : { alert } , element , evaluate } ) => {
* const defaultEntry = alert . find ( entry => entry . suffix === 'default' ) ;
* element . props . onclick = ( ) => { alert ( evaluate ( defaultEntry ) ) ; }
2023-09-26 10:23:26 -04:00
* }
* )
* ` ` `
*
* The previous code registers a custom directive type for displaying an alert
* message whenever an element using it is clicked . The message text is obtained
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* from the store under the inherited namespace , using ` evaluate ` .
2023-09-26 10:23:26 -04:00
*
* When the HTML is processed by the Interactivity API , any element containing
* the ` data-wp-alert ` directive will have the ` onclick ` event handler , e . g . ,
*
* ` ` ` html
2024-05-23 15:39:28 -04:00
* < div data - wp - interactive = "messages" >
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* < button data - wp - alert = "state.alert" > Click me ! < / b u t t o n >
* < / d i v >
2023-09-26 10:23:26 -04:00
* ` ` `
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Note that , in the previous example , the directive callback gets the path
* value ( ` state.alert ` ) from the directive entry with suffix ` default ` . A
* custom suffix can also be specified by appending ` -- ` to the directive
* attribute , followed by the suffix , like in the following HTML snippet :
2023-09-26 10:23:26 -04:00
*
* ` ` ` html
2024-05-23 15:39:28 -04:00
* < div data - wp - interactive = "myblock" >
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* < button
* data - wp - color -- text = "state.text"
* data - wp - color -- background = "state.background"
* > Click me ! < / b u t t o n >
* < / d i v >
2023-09-26 10:23:26 -04:00
* ` ` `
*
* This could be an hypothetical implementation of the custom directive used in
* the snippet above .
*
* @ example
* ` ` ` js
* directive (
* 'color' , // Name without prefix and suffix.
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* ( { directives : { color } , ref , evaluate } ) =>
* colors . forEach ( ( color ) => {
* if ( color . suffix = 'text' ) {
* ref . style . setProperty (
* 'color' ,
* evaluate ( color . text )
* ) ;
* }
* if ( color . suffix = 'background' ) {
* ref . style . setProperty (
* 'background-color' ,
* evaluate ( color . background )
* ) ;
* }
* } ) ;
2023-09-26 10:23:26 -04:00
* }
* )
* ` ` `
*
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* @ param name Directive name , without the ` data-wp- ` prefix .
* @ param callback Function that runs the directive logic .
* @ param options Options object .
* @ param options . priority Option to control the directive execution order . The
* lesser , the highest priority . Default is ` 10 ` .
2023-09-26 10:23:26 -04:00
* /
const directive = ( name , callback , {
priority = 10
} = { } ) => {
directiveCallbacks [ name ] = callback ;
directivePriorities [ name ] = priority ;
} ;
// Resolve the path to some property of the store object.
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const resolve = ( path , namespace ) => {
2024-05-23 15:39:28 -04:00
if ( ! namespace ) {
2024-05-31 14:59:00 -04:00
warn ( ` Namespace missing for " ${ path } ". The value for that path won't be resolved. ` ) ;
2024-05-23 15:39:28 -04:00
return ;
}
2024-03-19 04:07:17 -04:00
let resolvedStore = stores . get ( namespace ) ;
if ( typeof resolvedStore === 'undefined' ) {
resolvedStore = store ( namespace , undefined , {
lock : universalUnlock
} ) ;
}
2024-05-23 15:39:28 -04:00
const current = {
2024-03-19 04:07:17 -04:00
... resolvedStore ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
context : getScope ( ) . context [ namespace ]
2023-09-26 10:23:26 -04:00
} ;
2024-05-23 15:39:28 -04:00
try {
// TODO: Support lazy/dynamically initialized stores
return path . split ( '.' ) . reduce ( ( acc , key ) => acc [ key ] , current ) ;
} catch ( e ) { }
2023-09-26 10:23:26 -04:00
} ;
// Generate the evaluate function.
const getEvaluate = ( {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
scope
} ) => ( entry , ... args ) => {
let {
value : path ,
namespace
} = entry ;
if ( typeof path !== 'string' ) {
throw new Error ( 'The `value` prop should be a string path' ) ;
}
2023-09-26 10:23:26 -04:00
// If path starts with !, remove it and save a flag.
const hasNegationOperator = path [ 0 ] === '!' && ! ! ( path = path . slice ( 1 ) ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
setScope ( scope ) ;
const value = resolve ( path , namespace ) ;
const result = typeof value === 'function' ? value ( ... args ) : value ;
resetScope ( ) ;
return hasNegationOperator ? ! result : result ;
2023-09-26 10:23:26 -04:00
} ;
// Separate directives by priority. The resulting array contains objects
// of directives grouped by same priority, and sorted in ascending order.
const getPriorityLevels = directives => {
const byPriority = Object . keys ( directives ) . reduce ( ( obj , name ) => {
if ( directiveCallbacks [ name ] ) {
const priority = directivePriorities [ name ] ;
( obj [ priority ] = obj [ priority ] || [ ] ) . push ( name ) ;
}
return obj ;
} , { } ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
return Object . entries ( byPriority ) . sort ( ( [ p1 ] , [ p2 ] ) => parseInt ( p1 ) - parseInt ( p2 ) ) . map ( ( [ , arr ] ) => arr ) ;
2023-09-26 10:23:26 -04:00
} ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Component that wraps each priority level of directives of an element.
2023-09-26 10:23:26 -04:00
const Directives = ( {
directives ,
priorityLevels : [ currentPriorityLevel , ... nextPriorityLevels ] ,
element ,
originalProps ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
previousScope
2023-09-26 10:23:26 -04:00
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Initialize the scope of this element. These scopes are different per each
// level because each level has a different context, but they share the same
// element ref, state and props.
2024-02-09 13:22:22 -05:00
const scope = hooks _module _F ( { } ) . current ;
scope . evaluate = hooks _module _x ( getEvaluate ( {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
scope
2023-09-26 10:23:26 -04:00
} ) , [ ] ) ;
2024-02-09 13:22:22 -05:00
scope . context = hooks _module _P ( context ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/* eslint-disable react-hooks/rules-of-hooks */
2024-02-09 13:22:22 -05:00
scope . ref = previousScope ? . ref || hooks _module _F ( null ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/* eslint-enable react-hooks/rules-of-hooks */
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Create a fresh copy of the vnode element and add the props to the scope,
// named as attributes (HTML Attributes).
2024-05-23 15:39:28 -04:00
element = E ( element , {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
ref : scope . ref
2023-09-26 10:23:26 -04:00
} ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
scope . attributes = element . props ;
2023-09-26 10:23:26 -04:00
// Recursively render the wrapper for the next priority level.
2024-05-23 15:39:28 -04:00
const children = nextPriorityLevels . length > 0 ? _ ( Directives , {
2024-05-31 14:59:00 -04:00
directives ,
2023-09-26 10:23:26 -04:00
priorityLevels : nextPriorityLevels ,
2024-05-31 14:59:00 -04:00
element ,
originalProps ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
previousScope : scope
2023-09-26 10:23:26 -04:00
} ) : element ;
const props = {
... originalProps ,
children
} ;
const directiveArgs = {
directives ,
props ,
element ,
context ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
evaluate : scope . evaluate
2023-09-26 10:23:26 -04:00
} ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
setScope ( scope ) ;
2023-09-26 10:23:26 -04:00
for ( const directiveName of currentPriorityLevel ) {
const wrapper = directiveCallbacks [ directiveName ] ? . ( directiveArgs ) ;
2024-05-23 15:39:28 -04:00
if ( wrapper !== undefined ) {
props . children = wrapper ;
}
2023-09-26 10:23:26 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
resetScope ( ) ;
2023-09-26 10:23:26 -04:00
return props . children ;
} ;
// Preact Options Hook called each time a vnode is created.
2024-05-24 05:42:09 -04:00
const old = preact _module _l . vnode ;
preact _module _l . vnode = vnode => {
2023-09-26 10:23:26 -04:00
if ( vnode . props . _ _directives ) {
const props = vnode . props ;
const directives = props . _ _directives ;
2024-05-23 15:39:28 -04:00
if ( directives . key ) {
vnode . key = directives . key . find ( ( {
suffix
} ) => suffix === 'default' ) . value ;
}
2023-09-26 10:23:26 -04:00
delete props . _ _directives ;
const priorityLevels = getPriorityLevels ( directives ) ;
if ( priorityLevels . length > 0 ) {
vnode . props = {
directives ,
priorityLevels ,
originalProps : props ,
type : vnode . type ,
2024-05-23 15:39:28 -04:00
element : _ ( vnode . type , props ) ,
2023-09-26 10:23:26 -04:00
top : true
} ;
vnode . type = Directives ;
}
}
2024-05-23 15:39:28 -04:00
if ( old ) {
old ( vnode ) ;
}
2023-09-26 10:23:26 -04:00
} ;
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/utils.js
2023-09-26 10:23:26 -04:00
/ * *
* External dependencies
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* Internal dependencies
* /
2023-09-26 10:23:26 -04:00
2024-05-23 15:39:28 -04:00
/ * *
* Executes a callback function after the next frame is rendered .
*
* @ param callback The callback function to be executed .
* @ return A promise that resolves after the callback function is executed .
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const afterNextFrame = callback => {
return new Promise ( resolve => {
const done = ( ) => {
clearTimeout ( timeout ) ;
window . cancelAnimationFrame ( raf ) ;
setTimeout ( ( ) => {
callback ( ) ;
resolve ( ) ;
} ) ;
} ;
const timeout = setTimeout ( done , 100 ) ;
const raf = window . requestAnimationFrame ( done ) ;
} ) ;
} ;
2024-05-31 14:59:00 -04:00
/ * *
* Returns a promise that resolves after yielding to main .
*
* @ return Promise
* /
const yieldToMain = ( ) => {
return new Promise ( resolve => {
// TODO: Use scheduler.yield() when available.
setTimeout ( resolve , 0 ) ;
} ) ;
} ;
2024-05-23 15:39:28 -04:00
/ * *
* Creates a Flusher object that can be used to flush computed values and notify listeners .
*
* Using the mangled properties :
* this . c : this . _callback
* this . x : this . _compute
* https : //github.com/preactjs/signals/blob/main/mangle.json
*
* @ param compute The function that computes the value to be flushed .
* @ param notify The function that notifies listeners when the value is flushed .
* @ return The Flusher object with ` flush ` and ` dispose ` properties .
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
function createFlusher ( compute , notify ) {
2024-05-23 15:39:28 -04:00
let flush = ( ) => undefined ;
const dispose = signals _core _module _E ( function ( ) {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
flush = this . c . bind ( this ) ;
this . x = compute ;
this . c = notify ;
return compute ( ) ;
} ) ;
return {
flush ,
dispose
} ;
}
2024-05-23 15:39:28 -04:00
/ * *
* Custom hook that executes a callback function whenever a signal is triggered .
* Version of ` useSignalEffect ` with a ` useEffect ` - like execution . This hook
* implementation comes from this PR , but we added short - cirtuiting to avoid
* infinite loops : https : //github.com/preactjs/signals/pull/290
*
* @ param callback The callback function to be executed .
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
function utils _useSignalEffect ( callback ) {
2024-02-09 13:22:22 -05:00
hooks _module _ ( ( ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
let eff = null ;
let isExecuting = false ;
const notify = async ( ) => {
if ( eff && ! isExecuting ) {
isExecuting = true ;
await afterNextFrame ( eff . flush ) ;
isExecuting = false ;
}
} ;
eff = createFlusher ( callback , notify ) ;
return eff . dispose ;
} , [ ] ) ;
}
/ * *
* Returns the passed function wrapped with the current scope so it is
* accessible whenever the function runs . This is primarily to make the scope
* available inside hook callbacks .
*
2024-05-23 15:39:28 -04:00
* Asyncronous functions should use generators that yield promises instead of awaiting them .
* See the documentation for details : https : //developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#the-store
*
* @ param func The passed function .
* @ return The wrapped function .
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
2024-05-23 15:39:28 -04:00
function withScope ( func ) {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const scope = getScope ( ) ;
const ns = getNamespace ( ) ;
if ( func ? . constructor ? . name === 'GeneratorFunction' ) {
return async ( ... args ) => {
const gen = func ( ... args ) ;
let value ;
let it ;
while ( true ) {
setNamespace ( ns ) ;
setScope ( scope ) ;
try {
it = gen . next ( value ) ;
} finally {
resetNamespace ( ) ;
resetScope ( ) ;
}
try {
value = await it . value ;
} catch ( e ) {
gen . throw ( e ) ;
}
2024-05-23 15:39:28 -04:00
if ( it . done ) {
break ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
return value ;
} ;
}
return ( ... args ) => {
setNamespace ( ns ) ;
setScope ( scope ) ;
try {
return func ( ... args ) ;
} finally {
resetNamespace ( ) ;
resetScope ( ) ;
2023-09-26 10:23:26 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} ;
2024-05-23 15:39:28 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
2023-09-26 10:23:26 -04:00
/ * *
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Accepts a function that contains imperative code which runs whenever any of
* the accessed _reactive _ properties ( e . g . , values from the global state or the
* context ) is modified .
*
* This hook makes the element ' s scope available so functions like
* ` getElement() ` and ` getContext() ` can be used inside the passed callback .
*
2024-05-23 15:39:28 -04:00
* @ param callback The hook callback .
2023-09-26 10:23:26 -04:00
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
function useWatch ( callback ) {
utils _useSignalEffect ( withScope ( callback ) ) ;
}
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* Accepts a function that contains imperative code which runs only after the
* element ' s first render , mainly useful for intialization logic .
*
* This hook makes the element ' s scope available so functions like
* ` getElement() ` and ` getContext() ` can be used inside the passed callback .
*
2024-05-23 15:39:28 -04:00
* @ param callback The hook callback .
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
function useInit ( callback ) {
2024-02-09 13:22:22 -05:00
hooks _module _ ( withScope ( callback ) , [ ] ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* Accepts a function that contains imperative , possibly effectful code . The
* effects run after browser paint , without blocking it .
*
* This hook is equivalent to Preact 's `useEffect` and makes the element' s scope
* available so functions like ` getElement() ` and ` getContext() ` can be used
* inside the passed callback .
*
2024-05-23 15:39:28 -04:00
* @ param callback Imperative function that can return a cleanup
* function .
* @ param inputs If present , effect will only activate if the
* values in the list change ( using ` === ` ) .
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
function useEffect ( callback , inputs ) {
2024-02-09 13:22:22 -05:00
hooks _module _ ( withScope ( callback ) , inputs ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2023-09-26 10:23:26 -04:00
/ * *
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* Accepts a function that contains imperative , possibly effectful code . Use
* this to read layout from the DOM and synchronously re - render .
*
* This hook is equivalent to Preact 's `useLayoutEffect` and makes the element' s
* scope available so functions like ` getElement() ` and ` getContext() ` can be
* used inside the passed callback .
*
2024-05-23 15:39:28 -04:00
* @ param callback Imperative function that can return a cleanup
* function .
* @ param inputs If present , effect will only activate if the
* values in the list change ( using ` === ` ) .
2023-09-26 10:23:26 -04:00
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
function useLayoutEffect ( callback , inputs ) {
2024-02-09 13:22:22 -05:00
hooks _module _A ( withScope ( callback ) , inputs ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* Returns a memoized version of the callback that only changes if one of the
* inputs has changed ( using ` === ` ) .
*
* This hook is equivalent to Preact 's `useCallback` and makes the element' s
* scope available so functions like ` getElement() ` and ` getContext() ` can be
* used inside the passed callback .
*
2024-05-23 15:39:28 -04:00
* @ param callback Callback function .
* @ param inputs If present , the callback will only be updated if the
* values in the list change ( using ` === ` ) .
*
* @ return The callback function .
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
function useCallback ( callback , inputs ) {
2024-05-23 15:39:28 -04:00
return hooks _module _x ( withScope ( callback ) , inputs ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* Pass a factory function and an array of inputs . ` useMemo ` will only recompute
* the memoized value when one of the inputs has changed .
*
* This hook is equivalent to Preact 's `useMemo` and makes the element' s scope
* available so functions like ` getElement() ` and ` getContext() ` can be used
* inside the passed factory function .
*
2024-05-23 15:39:28 -04:00
* @ param factory Factory function that returns that value for memoization .
* @ param inputs If present , the factory will only be run to recompute if
* the values in the list change ( using ` === ` ) .
*
* @ return The memoized value .
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
function useMemo ( factory , inputs ) {
2024-05-23 15:39:28 -04:00
return hooks _module _q ( withScope ( factory ) , inputs ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2024-05-23 15:39:28 -04:00
/ * *
* Creates a root fragment by replacing a node or an array of nodes in a parent element .
* For wrapperless hydration .
* See https : //gist.github.com/developit/f4c67a2ede71dc2fab7f357f39cff28c
*
* @ param parent The parent element where the nodes will be replaced .
* @ param replaceNode The node or array of nodes to replace in the parent element .
* @ return The created root fragment .
* /
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const createRootFragment = ( parent , replaceNode ) => {
replaceNode = [ ] . concat ( replaceNode ) ;
2024-05-23 15:39:28 -04:00
const sibling = replaceNode [ replaceNode . length - 1 ] . nextSibling ;
function insert ( child , root ) {
parent . insertBefore ( child , root || sibling ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
return parent . _ _k = {
nodeType : 1 ,
parentNode : parent ,
firstChild : replaceNode [ 0 ] ,
childNodes : replaceNode ,
insertBefore : insert ,
appendChild : insert ,
removeChild ( c ) {
parent . removeChild ( c ) ;
}
} ;
} ;
2024-01-31 07:59:56 -05:00
2024-02-09 13:22:22 -05:00
/ * *
* Transforms a kebab - case string to camelCase .
*
2024-05-23 15:39:28 -04:00
* @ param str The kebab - case string to transform to camelCase .
* @ return The transformed camelCase string .
2024-02-09 13:22:22 -05:00
* /
function kebabToCamelCase ( str ) {
2024-05-23 15:39:28 -04:00
return str . replace ( /^-+|-+$/g , '' ) . toLowerCase ( ) . replace ( /-([a-z])/g , function ( _match , group1 ) {
2024-02-09 13:22:22 -05:00
return group1 . toUpperCase ( ) ;
} ) ;
}
2024-05-31 14:59:00 -04:00
const logged = new Set ( ) ;
/ * *
* Shows a warning with ` message ` if environment is not ` production ` .
*
* Based on the ` @wordpress/warning ` package .
*
* @ param message Message to show in the warning .
* /
const warn = message => {
if ( true ) {
if ( logged . has ( message ) ) {
return ;
}
// eslint-disable-next-line no-console
console . warn ( message ) ;
// Throwing an error and catching it immediately to improve debugging
// A consumer can use 'pause on caught exceptions'
try {
throw Error ( message ) ;
} catch ( e ) {
// Do nothing.
}
logged . add ( message ) ;
}
} ;
2024-02-09 13:22:22 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/directives.js
2024-05-23 15:39:28 -04:00
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable react-hooks/exhaustive-deps */
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* External dependencies
* /
2023-09-26 10:23:26 -04:00
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ * *
* Internal dependencies
* /
2023-09-26 10:23:26 -04:00
2024-05-31 14:59:00 -04:00
// Assigned objects should be ignored during proxification.
2024-02-27 09:48:23 -05:00
const contextAssignedObjects = new WeakMap ( ) ;
2024-03-12 10:08:24 -04:00
// Store the context proxy and fallback for each object in the context.
const contextObjectToProxy = new WeakMap ( ) ;
const contextProxyToObject = new WeakMap ( ) ;
const contextObjectToFallback = new WeakMap ( ) ;
2024-05-23 15:39:28 -04:00
const isPlainObject = item => Boolean ( item && typeof item === 'object' && item . constructor === Object ) ;
2024-02-27 09:48:23 -05:00
const descriptor = Reflect . getOwnPropertyDescriptor ;
/ * *
* Wrap a context object with a proxy to reproduce the context stack . The proxy
* uses the passed ` inherited ` context as a fallback to look up for properties
* that don ' t exist in the given context . Also , updated properties are modified
* where they are defined , or added to the main context when they don ' t exist .
*
* By default , all plain objects inside the context are wrapped , unless it is
* listed in the ` ignore ` option .
*
2024-05-23 15:39:28 -04:00
* @ param current Current context .
* @ param inherited Inherited context , used as fallback .
2024-02-27 09:48:23 -05:00
*
2024-05-23 15:39:28 -04:00
* @ return The wrapped context object .
2024-02-27 09:48:23 -05:00
* /
2024-03-12 10:08:24 -04:00
const proxifyContext = ( current , inherited = { } ) => {
// Update the fallback object reference when it changes.
contextObjectToFallback . set ( current , inherited ) ;
if ( ! contextObjectToProxy . has ( current ) ) {
const proxy = new Proxy ( current , {
get : ( target , k ) => {
const fallback = contextObjectToFallback . get ( current ) ;
// Always subscribe to prop changes in the current context.
const currentProp = target [ k ] ;
// Return the inherited prop when missing in target.
if ( ! ( k in target ) && k in fallback ) {
return fallback [ k ] ;
}
2024-02-27 09:48:23 -05:00
2024-03-12 10:08:24 -04:00
// Proxify plain objects that were not directly assigned.
if ( k in target && ! contextAssignedObjects . get ( target ) ? . has ( k ) && isPlainObject ( deepsignal _module _p ( target , k ) ) ) {
return proxifyContext ( currentProp , fallback [ k ] ) ;
}
2024-02-27 09:48:23 -05:00
2024-03-12 10:08:24 -04:00
// Return the stored proxy for `currentProp` when it exists.
if ( contextObjectToProxy . has ( currentProp ) ) {
return contextObjectToProxy . get ( currentProp ) ;
}
/ *
* For other cases , return the value from target , also
* subscribing to changes in the parent context when the current
* prop is not defined .
* /
return k in target ? currentProp : fallback [ k ] ;
} ,
set : ( target , k , value ) => {
const fallback = contextObjectToFallback . get ( current ) ;
const obj = k in target || ! ( k in fallback ) ? target : fallback ;
/ *
* Assigned object values should not be proxified so they point
* to the original object and don ' t inherit unexpected
* properties .
* /
if ( value && typeof value === 'object' ) {
if ( ! contextAssignedObjects . has ( obj ) ) {
contextAssignedObjects . set ( obj , new Set ( ) ) ;
}
contextAssignedObjects . get ( obj ) . add ( k ) ;
}
/ *
* When the value is a proxy , it ' s because it comes from the
* context , so the inner value is assigned instead .
* /
if ( contextProxyToObject . has ( value ) ) {
const innerValue = contextProxyToObject . get ( value ) ;
obj [ k ] = innerValue ;
} else {
obj [ k ] = value ;
}
return true ;
} ,
ownKeys : target => [ ... new Set ( [ ... Object . keys ( contextObjectToFallback . get ( current ) ) , ... Object . keys ( target ) ] ) ] ,
getOwnPropertyDescriptor : ( target , k ) => descriptor ( target , k ) || descriptor ( contextObjectToFallback . get ( current ) , k )
} ) ;
contextObjectToProxy . set ( current , proxy ) ;
contextProxyToObject . set ( proxy , current ) ;
}
return contextObjectToProxy . get ( current ) ;
} ;
2024-02-27 09:48:23 -05:00
/ * *
* Recursively update values within a deepSignal object .
*
2024-05-23 15:39:28 -04:00
* @ param target A deepSignal instance .
* @ param source Object with properties to update in ` target ` .
2024-02-27 09:48:23 -05:00
* /
const updateSignals = ( target , source ) => {
2023-09-26 10:23:26 -04:00
for ( const k in source ) {
2024-02-27 09:48:23 -05:00
if ( isPlainObject ( deepsignal _module _p ( target , k ) ) && isPlainObject ( deepsignal _module _p ( source , k ) ) ) {
updateSignals ( target [ ` $ ${ k } ` ] . peek ( ) , source [ k ] ) ;
} else {
target [ k ] = source [ k ] ;
2023-09-26 10:23:26 -04:00
}
}
} ;
2024-02-27 09:48:23 -05:00
/ * *
* Recursively clone the passed object .
*
2024-05-23 15:39:28 -04:00
* @ param source Source object .
* @ return Cloned object .
2024-02-27 09:48:23 -05:00
* /
2024-05-23 15:39:28 -04:00
function deepClone ( source ) {
2024-02-27 09:48:23 -05:00
if ( isPlainObject ( source ) ) {
return Object . fromEntries ( Object . entries ( source ) . map ( ( [ key , value ] ) => [ key , deepClone ( value ) ] ) ) ;
}
if ( Array . isArray ( source ) ) {
return source . map ( i => deepClone ( i ) ) ;
}
return source ;
2024-05-23 15:39:28 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const newRule = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g ;
const ruleClean = /\/\*[^]*?\*\/| +/g ;
const ruleNewline = /\n+/g ;
const empty = ' ' ;
/ * *
* Convert a css style string into a object .
*
* Made by Cristian Bote ( @ cristianbote ) for Goober .
* https : //unpkg.com/browse/goober@2.1.13/src/core/astish.js
*
2024-05-23 15:39:28 -04:00
* @ param val CSS string .
* @ return CSS object .
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
const cssStringToObject = val => {
const tree = [ { } ] ;
let block , left ;
while ( block = newRule . exec ( val . replace ( ruleClean , '' ) ) ) {
if ( block [ 4 ] ) {
tree . shift ( ) ;
} else if ( block [ 3 ] ) {
left = block [ 3 ] . replace ( ruleNewline , empty ) . trim ( ) ;
tree . unshift ( tree [ 0 ] [ left ] = tree [ 0 ] [ left ] || { } ) ;
} else {
tree [ 0 ] [ block [ 1 ] ] = block [ 2 ] . replace ( ruleNewline , empty ) . trim ( ) ;
}
}
return tree [ 0 ] ;
} ;
/ * *
* Creates a directive that adds an event listener to the global window or
* document object .
*
2024-05-23 15:39:28 -04:00
* @ param type 'window' or 'document'
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
* /
2024-05-23 15:39:28 -04:00
const getGlobalEventDirective = type => {
return ( {
directives ,
evaluate
} ) => {
directives [ ` on- ${ type } ` ] . filter ( ( {
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
const eventName = entry . suffix . split ( '--' , 1 ) [ 0 ] ;
useInit ( ( ) => {
const cb = event => evaluate ( entry , event ) ;
const globalVar = type === 'window' ? window : document ;
globalVar . addEventListener ( eventName , cb ) ;
return ( ) => globalVar . removeEventListener ( eventName , cb ) ;
} ) ;
} ) ;
} ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} ;
2024-05-31 14:59:00 -04:00
/ * *
* Creates a directive that adds an async event listener to the global window or
* document object .
*
* @ param type 'window' or 'document'
* /
const getGlobalAsyncEventDirective = type => {
return ( {
directives ,
evaluate
} ) => {
directives [ ` on-async- ${ type } ` ] . filter ( ( {
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
const eventName = entry . suffix . split ( '--' , 1 ) [ 0 ] ;
useInit ( ( ) => {
const cb = async event => {
await yieldToMain ( ) ;
evaluate ( entry , event ) ;
} ;
const globalVar = type === 'window' ? window : document ;
globalVar . addEventListener ( eventName , cb , {
passive : true
} ) ;
return ( ) => globalVar . removeEventListener ( eventName , cb ) ;
} ) ;
} ) ;
} ;
} ;
2024-01-31 07:59:56 -05:00
/* harmony default export */ const directives = ( ( ) => {
2023-09-26 10:23:26 -04:00
// data-wp-context
2024-05-31 14:59:00 -04:00
directive ( 'context' ,
// @ts-ignore-next-line
( {
2023-09-26 10:23:26 -04:00
directives : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
context
2023-09-26 10:23:26 -04:00
} ,
props : {
children
} ,
context : inheritedContext
} ) => {
const {
Provider
} = inheritedContext ;
2024-02-09 13:22:22 -05:00
const inheritedValue = hooks _module _P ( inheritedContext ) ;
const currentValue = hooks _module _F ( deepsignal _module _g ( { } ) ) ;
const defaultEntry = context . find ( ( {
suffix
} ) => suffix === 'default' ) ;
2024-02-27 09:48:23 -05:00
// No change should be made if `defaultEntry` does not exist.
const contextStack = hooks _module _q ( ( ) => {
if ( defaultEntry ) {
const {
namespace ,
value
} = defaultEntry ;
2024-05-23 15:39:28 -04:00
// Check that the value is a JSON object. Send a console warning if not.
if ( ! isPlainObject ( value ) ) {
warn ( ` The value of data-wp-context in " ${ namespace } " store must be a valid stringified JSON object. ` ) ;
}
2024-02-27 09:48:23 -05:00
updateSignals ( currentValue . current , {
[ namespace ] : deepClone ( value )
} ) ;
}
return proxifyContext ( currentValue . current , inheritedValue ) ;
} , [ defaultEntry , inheritedValue ] ) ;
2024-05-23 15:39:28 -04:00
return _ ( Provider , {
2024-02-27 09:48:23 -05:00
value : contextStack
} , children ) ;
2023-09-26 10:23:26 -04:00
} , {
priority : 5
} ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// data-wp-watch--[name]
directive ( 'watch' , ( {
2023-09-26 10:23:26 -04:00
directives : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
watch
2023-09-26 10:23:26 -04:00
} ,
evaluate
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
watch . forEach ( entry => {
useWatch ( ( ) => evaluate ( entry ) ) ;
2023-09-26 10:23:26 -04:00
} ) ;
} ) ;
// data-wp-init--[name]
directive ( 'init' , ( {
directives : {
init
} ,
evaluate
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
init . forEach ( entry => {
// TODO: Replace with useEffect to prevent unneeded scopes.
useInit ( ( ) => evaluate ( entry ) ) ;
2023-09-26 10:23:26 -04:00
} ) ;
} ) ;
// data-wp-on--[event]
directive ( 'on' , ( {
directives : {
on
} ,
element ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
evaluate
2023-09-26 10:23:26 -04:00
} ) => {
2024-05-23 15:39:28 -04:00
const events = new Map ( ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
on . filter ( ( {
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
2024-05-23 15:39:28 -04:00
const event = entry . suffix . split ( '--' ) [ 0 ] ;
if ( ! events . has ( event ) ) {
events . set ( event , new Set ( ) ) ;
}
events . get ( event ) . add ( entry ) ;
} ) ;
events . forEach ( ( entries , eventType ) => {
2024-05-31 14:59:00 -04:00
const existingHandler = element . props [ ` on ${ eventType } ` ] ;
2024-05-23 15:39:28 -04:00
element . props [ ` on ${ eventType } ` ] = event => {
entries . forEach ( entry => {
2024-05-31 14:59:00 -04:00
if ( existingHandler ) {
existingHandler ( event ) ;
}
evaluate ( entry , event ) ;
} ) ;
} ;
} ) ;
} ) ;
// data-wp-on-async--[event]
directive ( 'on-async' , ( {
directives : {
'on-async' : onAsync
} ,
element ,
evaluate
} ) => {
const events = new Map ( ) ;
onAsync . filter ( ( {
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
const event = entry . suffix . split ( '--' ) [ 0 ] ;
if ( ! events . has ( event ) ) {
events . set ( event , new Set ( ) ) ;
}
events . get ( event ) . add ( entry ) ;
} ) ;
events . forEach ( ( entries , eventType ) => {
const existingHandler = element . props [ ` on ${ eventType } ` ] ;
element . props [ ` on ${ eventType } ` ] = event => {
if ( existingHandler ) {
existingHandler ( event ) ;
}
entries . forEach ( async entry => {
await yieldToMain ( ) ;
2024-05-23 15:39:28 -04:00
evaluate ( entry , event ) ;
} ) ;
2023-09-26 10:23:26 -04:00
} ;
} ) ;
} ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// data-wp-on-window--[event]
directive ( 'on-window' , getGlobalEventDirective ( 'window' ) ) ;
// data-wp-on-document--[event]
directive ( 'on-document' , getGlobalEventDirective ( 'document' ) ) ;
2024-05-31 14:59:00 -04:00
// data-wp-on-async-window--[event]
directive ( 'on-async-window' , getGlobalAsyncEventDirective ( 'window' ) ) ;
// data-wp-on-async-document--[event]
directive ( 'on-async-document' , getGlobalAsyncEventDirective ( 'document' ) ) ;
2023-09-26 10:23:26 -04:00
// data-wp-class--[classname]
directive ( 'class' , ( {
directives : {
2024-02-09 13:22:22 -05:00
class : classNames
2023-09-26 10:23:26 -04:00
} ,
element ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
evaluate
2023-09-26 10:23:26 -04:00
} ) => {
2024-02-09 13:22:22 -05:00
classNames . filter ( ( {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
2024-02-09 13:22:22 -05:00
const className = entry . suffix ;
const result = evaluate ( entry ) ;
2023-09-26 10:23:26 -04:00
const currentClass = element . props . class || '' ;
2024-02-09 13:22:22 -05:00
const classFinder = new RegExp ( ` (^| \\ s) ${ className } ( \\ s| $ ) ` , 'g' ) ;
2024-05-23 15:39:28 -04:00
if ( ! result ) {
element . props . class = currentClass . replace ( classFinder , ' ' ) . trim ( ) ;
} else if ( ! classFinder . test ( currentClass ) ) {
element . props . class = currentClass ? ` ${ currentClass } ${ className } ` : className ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
useInit ( ( ) => {
/ *
* This seems necessary because Preact doesn ' t change the class
* names on the hydration , so we have to do it manually . It doesn ' t
* need deps because it only needs to do it the first time .
* /
2023-09-26 10:23:26 -04:00
if ( ! result ) {
2024-02-09 13:22:22 -05:00
element . ref . current . classList . remove ( className ) ;
2023-09-26 10:23:26 -04:00
} else {
2024-02-09 13:22:22 -05:00
element . ref . current . classList . add ( className ) ;
2023-09-26 10:23:26 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} ) ;
2023-09-26 10:23:26 -04:00
} ) ;
} ) ;
2024-02-09 13:22:22 -05:00
// data-wp-style--[style-prop]
2023-09-26 10:23:26 -04:00
directive ( 'style' , ( {
directives : {
style
} ,
element ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
evaluate
2023-09-26 10:23:26 -04:00
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
style . filter ( ( {
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
2024-02-09 13:22:22 -05:00
const styleProp = entry . suffix ;
const result = evaluate ( entry ) ;
2023-09-26 10:23:26 -04:00
element . props . style = element . props . style || { } ;
2024-05-23 15:39:28 -04:00
if ( typeof element . props . style === 'string' ) {
element . props . style = cssStringToObject ( element . props . style ) ;
}
if ( ! result ) {
delete element . props . style [ styleProp ] ;
} else {
element . props . style [ styleProp ] = result ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
useInit ( ( ) => {
/ *
* This seems necessary because Preact doesn ' t change the styles on
* the hydration , so we have to do it manually . It doesn ' t need deps
* because it only needs to do it the first time .
* /
2023-09-26 10:23:26 -04:00
if ( ! result ) {
2024-02-09 13:22:22 -05:00
element . ref . current . style . removeProperty ( styleProp ) ;
2023-09-26 10:23:26 -04:00
} else {
2024-02-09 13:22:22 -05:00
element . ref . current . style [ styleProp ] = result ;
2023-09-26 10:23:26 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} ) ;
2023-09-26 10:23:26 -04:00
} ) ;
} ) ;
// data-wp-bind--[attribute]
directive ( 'bind' , ( {
directives : {
bind
} ,
element ,
evaluate
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
bind . filter ( ( {
suffix
} ) => suffix !== 'default' ) . forEach ( entry => {
const attribute = entry . suffix ;
const result = evaluate ( entry ) ;
2023-09-26 10:23:26 -04:00
element . props [ attribute ] = result ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ *
* This is necessary because Preact doesn ' t change the attributes on the
* hydration , so we have to do it manually . It only needs to do it the
* first time . After that , Preact will handle the changes .
* /
useInit ( ( ) => {
2023-09-26 10:23:26 -04:00
const el = element . ref . current ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ *
* We set the value directly to the corresponding HTMLElement instance
* property excluding the following special cases . We follow Preact ' s
* logic : https : //github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L110-L129
* /
2024-02-09 13:22:22 -05:00
if ( attribute === 'style' ) {
2024-05-23 15:39:28 -04:00
if ( typeof result === 'string' ) {
el . style . cssText = result ;
}
2024-02-09 13:22:22 -05:00
return ;
} else if ( attribute !== 'width' && attribute !== 'height' && attribute !== 'href' && attribute !== 'list' && attribute !== 'form' &&
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ *
* The value for ` tabindex ` follows the parsing rules for an
* integer . If that fails , or if the attribute isn ' t present , then
* the browsers should " follow platform conventions to determine if
* the element should be considered as a focusable area " ,
* practically meaning that most elements get a default of ` -1 ` ( not
* focusable ) , but several also get a default of ` 0 ` ( focusable in
* order after all elements with a positive ` tabindex ` value ) .
*
* @ see https : //html.spec.whatwg.org/#tabindex-value
* /
2023-09-26 10:23:26 -04:00
attribute !== 'tabIndex' && attribute !== 'download' && attribute !== 'rowSpan' && attribute !== 'colSpan' && attribute !== 'role' && attribute in el ) {
try {
el [ attribute ] = result === null || result === undefined ? '' : result ;
return ;
} catch ( err ) { }
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
/ *
* aria - and data - attributes have no boolean representation .
* A ` false ` value is different from the attribute not being
* present , so we can ' t remove it .
* We follow Preact ' s logic : https : //github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136
* /
2023-09-26 10:23:26 -04:00
if ( result !== null && result !== undefined && ( result !== false || attribute [ 4 ] === '-' ) ) {
el . setAttribute ( attribute , result ) ;
} else {
el . removeAttribute ( attribute ) ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} ) ;
2023-09-26 10:23:26 -04:00
} ) ;
} ) ;
// data-wp-ignore
directive ( 'ignore' , ( {
element : {
type : Type ,
props : {
innerHTML ,
... rest
}
}
} ) => {
// Preserve the initial inner HTML.
2024-02-09 13:22:22 -05:00
const cached = hooks _module _q ( ( ) => innerHTML , [ ] ) ;
2024-05-23 15:39:28 -04:00
return _ ( Type , {
2023-09-26 10:23:26 -04:00
dangerouslySetInnerHTML : {
_ _html : cached
} ,
... rest
} ) ;
} ) ;
// data-wp-text
directive ( 'text' , ( {
directives : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
text
2023-09-26 10:23:26 -04:00
} ,
element ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
evaluate
2023-09-26 10:23:26 -04:00
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const entry = text . find ( ( {
suffix
} ) => suffix === 'default' ) ;
2024-05-23 15:39:28 -04:00
if ( ! entry ) {
element . props . children = null ;
return ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
try {
const result = evaluate ( entry ) ;
element . props . children = typeof result === 'object' ? null : result . toString ( ) ;
} catch ( e ) {
element . props . children = null ;
}
2023-09-26 10:23:26 -04:00
} ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// data-wp-run
directive ( 'run' , ( {
2023-09-26 10:23:26 -04:00
directives : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
run
2023-09-26 10:23:26 -04:00
} ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
evaluate
2023-09-26 10:23:26 -04:00
} ) => {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
run . forEach ( entry => evaluate ( entry ) ) ;
2023-09-26 10:23:26 -04:00
} ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// data-wp-each--[item]
directive ( 'each' , ( {
2023-09-26 10:23:26 -04:00
directives : {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
each ,
'each-key' : eachKey
2023-09-26 10:23:26 -04:00
} ,
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
context : inheritedContext ,
element ,
evaluate
2023-09-26 10:23:26 -04:00
} ) => {
2024-05-23 15:39:28 -04:00
if ( element . type !== 'template' ) {
return ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const {
Provider
} = inheritedContext ;
2024-02-09 13:22:22 -05:00
const inheritedValue = hooks _module _P ( inheritedContext ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const [ entry ] = each ;
const {
namespace ,
suffix
} = entry ;
const list = evaluate ( entry ) ;
return list . map ( item => {
2024-02-09 13:22:22 -05:00
const itemProp = suffix === 'default' ? 'item' : kebabToCamelCase ( suffix ) ;
2024-02-27 09:48:23 -05:00
const itemContext = deepsignal _module _g ( {
[ namespace ] : { }
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} ) ;
2024-02-27 09:48:23 -05:00
const mergedContext = proxifyContext ( itemContext , inheritedValue ) ;
// Set the item after proxifying the context.
mergedContext [ namespace ] [ itemProp ] = item ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const scope = {
... getScope ( ) ,
context : mergedContext
} ;
const key = eachKey ? getEvaluate ( {
scope
} ) ( eachKey [ 0 ] ) : item ;
2024-05-23 15:39:28 -04:00
return _ ( Provider , {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
value : mergedContext ,
2024-05-31 14:59:00 -04:00
key
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} , element . props . content ) ;
2023-09-26 10:23:26 -04:00
} ) ;
} , {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
priority : 20
2023-09-26 10:23:26 -04:00
} ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
directive ( 'each-child' , ( ) => null ) ;
2023-09-26 10:23:26 -04:00
} ) ;
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/constants.js
2023-09-26 10:23:26 -04:00
const directivePrefix = 'wp' ;
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/vdom.js
2023-09-26 10:23:26 -04:00
/ * *
* External dependencies
* /
/ * *
* Internal dependencies
* /
2024-05-23 15:39:28 -04:00
2023-09-26 10:23:26 -04:00
const ignoreAttr = ` data- ${ directivePrefix } -ignore ` ;
const islandAttr = ` data- ${ directivePrefix } -interactive ` ;
const fullPrefix = ` data- ${ directivePrefix } - ` ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const namespaces = [ ] ;
const currentNamespace = ( ) => {
var _namespaces ;
return ( _namespaces = namespaces [ namespaces . length - 1 ] ) !== null && _namespaces !== void 0 ? _namespaces : null ;
} ;
2024-05-31 14:59:00 -04:00
const vdom _isObject = item => Boolean ( item && typeof item === 'object' && item . constructor === Object ) ;
2023-09-26 10:23:26 -04:00
// Regular expression for directive parsing.
const directiveParser = new RegExp ( ` ^data- ${ directivePrefix } - ` +
// ${p} must be a prefix string, like 'wp'.
// Match alphanumeric characters including hyphen-separated
// segments. It excludes underscore intentionally to prevent confusion.
// E.g., "custom-directive".
'([a-z0-9]+(?:-[a-z0-9]+)*)' +
// (Optional) Match '--' followed by any alphanumeric charachters. It
// excludes underscore intentionally to prevent confusion, but it can
// contain multiple hyphens. E.g., "--custom-prefix--with-more-info".
'(?:--([a-z0-9_-]+))?$' , 'i' // Case insensitive.
) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Regular expression for reference parsing. It can contain a namespace before
// the reference, separated by `::`, like `some-namespace::state.somePath`.
// Namespaces can contain any alphanumeric characters, hyphens, underscores or
// forward slashes. References don't have any restrictions.
2024-05-31 14:59:00 -04:00
const nsPathRegExp = /^([\w_\/-]+)::(.+)$/ ;
2023-09-26 10:23:26 -04:00
const hydratedIslands = new WeakSet ( ) ;
2024-02-09 13:22:22 -05:00
/ * *
* Recursive function that transforms a DOM tree into vDOM .
*
2024-05-23 15:39:28 -04:00
* @ param root The root element or node to start traversing on .
* @ return The resulting vDOM tree .
2024-02-09 13:22:22 -05:00
* /
2023-09-26 10:23:26 -04:00
function toVdom ( root ) {
2024-05-23 15:39:28 -04:00
const treeWalker = document . createTreeWalker ( root , 205 // TEXT + CDATA_SECTION + COMMENT + PROCESSING_INSTRUCTION + ELEMENT
2023-09-26 10:23:26 -04:00
) ;
function walk ( node ) {
const {
2024-05-23 15:39:28 -04:00
nodeType
2023-09-26 10:23:26 -04:00
} = node ;
2024-05-23 15:39:28 -04:00
// TEXT_NODE (3)
if ( nodeType === 3 ) {
return [ node . data ] ;
}
// CDATA_SECTION_NODE (4)
2023-09-26 10:23:26 -04:00
if ( nodeType === 4 ) {
2024-05-23 15:39:28 -04:00
var _nodeValue ;
2023-09-26 10:23:26 -04:00
const next = treeWalker . nextSibling ( ) ;
2024-05-23 15:39:28 -04:00
node . replaceWith ( new window . Text ( ( _nodeValue = node . nodeValue ) !== null && _nodeValue !== void 0 ? _nodeValue : '' ) ) ;
2023-09-26 10:23:26 -04:00
return [ node . nodeValue , next ] ;
}
2024-05-23 15:39:28 -04:00
// COMMENT_NODE (8) || PROCESSING_INSTRUCTION_NODE (7)
2023-09-26 10:23:26 -04:00
if ( nodeType === 8 || nodeType === 7 ) {
const next = treeWalker . nextSibling ( ) ;
node . remove ( ) ;
return [ null , next ] ;
}
2024-05-23 15:39:28 -04:00
const elementNode = node ;
const {
attributes
} = elementNode ;
const localName = elementNode . localName ;
2023-09-26 10:23:26 -04:00
const props = { } ;
const children = [ ] ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
const directives = [ ] ;
2023-09-26 10:23:26 -04:00
let ignore = false ;
let island = false ;
for ( let i = 0 ; i < attributes . length ; i ++ ) {
2024-05-23 15:39:28 -04:00
const attributeName = attributes [ i ] . name ;
2024-05-31 14:59:00 -04:00
const attributeValue = attributes [ i ] . value ;
2024-05-23 15:39:28 -04:00
if ( attributeName [ fullPrefix . length ] && attributeName . slice ( 0 , fullPrefix . length ) === fullPrefix ) {
if ( attributeName === ignoreAttr ) {
2023-09-26 10:23:26 -04:00
ignore = true ;
} else {
2024-05-31 14:59:00 -04:00
var _regexResult$ , _regexResult$2 ;
const regexResult = nsPathRegExp . exec ( attributeValue ) ;
const namespace = ( _regexResult$ = regexResult ? . [ 1 ] ) !== null && _regexResult$ !== void 0 ? _regexResult$ : null ;
let value = ( _regexResult$2 = regexResult ? . [ 2 ] ) !== null && _regexResult$2 !== void 0 ? _regexResult$2 : attributeValue ;
2023-09-26 10:23:26 -04:00
try {
2024-05-31 14:59:00 -04:00
const parsedValue = JSON . parse ( value ) ;
value = vdom _isObject ( parsedValue ) ? parsedValue : value ;
} catch { }
2024-05-23 15:39:28 -04:00
if ( attributeName === islandAttr ) {
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
island = true ;
2024-05-23 15:39:28 -04:00
const islandNamespace =
// eslint-disable-next-line no-nested-ternary
typeof value === 'string' ? value : typeof value ? . namespace === 'string' ? value . namespace : null ;
namespaces . push ( islandNamespace ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} else {
2024-05-23 15:39:28 -04:00
directives . push ( [ attributeName , namespace , value ] ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
}
2023-09-26 10:23:26 -04:00
}
2024-05-23 15:39:28 -04:00
} else if ( attributeName === 'ref' ) {
2023-09-26 10:23:26 -04:00
continue ;
}
2024-05-31 14:59:00 -04:00
props [ attributeName ] = attributeValue ;
2024-05-23 15:39:28 -04:00
}
if ( ignore && ! island ) {
return [ _ ( localName , {
... props ,
innerHTML : elementNode . innerHTML ,
_ _directives : {
ignore : true
}
} ) ] ;
}
if ( island ) {
hydratedIslands . add ( elementNode ) ;
2023-09-26 10:23:26 -04:00
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
if ( directives . length ) {
props . _ _directives = directives . reduce ( ( obj , [ name , ns , value ] ) => {
2024-05-23 15:39:28 -04:00
const directiveMatch = directiveParser . exec ( name ) ;
if ( directiveMatch === null ) {
2024-05-31 14:59:00 -04:00
warn ( ` Found malformed directive name: ${ name } . ` ) ;
2024-05-23 15:39:28 -04:00
return obj ;
}
const prefix = directiveMatch [ 1 ] || '' ;
const suffix = directiveMatch [ 2 ] || 'default' ;
obj [ prefix ] = obj [ prefix ] || [ ] ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
obj [ prefix ] . push ( {
namespace : ns !== null && ns !== void 0 ? ns : currentNamespace ( ) ,
value ,
suffix
} ) ;
return obj ;
} , { } ) ;
}
2024-05-23 15:39:28 -04:00
// @ts-expect-error Fixed in upcoming preact release https://github.com/preactjs/preact/pull/4334
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
if ( localName === 'template' ) {
2024-05-23 15:39:28 -04:00
props . content = [ ... elementNode . content . childNodes ] . map ( childNode => toVdom ( childNode ) ) ;
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
} else {
let child = treeWalker . firstChild ( ) ;
if ( child ) {
while ( child ) {
const [ vnode , nextChild ] = walk ( child ) ;
2024-05-23 15:39:28 -04:00
if ( vnode ) {
children . push ( vnode ) ;
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
child = nextChild || treeWalker . nextSibling ( ) ;
}
treeWalker . parentNode ( ) ;
2023-09-26 10:23:26 -04:00
}
}
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
// Restore previous namespace.
2024-05-23 15:39:28 -04:00
if ( island ) {
namespaces . pop ( ) ;
}
return [ _ ( localName , props , children ) ] ;
2023-09-26 10:23:26 -04:00
}
return walk ( treeWalker . currentNode ) ;
}
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/init.js
2023-09-26 10:23:26 -04:00
/ * *
* External dependencies
* /
/ * *
* Internal dependencies
* /
// Keep the same root fragment for each interactive region node.
const regionRootFragments = new WeakMap ( ) ;
const getRegionRootFragment = region => {
2024-05-31 14:59:00 -04:00
if ( ! region . parentElement ) {
throw Error ( 'The passed region should be an element with a parent.' ) ;
}
2023-09-26 10:23:26 -04:00
if ( ! regionRootFragments . has ( region ) ) {
regionRootFragments . set ( region , createRootFragment ( region . parentElement , region ) ) ;
}
return regionRootFragments . get ( region ) ;
} ;
2024-02-09 13:22:22 -05:00
// Initial vDOM regions associated with its DOM element.
const initialVdom = new WeakMap ( ) ;
2023-09-26 10:23:26 -04:00
// Initialize the router with the initial DOM.
const init = async ( ) => {
2024-02-09 13:22:22 -05:00
const nodes = document . querySelectorAll ( ` [data- ${ directivePrefix } -interactive] ` ) ;
for ( const node of nodes ) {
2023-09-26 10:23:26 -04:00
if ( ! hydratedIslands . has ( node ) ) {
2024-02-09 13:22:22 -05:00
await yieldToMain ( ) ;
2023-09-26 10:23:26 -04:00
const fragment = getRegionRootFragment ( node ) ;
const vdom = toVdom ( node ) ;
2024-02-09 13:22:22 -05:00
initialVdom . set ( node , vdom ) ;
await yieldToMain ( ) ;
2024-05-23 15:39:28 -04:00
D ( vdom , fragment ) ;
2023-09-26 10:23:26 -04:00
}
2024-02-09 13:22:22 -05:00
}
2023-09-26 10:23:26 -04:00
} ;
2024-01-31 07:59:56 -05:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/index.js
2023-09-26 10:23:26 -04:00
/ * *
2024-02-09 13:22:22 -05:00
* External dependencies
2023-09-26 10:23:26 -04:00
* /
2024-02-27 09:48:23 -05:00
2024-02-09 13:22:22 -05:00
/ * *
* Internal dependencies
* /
2023-09-26 10:23:26 -04:00
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
2024-02-27 09:48:23 -05:00
2024-02-09 13:22:22 -05:00
const requiredConsent = 'I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.' ;
const privateApis = lock => {
if ( lock === requiredConsent ) {
return {
directivePrefix : directivePrefix ,
getRegionRootFragment : getRegionRootFragment ,
initialVdom : initialVdom ,
toVdom : toVdom ,
directive : directive ,
getNamespace : getNamespace ,
2024-05-23 15:39:28 -04:00
h : _ ,
cloneElement : E ,
2024-02-09 13:22:22 -05:00
render : B ,
2024-02-27 09:48:23 -05:00
deepSignal : deepsignal _module _g ,
parseInitialData : parseInitialData ,
populateInitialData : populateInitialData ,
2024-05-23 15:39:28 -04:00
batch : signals _core _module _r
2024-02-09 13:22:22 -05:00
} ;
}
throw new Error ( 'Forbidden access.' ) ;
} ;
2023-09-26 10:23:26 -04:00
document . addEventListener ( 'DOMContentLoaded' , async ( ) => {
directives ( ) ;
await init ( ) ;
} ) ;
2024-01-31 07:59:56 -05:00
2024-05-24 05:42:09 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/debug.js
/ * *
* External dependencies
* /
2024-02-15 11:53:15 -05:00
var _ _webpack _exports _ _getConfig = _ _webpack _exports _ _ . zj ;
var _ _webpack _exports _ _getContext = _ _webpack _exports _ _ . SD ;
var _ _webpack _exports _ _getElement = _ _webpack _exports _ _ . V6 ;
var _ _webpack _exports _ _privateApis = _ _webpack _exports _ _ . jb ;
var _ _webpack _exports _ _store = _ _webpack _exports _ _ . M _ ;
var _ _webpack _exports _ _useCallback = _ _webpack _exports _ _ . hb ;
var _ _webpack _exports _ _useEffect = _ _webpack _exports _ _ . vJ ;
var _ _webpack _exports _ _useInit = _ _webpack _exports _ _ . ip ;
var _ _webpack _exports _ _useLayoutEffect = _ _webpack _exports _ _ . Nf ;
var _ _webpack _exports _ _useMemo = _ _webpack _exports _ _ . Kr ;
var _ _webpack _exports _ _useRef = _ _webpack _exports _ _ . li ;
var _ _webpack _exports _ _useState = _ _webpack _exports _ _ . J0 ;
var _ _webpack _exports _ _useWatch = _ _webpack _exports _ _ . FH ;
var _ _webpack _exports _ _withScope = _ _webpack _exports _ _ . v4 ;
2024-02-09 13:22:22 -05:00
export { _ _webpack _exports _ _getConfig as getConfig , _ _webpack _exports _ _getContext as getContext , _ _webpack _exports _ _getElement as getElement , _ _webpack _exports _ _privateApis as privateApis , _ _webpack _exports _ _store as store , _ _webpack _exports _ _useCallback as useCallback , _ _webpack _exports _ _useEffect as useEffect , _ _webpack _exports _ _useInit as useInit , _ _webpack _exports _ _useLayoutEffect as useLayoutEffect , _ _webpack _exports _ _useMemo as useMemo , _ _webpack _exports _ _useRef as useRef , _ _webpack _exports _ _useState as useState , _ _webpack _exports _ _useWatch as useWatch , _ _webpack _exports _ _withScope as withScope } ;