@wordpress/edit-site 4.13.1-next.957ca95e4c.0 → 4.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-editor/index.js +20 -10
  3. package/build/components/block-editor/index.js.map +1 -1
  4. package/build/components/block-editor/resizable-editor.js +8 -1
  5. package/build/components/block-editor/resizable-editor.js.map +1 -1
  6. package/build/components/editor/index.js +9 -4
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/global-styles/gradients-palette-panel.js +6 -2
  9. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  10. package/build/components/global-styles/hooks.js +4 -2
  11. package/build/components/global-styles/hooks.js.map +1 -1
  12. package/build/components/global-styles/use-global-styles-output.js +41 -29
  13. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  14. package/build/components/header/index.js +41 -5
  15. package/build/components/header/index.js.map +1 -1
  16. package/build/components/list/header.js +15 -2
  17. package/build/components/list/header.js.map +1 -1
  18. package/build/components/navigation-sidebar/navigation-panel/index.js +10 -4
  19. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  20. package/build/components/sidebar/index.js +8 -3
  21. package/build/components/sidebar/index.js.map +1 -1
  22. package/build/components/template-part-converter/convert-to-template-part.js +16 -0
  23. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  24. package/build/index.js +4 -1
  25. package/build/index.js.map +1 -1
  26. package/build-module/components/block-editor/index.js +20 -9
  27. package/build-module/components/block-editor/index.js.map +1 -1
  28. package/build-module/components/block-editor/resizable-editor.js +9 -2
  29. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  30. package/build-module/components/editor/index.js +10 -5
  31. package/build-module/components/editor/index.js.map +1 -1
  32. package/build-module/components/global-styles/gradients-palette-panel.js +6 -2
  33. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  34. package/build-module/components/global-styles/hooks.js +5 -3
  35. package/build-module/components/global-styles/hooks.js.map +1 -1
  36. package/build-module/components/global-styles/use-global-styles-output.js +42 -30
  37. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  38. package/build-module/components/header/index.js +42 -7
  39. package/build-module/components/header/index.js.map +1 -1
  40. package/build-module/components/list/header.js +14 -2
  41. package/build-module/components/list/header.js.map +1 -1
  42. package/build-module/components/navigation-sidebar/navigation-panel/index.js +11 -5
  43. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  44. package/build-module/components/sidebar/index.js +7 -3
  45. package/build-module/components/sidebar/index.js.map +1 -1
  46. package/build-module/components/template-part-converter/convert-to-template-part.js +16 -1
  47. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  48. package/build-module/index.js +4 -1
  49. package/build-module/index.js.map +1 -1
  50. package/build-style/style-rtl.css +28 -16
  51. package/build-style/style.css +28 -16
  52. package/package.json +29 -29
  53. package/src/components/block-editor/index.js +34 -16
  54. package/src/components/block-editor/resizable-editor.js +10 -3
  55. package/src/components/code-editor/style.scss +2 -3
  56. package/src/components/editor/index.js +12 -5
  57. package/src/components/global-styles/gradients-palette-panel.js +25 -12
  58. package/src/components/global-styles/hooks.js +5 -3
  59. package/src/components/global-styles/use-global-styles-output.js +66 -57
  60. package/src/components/header/index.js +61 -21
  61. package/src/components/header/style.scss +9 -0
  62. package/src/components/list/header.js +15 -5
  63. package/src/components/navigation-sidebar/navigation-panel/index.js +30 -24
  64. package/src/components/sidebar/index.js +23 -20
  65. package/src/components/template-part-converter/convert-to-template-part.js +14 -1
  66. package/src/index.js +4 -0
  67. package/src/style.scss +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/resizable-editor.js"],"names":["useState","useEffect","useRef","useCallback","ResizableBox","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","useSelect","useMergeRefs","store","editSiteStore","ResizeHandle","DEFAULT_STYLES","width","height","HANDLE_STYLES_OVERRIDE","position","undefined","userSelect","cursor","top","right","bottom","left","ResizableEditor","enableResizing","settings","children","props","deviceType","select","__experimentalGetPreviewDeviceType","deviceStyles","setWidth","setHeight","iframeRef","mouseMoveTypingResetRef","ref","autoResizeIframeHeight","iframe","current","timeoutId","resizeHeight","contentWindow","setTimeout","readyState","contentDocument","body","scrollHeight","resizeObserver","registerObserver","disconnect","ResizeObserver","observe","addEventListener","clearTimeout","removeEventListener","resizeWidthBy","deltaPixels","offsetWidth","event","direction","element","style","styles","__unstableResolvedAssets","svgFilters"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport ResizeHandle from './resize-handle';\n\nconst DEFAULT_STYLES = {\n\twidth: '100%',\n\theight: '100%',\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nfunction ResizableEditor( { enableResizing, settings, children, ...props } ) {\n\tconst deviceType = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t[]\n\t);\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ width, setWidth ] = useState( DEFAULT_STYLES.width );\n\tconst [ height, setHeight ] = useState( DEFAULT_STYLES.height );\n\tconst iframeRef = useRef();\n\tconst mouseMoveTypingResetRef = useMouseMoveTypingReset();\n\tconst ref = useMergeRefs( [ iframeRef, mouseMoveTypingResetRef ] );\n\n\tuseEffect(\n\t\tfunction autoResizeIframeHeight() {\n\t\t\tconst iframe = iframeRef.current;\n\n\t\t\tif ( ! iframe || ! enableResizing ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet timeoutId = null;\n\n\t\t\tfunction resizeHeight() {\n\t\t\t\tif ( ! timeoutId ) {\n\t\t\t\t\t// Throttle the updates on timeout. This code previously\n\t\t\t\t\t// used `requestAnimationFrame`, but that seems to not\n\t\t\t\t\t// always work before an iframe is ready.\n\t\t\t\t\ttimeoutId = iframe.contentWindow.setTimeout( () => {\n\t\t\t\t\t\tconst { readyState } = iframe.contentDocument;\n\n\t\t\t\t\t\t// Continue deferring the timeout until the document is ready.\n\t\t\t\t\t\t// Only then will it have a height.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\treadyState !== 'interactive' &&\n\t\t\t\t\t\t\treadyState !== 'complete'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresizeHeight();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetHeight( iframe.contentDocument.body.scrollHeight );\n\t\t\t\t\t\ttimeoutId = null;\n\n\t\t\t\t\t\t// 30 frames per second.\n\t\t\t\t\t}, 1000 / 30 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet resizeObserver;\n\n\t\t\tfunction registerObserver() {\n\t\t\t\tresizeObserver?.disconnect();\n\n\t\t\t\tresizeObserver = new iframe.contentWindow.ResizeObserver(\n\t\t\t\t\tresizeHeight\n\t\t\t\t);\n\n\t\t\t\t// Observe the body, since the `html` element seems to always\n\t\t\t\t// have a height of `100%`.\n\t\t\t\tresizeObserver.observe( iframe.contentDocument.body );\n\n\t\t\t\tresizeHeight();\n\t\t\t}\n\n\t\t\t// This is only required in Firefox for some unknown reasons.\n\t\t\tiframe.addEventListener( 'load', registerObserver );\n\t\t\t// This is required in Chrome and Safari.\n\t\t\tregisterObserver();\n\n\t\t\treturn () => {\n\t\t\t\tiframe.contentWindow?.clearTimeout( timeoutId );\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tiframe.removeEventListener( 'load', registerObserver );\n\t\t\t};\n\t\t},\n\t\t[ enableResizing ]\n\t);\n\n\tconst resizeWidthBy = useCallback( ( deltaPixels ) => {\n\t\tif ( iframeRef.current ) {\n\t\t\tsetWidth( iframeRef.current.offsetWidth + deltaPixels );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tonResizeStop={ ( event, direction, element ) => {\n\t\t\t\tsetWidth( element.style.width );\n\t\t\t} }\n\t\t\tminWidth={ 300 }\n\t\t\tmaxWidth=\"100%\"\n\t\t\tmaxHeight=\"100%\"\n\t\t\tenable={ {\n\t\t\t\tright: enableResizing,\n\t\t\t\tleft: enableResizing,\n\t\t\t} }\n\t\t\tshowHandle={ enableResizing }\n\t\t\t// The editor is centered horizontally, resizing it only\n\t\t\t// moves half the distance. Hence double the ratio to correctly\n\t\t\t// align the cursor to the resizer handle.\n\t\t\tresizeRatio={ 2 }\n\t\t\thandleComponent={ {\n\t\t\t\tleft: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"left\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tright: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"right\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tstyle={ enableResizing ? { height } : deviceStyles }\n\t\t\t\thead={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t\t\t\t<style>{\n\t\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t\t}</style>\n\t\t\t\t\t\t{ enableResizing && (\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Force the <html> and <body>'s heights to fit the content.\n\t\t\t\t\t\t\t\t\t`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\t\t\t\t\t`.is-root-container { min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tassets={ settings.__unstableResolvedAssets }\n\t\t\t\tref={ ref }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ /* Filters need to be rendered before children to avoid Safari rendering issues. */ }\n\t\t\t\t{ settings.svgFilters }\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableEditor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/resizable-editor.js"],"names":["useState","useEffect","useRef","useCallback","ResizableBox","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","store","blockEditorStore","useSelect","useMergeRefs","editSiteStore","ResizeHandle","DEFAULT_STYLES","width","height","HANDLE_STYLES_OVERRIDE","position","undefined","userSelect","cursor","top","right","bottom","left","ResizableEditor","enableResizing","settings","children","props","deviceType","isZoomOutMode","select","__experimentalGetPreviewDeviceType","__unstableGetEditorMode","deviceStyles","setWidth","setHeight","iframeRef","mouseMoveTypingResetRef","ref","autoResizeIframeHeight","iframe","current","timeoutId","resizeHeight","contentWindow","setTimeout","readyState","contentDocument","body","scrollHeight","resizeObserver","registerObserver","disconnect","ResizeObserver","observe","addEventListener","clearTimeout","removeEventListener","resizeWidthBy","deltaPixels","offsetWidth","event","direction","element","style","styles","__unstableResolvedAssets","svgFilters"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,EAAsCC,WAAtC,QAAyD,oBAAzD;AACA,SAASC,YAAT,QAA6B,uBAA7B;AACA,SACCC,6BAA6B,IAAIC,eADlC,EAECC,sBAAsB,IAAIC,YAF3B,EAGCC,gBAAgB,IAAIC,MAHrB,EAICC,iCAAiC,IAAIC,uBAJtC,EAKCC,KAAK,IAAIC,gBALV,QAMO,yBANP;AAOA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,YAAT,QAA6B,oBAA7B;AAEA;AACA;AACA;;AACA,SAASH,KAAK,IAAII,aAAlB,QAAuC,aAAvC;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AAEA,MAAMC,cAAc,GAAG;AACtBC,EAAAA,KAAK,EAAE,MADe;AAEtBC,EAAAA,MAAM,EAAE;AAFc,CAAvB,C,CAKA;;AACA,MAAMC,sBAAsB,GAAG;AAC9BC,EAAAA,QAAQ,EAAEC,SADoB;AAE9BC,EAAAA,UAAU,EAAED,SAFkB;AAG9BE,EAAAA,MAAM,EAAEF,SAHsB;AAI9BJ,EAAAA,KAAK,EAAEI,SAJuB;AAK9BH,EAAAA,MAAM,EAAEG,SALsB;AAM9BG,EAAAA,GAAG,EAAEH,SANyB;AAO9BI,EAAAA,KAAK,EAAEJ,SAPuB;AAQ9BK,EAAAA,MAAM,EAAEL,SARsB;AAS9BM,EAAAA,IAAI,EAAEN;AATwB,CAA/B;;AAYA,SAASO,eAAT,OAA6E;AAAA,MAAnD;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA,QAA5B;AAAsC,OAAGC;AAAzC,GAAmD;AAC5E,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAAgCtB,SAAS,CAC5CuB,MAAF,KAAgB;AACfF,IAAAA,UAAU,EACTE,MAAM,CAAErB,aAAF,CAAN,CAAwBsB,kCAAxB,EAFc;AAGfF,IAAAA,aAAa,EACZC,MAAM,CAAExB,gBAAF,CAAN,CAA2B0B,uBAA3B,OACA;AALc,GAAhB,CAD8C,EAQ9C,EAR8C,CAA/C;AAUA,QAAMC,YAAY,GAAGnC,eAAe,CAAE8B,UAAF,CAApC;AACA,QAAM,CAAEhB,KAAF,EAASsB,QAAT,IAAsB1C,QAAQ,CAAEmB,cAAc,CAACC,KAAjB,CAApC;AACA,QAAM,CAAEC,MAAF,EAAUsB,SAAV,IAAwB3C,QAAQ,CAAEmB,cAAc,CAACE,MAAjB,CAAtC;AACA,QAAMuB,SAAS,GAAG1C,MAAM,EAAxB;AACA,QAAM2C,uBAAuB,GAAGjC,uBAAuB,EAAvD;AACA,QAAMkC,GAAG,GAAG9B,YAAY,CAAE,CAAE4B,SAAF,EAAaC,uBAAb,CAAF,CAAxB;AAEA5C,EAAAA,SAAS,CACR,SAAS8C,sBAAT,GAAkC;AACjC,UAAMC,MAAM,GAAGJ,SAAS,CAACK,OAAzB;;AAEA,QAAK,CAAED,MAAF,IAAY,CAAEhB,cAAnB,EAAoC;AACnC;AACA;;AAED,QAAIkB,SAAS,GAAG,IAAhB;;AAEA,aAASC,YAAT,GAAwB;AACvB,UAAK,CAAED,SAAP,EAAmB;AAClB;AACA;AACA;AACAA,QAAAA,SAAS,GAAGF,MAAM,CAACI,aAAP,CAAqBC,UAArB,CAAiC,MAAM;AAClD,gBAAM;AAAEC,YAAAA;AAAF,cAAiBN,MAAM,CAACO,eAA9B,CADkD,CAGlD;AACA;;AACA,cACCD,UAAU,KAAK,aAAf,IACAA,UAAU,KAAK,UAFhB,EAGE;AACDH,YAAAA,YAAY;AACZ;AACA;;AAEDR,UAAAA,SAAS,CAAEK,MAAM,CAACO,eAAP,CAAuBC,IAAvB,CAA4BC,YAA9B,CAAT;AACAP,UAAAA,SAAS,GAAG,IAAZ,CAdkD,CAgBlD;AACA,SAjBW,EAiBT,OAAO,EAjBE,CAAZ;AAkBA;AACD;;AAED,QAAIQ,cAAJ;;AAEA,aAASC,gBAAT,GAA4B;AAAA;;AAC3B,yBAAAD,cAAc,UAAd,0DAAgBE,UAAhB;AAEAF,MAAAA,cAAc,GAAG,IAAIV,MAAM,CAACI,aAAP,CAAqBS,cAAzB,CAChBV,YADgB,CAAjB,CAH2B,CAO3B;AACA;;AACAO,MAAAA,cAAc,CAACI,OAAf,CAAwBd,MAAM,CAACO,eAAP,CAAuBC,IAA/C;AAEAL,MAAAA,YAAY;AACZ,KAjDgC,CAmDjC;;;AACAH,IAAAA,MAAM,CAACe,gBAAP,CAAyB,MAAzB,EAAiCJ,gBAAjC,EApDiC,CAqDjC;;AACAA,IAAAA,gBAAgB;AAEhB,WAAO,MAAM;AAAA;;AACZ,+BAAAX,MAAM,CAACI,aAAP,gFAAsBY,YAAtB,CAAoCd,SAApC;AACA,0BAAAQ,cAAc,UAAd,4DAAgBE,UAAhB;AACAZ,MAAAA,MAAM,CAACiB,mBAAP,CAA4B,MAA5B,EAAoCN,gBAApC;AACA,KAJD;AAKA,GA9DO,EA+DR,CAAE3B,cAAF,CA/DQ,CAAT;AAkEA,QAAMkC,aAAa,GAAG/D,WAAW,CAAIgE,WAAF,IAAmB;AACrD,QAAKvB,SAAS,CAACK,OAAf,EAAyB;AACxBP,MAAAA,QAAQ,CAAEE,SAAS,CAACK,OAAV,CAAkBmB,WAAlB,GAAgCD,WAAlC,CAAR;AACA;AACD,GAJgC,EAI9B,EAJ8B,CAAjC;AAMA,SACC,cAAC,YAAD;AACC,IAAA,IAAI,EAAG;AACN/C,MAAAA,KADM;AAENC,MAAAA;AAFM,KADR;AAKC,IAAA,YAAY,EAAG,CAAEgD,KAAF,EAASC,SAAT,EAAoBC,OAApB,KAAiC;AAC/C7B,MAAAA,QAAQ,CAAE6B,OAAO,CAACC,KAAR,CAAcpD,KAAhB,CAAR;AACA,KAPF;AAQC,IAAA,QAAQ,EAAG,GARZ;AASC,IAAA,QAAQ,EAAC,MATV;AAUC,IAAA,SAAS,EAAC,MAVX;AAWC,IAAA,MAAM,EAAG;AACRQ,MAAAA,KAAK,EAAEI,cADC;AAERF,MAAAA,IAAI,EAAEE;AAFE,KAXV;AAeC,IAAA,UAAU,EAAGA,cAfd,CAgBC;AACA;AACA;AAlBD;AAmBC,IAAA,WAAW,EAAG,CAnBf;AAoBC,IAAA,eAAe,EAAG;AACjBF,MAAAA,IAAI,EACH,cAAC,YAAD;AACC,QAAA,SAAS,EAAC,MADX;AAEC,QAAA,aAAa,EAAGoC;AAFjB,QAFgB;AAOjBtC,MAAAA,KAAK,EACJ,cAAC,YAAD;AACC,QAAA,SAAS,EAAC,OADX;AAEC,QAAA,aAAa,EAAGsC;AAFjB;AARgB,KApBnB;AAkCC,IAAA,aAAa,EAAG1C,SAlCjB;AAmCC,IAAA,YAAY,EAAG;AACdM,MAAAA,IAAI,EAAER,sBADQ;AAEdM,MAAAA,KAAK,EAAEN;AAFO;AAnChB,KAwCC,cAAC,MAAD;AACC,IAAA,WAAW,EAAGe,aADf;AAEC,IAAA,KAAK,EAAGL,cAAc,GAAG;AAAEX,MAAAA;AAAF,KAAH,GAAgBoB,YAFvC;AAGC,IAAA,IAAI,EACH,8BACC,cAAC,YAAD;AAAc,MAAA,MAAM,EAAGR,QAAQ,CAACwC;AAAhC,MADD,EAEC,6BACC;AACA;AACC,gDAHF,CAFD,EAOGzC,cAAc,IACf,6BAEE;AACC,mHAHH,EAME;AACA;AACC,sDARH,CARF,CAJF;AA0BC,IAAA,MAAM,EAAGC,QAAQ,CAACyC,wBA1BnB;AA2BC,IAAA,GAAG,EAAG5B,GA3BP;AA4BC,IAAA,IAAI,EAAC,eA5BN;AA6BC,IAAA,SAAS,EAAC;AA7BX,KA8BMX,KA9BN,GAiCGF,QAAQ,CAAC0C,UAjCZ,EAkCGzC,QAlCH,CAxCD,CADD;AA+EA;;AAED,eAAeH,eAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport ResizeHandle from './resize-handle';\n\nconst DEFAULT_STYLES = {\n\twidth: '100%',\n\theight: '100%',\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nfunction ResizableEditor( { enableResizing, settings, children, ...props } ) {\n\tconst { deviceType, isZoomOutMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdeviceType:\n\t\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t\tisZoomOutMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() ===\n\t\t\t\t'zoom-out',\n\t\t} ),\n\t\t[]\n\t);\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ width, setWidth ] = useState( DEFAULT_STYLES.width );\n\tconst [ height, setHeight ] = useState( DEFAULT_STYLES.height );\n\tconst iframeRef = useRef();\n\tconst mouseMoveTypingResetRef = useMouseMoveTypingReset();\n\tconst ref = useMergeRefs( [ iframeRef, mouseMoveTypingResetRef ] );\n\n\tuseEffect(\n\t\tfunction autoResizeIframeHeight() {\n\t\t\tconst iframe = iframeRef.current;\n\n\t\t\tif ( ! iframe || ! enableResizing ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet timeoutId = null;\n\n\t\t\tfunction resizeHeight() {\n\t\t\t\tif ( ! timeoutId ) {\n\t\t\t\t\t// Throttle the updates on timeout. This code previously\n\t\t\t\t\t// used `requestAnimationFrame`, but that seems to not\n\t\t\t\t\t// always work before an iframe is ready.\n\t\t\t\t\ttimeoutId = iframe.contentWindow.setTimeout( () => {\n\t\t\t\t\t\tconst { readyState } = iframe.contentDocument;\n\n\t\t\t\t\t\t// Continue deferring the timeout until the document is ready.\n\t\t\t\t\t\t// Only then will it have a height.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\treadyState !== 'interactive' &&\n\t\t\t\t\t\t\treadyState !== 'complete'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresizeHeight();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetHeight( iframe.contentDocument.body.scrollHeight );\n\t\t\t\t\t\ttimeoutId = null;\n\n\t\t\t\t\t\t// 30 frames per second.\n\t\t\t\t\t}, 1000 / 30 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet resizeObserver;\n\n\t\t\tfunction registerObserver() {\n\t\t\t\tresizeObserver?.disconnect();\n\n\t\t\t\tresizeObserver = new iframe.contentWindow.ResizeObserver(\n\t\t\t\t\tresizeHeight\n\t\t\t\t);\n\n\t\t\t\t// Observe the body, since the `html` element seems to always\n\t\t\t\t// have a height of `100%`.\n\t\t\t\tresizeObserver.observe( iframe.contentDocument.body );\n\n\t\t\t\tresizeHeight();\n\t\t\t}\n\n\t\t\t// This is only required in Firefox for some unknown reasons.\n\t\t\tiframe.addEventListener( 'load', registerObserver );\n\t\t\t// This is required in Chrome and Safari.\n\t\t\tregisterObserver();\n\n\t\t\treturn () => {\n\t\t\t\tiframe.contentWindow?.clearTimeout( timeoutId );\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tiframe.removeEventListener( 'load', registerObserver );\n\t\t\t};\n\t\t},\n\t\t[ enableResizing ]\n\t);\n\n\tconst resizeWidthBy = useCallback( ( deltaPixels ) => {\n\t\tif ( iframeRef.current ) {\n\t\t\tsetWidth( iframeRef.current.offsetWidth + deltaPixels );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tonResizeStop={ ( event, direction, element ) => {\n\t\t\t\tsetWidth( element.style.width );\n\t\t\t} }\n\t\t\tminWidth={ 300 }\n\t\t\tmaxWidth=\"100%\"\n\t\t\tmaxHeight=\"100%\"\n\t\t\tenable={ {\n\t\t\t\tright: enableResizing,\n\t\t\t\tleft: enableResizing,\n\t\t\t} }\n\t\t\tshowHandle={ enableResizing }\n\t\t\t// The editor is centered horizontally, resizing it only\n\t\t\t// moves half the distance. Hence double the ratio to correctly\n\t\t\t// align the cursor to the resizer handle.\n\t\t\tresizeRatio={ 2 }\n\t\t\thandleComponent={ {\n\t\t\t\tleft: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"left\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tright: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"right\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tisZoomedOut={ isZoomOutMode }\n\t\t\t\tstyle={ enableResizing ? { height } : deviceStyles }\n\t\t\t\thead={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t\t\t\t<style>{\n\t\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t\t}</style>\n\t\t\t\t\t\t{ enableResizing && (\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Force the <html> and <body>'s heights to fit the content.\n\t\t\t\t\t\t\t\t\t`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\t\t\t\t\t`.is-root-container { min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tassets={ settings.__unstableResolvedAssets }\n\t\t\t\tref={ ref }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ /* Filters need to be rendered before children to avoid Safari rendering issues. */ }\n\t\t\t\t{ settings.svgFilters }\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableEditor;\n"]}
@@ -7,7 +7,7 @@ import { useEffect, useState, useMemo, useCallback } from '@wordpress/element';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
8
8
  import { Popover, Button, Notice } from '@wordpress/components';
9
9
  import { EntityProvider, store as coreStore } from '@wordpress/core-data';
10
- import { BlockContextProvider, BlockBreadcrumb, BlockStyles } from '@wordpress/block-editor';
10
+ import { BlockContextProvider, BlockBreadcrumb, BlockStyles, store as blockEditorStore } from '@wordpress/block-editor';
11
11
  import { InterfaceSkeleton, ComplementaryArea, store as interfaceStore } from '@wordpress/interface';
12
12
  import { EditorNotices, EditorSnackbars, EntitiesSavedStates } from '@wordpress/editor';
13
13
  import { __ } from '@wordpress/i18n';
@@ -70,7 +70,8 @@ function Editor(_ref) {
70
70
  previousShortcut,
71
71
  nextShortcut,
72
72
  editorMode,
73
- showIconLabels
73
+ showIconLabels,
74
+ blockEditorMode
74
75
  } = useSelect(select => {
75
76
  const {
76
77
  isInserterOpened,
@@ -86,6 +87,9 @@ function Editor(_ref) {
86
87
  hasFinishedResolution,
87
88
  getEntityRecord
88
89
  } = select(coreStore);
90
+ const {
91
+ __unstableGetEditorMode
92
+ } = select(blockEditorStore);
89
93
  const postType = getEditedPostType();
90
94
  const postId = getEditedPostId(); // The currently selected entity to display. Typically template or template part.
91
95
 
@@ -103,7 +107,8 @@ function Editor(_ref) {
103
107
  previousShortcut: select(keyboardShortcutsStore).getAllShortcutKeyCombinations('core/edit-site/previous-region'),
104
108
  nextShortcut: select(keyboardShortcutsStore).getAllShortcutKeyCombinations('core/edit-site/next-region'),
105
109
  editorMode: getEditorMode(),
106
- showIconLabels: select(preferencesStore).get('core/edit-site', 'showIconLabels')
110
+ showIconLabels: select(preferencesStore).get('core/edit-site', 'showIconLabels'),
111
+ blockEditorMode: __unstableGetEditorMode()
107
112
  };
108
113
  }, []);
109
114
  const {
@@ -208,9 +213,9 @@ function Editor(_ref) {
208
213
  onClick: openEntitiesSavedStates,
209
214
  "aria-expanded": false
210
215
  }, __('Open save panel')))),
211
- footer: createElement(BlockBreadcrumb, {
216
+ footer: blockEditorMode !== 'zoom-out' ? createElement(BlockBreadcrumb, {
212
217
  rootLabelText: __('Template')
213
- }),
218
+ }) : undefined,
214
219
  shortcuts: {
215
220
  previous: previousShortcut,
216
221
  next: nextShortcut
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["useEffect","useState","useMemo","useCallback","useSelect","useDispatch","Popover","Button","Notice","EntityProvider","store","coreStore","BlockContextProvider","BlockBreadcrumb","BlockStyles","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","EntitiesSavedStates","__","ShortcutProvider","keyboardShortcutsStore","preferencesStore","Header","SidebarComplementaryAreaFills","NavigationSidebar","BlockEditor","CodeEditor","KeyboardShortcuts","URLQueryController","InserterSidebar","ListViewSidebar","ErrorBoundary","WelcomeGuide","editSiteStore","GlobalStylesRenderer","GlobalStylesProvider","useTitle","interfaceLabels","header","body","sidebar","actions","footer","drawer","Editor","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","previousShortcut","nextShortcut","editorMode","showIconLabels","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","getEditorMode","hasFinishedResolution","getEntityRecord","postType","postId","getActiveComplementaryArea","name","getAllShortcutKeyCombinations","get","setPage","setIsInserterOpened","enableComplementaryArea","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","isReady","siteUrl","undefined","secondarySidebarLabel","secondarySidebar","previous","next"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover, Button, Notice } from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tBlockStyles,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tShortcutProvider,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport useTitle from '../routes/use-title';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n\t/* translators: accessibility text for the navigation sidebar landmark region. */\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\teditorMode,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { setPage, setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst [ isEntitiesSavedStatesOpen, setIsEntitiesSavedStatesOpen ] =\n\t\tuseState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded.\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\n\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( editorMode === 'visual' && isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( editorMode === 'visual' && isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URlQueryController> from double-announcing.\n\tuseTitle( isReady && __( 'Editor (beta)' ) );\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar:\n\t\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebarLabel,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels &&\n\t\t\t\t\t\t\t\t\t\t\t\t'show-icon-labels'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar.Slot />\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'visual' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\t\t\t\trootLabelText={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Template'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\t\t\t\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["useEffect","useState","useMemo","useCallback","useSelect","useDispatch","Popover","Button","Notice","EntityProvider","store","coreStore","BlockContextProvider","BlockBreadcrumb","BlockStyles","blockEditorStore","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","EntitiesSavedStates","__","ShortcutProvider","keyboardShortcutsStore","preferencesStore","Header","SidebarComplementaryAreaFills","NavigationSidebar","BlockEditor","CodeEditor","KeyboardShortcuts","URLQueryController","InserterSidebar","ListViewSidebar","ErrorBoundary","WelcomeGuide","editSiteStore","GlobalStylesRenderer","GlobalStylesProvider","useTitle","interfaceLabels","header","body","sidebar","actions","footer","drawer","Editor","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","previousShortcut","nextShortcut","editorMode","showIconLabels","blockEditorMode","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","getEditorMode","hasFinishedResolution","getEntityRecord","__unstableGetEditorMode","postType","postId","getActiveComplementaryArea","name","getAllShortcutKeyCombinations","get","setPage","setIsInserterOpened","enableComplementaryArea","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","isReady","siteUrl","undefined","secondarySidebarLabel","secondarySidebar","previous","next"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover, Button, Notice } from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tBlockStyles,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tShortcutProvider,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport useTitle from '../routes/use-title';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n\t/* translators: accessibility text for the navigation sidebar landmark region. */\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\teditorMode,\n\t\tshowIconLabels,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst { setPage, setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst [ isEntitiesSavedStatesOpen, setIsEntitiesSavedStatesOpen ] =\n\t\tuseState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded.\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\n\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( editorMode === 'visual' && isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( editorMode === 'visual' && isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URlQueryController> from double-announcing.\n\tuseTitle( isReady && __( 'Editor (beta)' ) );\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar:\n\t\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebarLabel,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels &&\n\t\t\t\t\t\t\t\t\t\t\t\t'show-icon-labels'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar.Slot />\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'visual' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\t\t\t\t\tblockEditorMode !==\n\t\t\t\t\t\t\t\t\t\t\t\t'zoom-out' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trootLabelText={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Template'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t) : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\t\t\t\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
@@ -24,7 +24,11 @@ export default function GradientPalettePanel(_ref) {
24
24
  const [baseDefaultGradients] = useSetting('color.gradients.default', name, 'base');
25
25
  const [customGradients, setCustomGradients] = useSetting('color.gradients.custom', name);
26
26
  const [defaultPaletteEnabled] = useSetting('color.defaultGradients', name);
27
- const [duotonePalette] = useSetting('color.duotone') || [];
27
+ const [customDuotone] = useSetting('color.duotone.custom') || [];
28
+ const [defaultDuotone] = useSetting('color.duotone.default') || [];
29
+ const [themeDuotone] = useSetting('color.duotone.theme') || [];
30
+ const [defaultDuotoneEnabled] = useSetting('color.defaultDuotone');
31
+ const duotonePalette = [...(customDuotone || []), ...(themeDuotone || []), ...(defaultDuotone && defaultDuotoneEnabled ? defaultDuotone : [])];
28
32
  return createElement(VStack, {
29
33
  className: "edit-site-global-styles-gradient-palette-panel",
30
34
  spacing: 10
@@ -46,7 +50,7 @@ export default function GradientPalettePanel(_ref) {
46
50
  paletteLabel: __('Custom'),
47
51
  emptyMessage: __('Custom gradients are empty! Add some gradients to create your own palette.'),
48
52
  slugPrefix: "custom-"
49
- }), createElement("div", null, createElement(Subtitle, null, __('Duotone')), createElement(Spacer, {
53
+ }), !!duotonePalette && !!duotonePalette.length && createElement("div", null, createElement(Subtitle, null, __('Duotone')), createElement(Spacer, {
50
54
  margin: 3
51
55
  }), createElement(DuotonePicker, {
52
56
  duotonePalette: duotonePalette,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["__experimentalVStack","VStack","__experimentalPaletteEdit","PaletteEdit","__experimentalSpacer","Spacer","DuotonePicker","__","useSetting","Subtitle","noop","GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","duotonePalette","length"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MADzB,EAECC,yBAAyB,IAAIC,WAF9B,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,aAJD,QAKO,uBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,SAA3B;AACA,OAAOC,QAAP,MAAqB,YAArB;;AAEA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,eAAe,SAASC,oBAAT,OAA0C;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACxD,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwCN,UAAU,CACvD,uBADuD,EAEvDI,IAFuD,CAAxD;AAIA,QAAM,CAAEG,kBAAF,IAAyBP,UAAU,CACxC,uBADwC,EAExCI,IAFwC,EAGxC,MAHwC,CAAzC;AAKA,QAAM,CAAEI,gBAAF,EAAoBC,mBAApB,IAA4CT,UAAU,CAC3D,yBAD2D,EAE3DI,IAF2D,CAA5D;AAIA,QAAM,CAAEM,oBAAF,IAA2BV,UAAU,CAC1C,yBAD0C,EAE1CI,IAF0C,EAG1C,MAH0C,CAA3C;AAKA,QAAM,CAAEO,eAAF,EAAmBC,kBAAnB,IAA0CZ,UAAU,CACzD,wBADyD,EAEzDI,IAFyD,CAA1D;AAKA,QAAM,CAAES,qBAAF,IAA4Bb,UAAU,CAC3C,wBAD2C,EAE3CI,IAF2C,CAA5C;AAIA,QAAM,CAAEU,cAAF,IAAqBd,UAAU,CAAE,eAAF,CAAV,IAAiC,EAA5D;AACA,SACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,gDADX;AAEC,IAAA,OAAO,EAAG;AAFX,KAIG,CAAC,CAAEK,cAAH,IAAqB,CAAC,CAAEA,cAAc,CAACU,MAAvC,IACD,cAAC,WAAD;AACC,IAAA,QAAQ,EAAGV,cAAc,KAAKE,kBAD/B;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,SAAS,EAAGF,cAHb;AAIC,IAAA,QAAQ,EAAGC,iBAJZ;AAKC,IAAA,YAAY,EAAGP,EAAE,CAAE,OAAF;AALlB,IALF,EAaG,CAAC,CAAES,gBAAH,IACD,CAAC,CAAEA,gBAAgB,CAACO,MADnB,IAED,CAAC,CAAEF,qBAFF,IAGA,cAAC,WAAD;AACC,IAAA,QAAQ,EAAGL,gBAAgB,KAAKE,oBADjC;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,SAAS,EAAGF,gBAHb;AAIC,IAAA,QAAQ,EAAGC,mBAJZ;AAKC,IAAA,YAAY,EAAGV,EAAE,CAAE,SAAF;AALlB,IAhBH,EAwBC,cAAC,WAAD;AACC,IAAA,SAAS,EAAGY,eADb;AAEC,IAAA,QAAQ,EAAGC,kBAFZ;AAGC,IAAA,YAAY,EAAGb,EAAE,CAAE,QAAF,CAHlB;AAIC,IAAA,YAAY,EAAGA,EAAE,CAChB,4EADgB,CAJlB;AAOC,IAAA,UAAU,EAAC;AAPZ,IAxBD,EAiCC,2BACC,cAAC,QAAD,QAAYA,EAAE,CAAE,SAAF,CAAd,CADD,EAEC,cAAC,MAAD;AAAQ,IAAA,MAAM,EAAG;AAAjB,IAFD,EAGC,cAAC,aAAD;AACC,IAAA,cAAc,EAAGe,cADlB;AAEC,IAAA,oBAAoB,EAAG,IAFxB;AAGC,IAAA,mBAAmB,EAAG,IAHvB;AAIC,IAAA,SAAS,EAAG,KAJb;AAKC,IAAA,QAAQ,EAAGZ;AALZ,IAHD,CAjCD,CADD;AA+CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalSpacer as Spacer,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from './hooks';\nimport Subtitle from './subtitle';\n\nconst noop = () => {};\n\nexport default function GradientPalettePanel( { name } ) {\n\tconst [ themeGradients, setThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname\n\t);\n\tconst [ baseThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultGradients, setDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname\n\t);\n\tconst [ baseDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customGradients, setCustomGradients ] = useSetting(\n\t\t'color.gradients.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useSetting(\n\t\t'color.defaultGradients',\n\t\tname\n\t);\n\tconst [ duotonePalette ] = useSetting( 'color.duotone' ) || [];\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-gradient-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeGradients && !! themeGradients.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeGradients !== baseThemeGradients }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tgradients={ themeGradients }\n\t\t\t\t\tonChange={ setThemeGradients }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultGradients &&\n\t\t\t\t!! defaultGradients.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultGradients !== baseDefaultGradients }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tgradients={ defaultGradients }\n\t\t\t\t\t\tonChange={ setDefaultGradients }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tgradients={ customGradients }\n\t\t\t\tonChange={ setCustomGradients }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom gradients are empty! Add some gradients to create your own palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<Subtitle>{ __( 'Duotone' ) }</Subtitle>\n\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t<DuotonePicker\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\tclearable={ false }\n\t\t\t\t\tonChange={ noop }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</VStack>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["__experimentalVStack","VStack","__experimentalPaletteEdit","PaletteEdit","__experimentalSpacer","Spacer","DuotonePicker","__","useSetting","Subtitle","noop","GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","customDuotone","defaultDuotone","themeDuotone","defaultDuotoneEnabled","duotonePalette","length"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalSpacer as Spacer,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from './hooks';\nimport Subtitle from './subtitle';\n\nconst noop = () => {};\n\nexport default function GradientPalettePanel( { name } ) {\n\tconst [ themeGradients, setThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname\n\t);\n\tconst [ baseThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultGradients, setDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname\n\t);\n\tconst [ baseDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customGradients, setCustomGradients ] = useSetting(\n\t\t'color.gradients.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useSetting(\n\t\t'color.defaultGradients',\n\t\tname\n\t);\n\n\tconst [ customDuotone ] = useSetting( 'color.duotone.custom' ) || [];\n\tconst [ defaultDuotone ] = useSetting( 'color.duotone.default' ) || [];\n\tconst [ themeDuotone ] = useSetting( 'color.duotone.theme' ) || [];\n\tconst [ defaultDuotoneEnabled ] = useSetting( 'color.defaultDuotone' );\n\n\tconst duotonePalette = [\n\t\t...( customDuotone || [] ),\n\t\t...( themeDuotone || [] ),\n\t\t...( defaultDuotone && defaultDuotoneEnabled ? defaultDuotone : [] ),\n\t];\n\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-gradient-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeGradients && !! themeGradients.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeGradients !== baseThemeGradients }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tgradients={ themeGradients }\n\t\t\t\t\tonChange={ setThemeGradients }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultGradients &&\n\t\t\t\t!! defaultGradients.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultGradients !== baseDefaultGradients }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tgradients={ defaultGradients }\n\t\t\t\t\t\tonChange={ setDefaultGradients }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tgradients={ customGradients }\n\t\t\t\tonChange={ setCustomGradients }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom gradients are empty! Add some gradients to create your own palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t/>\n\t\t\t{ !! duotonePalette && !! duotonePalette.length && (\n\t\t\t\t<div>\n\t\t\t\t\t<Subtitle>{ __( 'Duotone' ) }</Subtitle>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\tonChange={ noop }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { get, cloneDeep, set, isEqual } from 'lodash';
4
+ import { get, set, isEqual } from 'lodash';
5
5
  /**
6
6
  * WordPress dependencies
7
7
  */
@@ -41,7 +41,8 @@ export function useSetting(path, blockName) {
41
41
 
42
42
  const setSetting = newValue => {
43
43
  setUserConfig(currentConfig => {
44
- const newUserConfig = cloneDeep(currentConfig);
44
+ // Deep clone `currentConfig` to avoid mutating it later.
45
+ const newUserConfig = JSON.parse(JSON.stringify(currentConfig));
45
46
  const pathToSet = PATHS_WITH_MERGE[path] ? fullPath + '.custom' : fullPath;
46
47
  set(newUserConfig, pathToSet, newValue);
47
48
  return newUserConfig;
@@ -103,7 +104,8 @@ export function useStyle(path, blockName) {
103
104
 
104
105
  const setStyle = newValue => {
105
106
  setUserConfig(currentConfig => {
106
- const newUserConfig = cloneDeep(currentConfig);
107
+ // Deep clone `currentConfig` to avoid mutating it later.
108
+ const newUserConfig = JSON.parse(JSON.stringify(currentConfig));
107
109
  set(newUserConfig, finalPath, getPresetVariableFromValue(mergedConfig.settings, blockName, path, newValue));
108
110
  return newUserConfig;
109
111
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/hooks.js"],"names":["get","cloneDeep","set","isEqual","_x","useContext","useCallback","useMemo","getBlockType","__EXPERIMENTAL_PATHS_WITH_MERGE","PATHS_WITH_MERGE","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","getValueFromVariable","getPresetVariableFromValue","GlobalStylesContext","EMPTY_CONFIG","settings","styles","useGlobalStylesReset","user","config","setUserConfig","canReset","useSetting","path","blockName","source","merged","mergedConfig","base","baseConfig","userConfig","fullPath","setSetting","newValue","currentConfig","newUserConfig","pathToSet","getSettingValueForContext","name","currentPath","getSettingValue","configToUse","result","custom","theme","default","resultWithFallback","useStyle","finalPath","setStyle","ROOT_BLOCK_SUPPORTS","getSupportedGlobalStylesPanels","blockType","supportKeys","supports","spacing","blockGap","__experimentalSkipSerialization","some","spacingType","push","Object","keys","forEach","styleName","support","requiresOptOut","useColorsPerOrigin","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","length","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,SAAd,EAAyBC,GAAzB,EAA8BC,OAA9B,QAA6C,QAA7C;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,WAArB,EAAkCC,OAAlC,QAAiD,oBAAjD;AACA,SACCC,YADD,EAECC,+BAA+B,IAAIC,gBAFpC,EAGCC,6BAA6B,IAAIC,cAHlC,QAIO,mBAJP;AAMA;AACA;AACA;;AACA,SAASC,oBAAT,EAA+BC,0BAA/B,QAAiE,SAAjE;AACA,SAASC,mBAAT,QAAoC,WAApC;AAEA,MAAMC,YAAY,GAAG;AAAEC,EAAAA,QAAQ,EAAE,EAAZ;AAAgBC,EAAAA,MAAM,EAAE;AAAxB,CAArB;AAEA,OAAO,MAAMC,oBAAoB,GAAG,MAAM;AACzC,QAAM;AAAEC,IAAAA,IAAI,EAAEC,MAAR;AAAgBC,IAAAA;AAAhB,MAAkCjB,UAAU,CAAEU,mBAAF,CAAlD;AACA,QAAMQ,QAAQ,GAAG,CAAC,CAAEF,MAAH,IAAa,CAAElB,OAAO,CAAEkB,MAAF,EAAUL,YAAV,CAAvC;AACA,SAAO,CACNO,QADM,EAENjB,WAAW,CACV,MAAMgB,aAAa,CAAE,MAAMN,YAAR,CADT,EAEV,CAAEM,aAAF,CAFU,CAFL,CAAP;AAOA,CAVM;AAYP,OAAO,SAASE,UAAT,CAAqBC,IAArB,EAA2BC,SAA3B,EAAuD;AAAA;;AAAA,MAAjBC,MAAiB,uEAAR,KAAQ;AAC7D,QAAM;AACLC,IAAAA,MAAM,EAAEC,YADH;AAELC,IAAAA,IAAI,EAAEC,UAFD;AAGLX,IAAAA,IAAI,EAAEY,UAHD;AAILV,IAAAA;AAJK,MAKFjB,UAAU,CAAEU,mBAAF,CALd;AAOA,QAAMkB,QAAQ,GAAG,CAAEP,SAAF,GACb,YAAYD,IAAM,EADL,GAEb,mBAAmBC,SAAW,IAAID,IAAM,EAF5C;;AAIA,QAAMS,UAAU,GAAKC,QAAF,IAAgB;AAClCb,IAAAA,aAAa,CAAIc,aAAF,IAAqB;AACnC,YAAMC,aAAa,GAAGpC,SAAS,CAAEmC,aAAF,CAA/B;AACA,YAAME,SAAS,GAAG5B,gBAAgB,CAAEe,IAAF,CAAhB,GACfQ,QAAQ,GAAG,SADI,GAEfA,QAFH;AAGA/B,MAAAA,GAAG,CAAEmC,aAAF,EAAiBC,SAAjB,EAA4BH,QAA5B,CAAH;AAEA,aAAOE,aAAP;AACA,KARY,CAAb;AASA,GAVD;;AAYA,QAAME,yBAAyB,GAAKC,IAAF,IAAY;AAC7C,UAAMC,WAAW,GAAG,CAAED,IAAF,GAChB,YAAYf,IAAM,EADF,GAEhB,mBAAmBe,IAAM,IAAIf,IAAM,EAFvC;;AAIA,UAAMiB,eAAe,GAAKC,WAAF,IAAmB;AAC1C,YAAMC,MAAM,GAAG5C,GAAG,CAAE2C,WAAF,EAAeF,WAAf,CAAlB;;AACA,UAAK/B,gBAAgB,CAAEe,IAAF,CAArB,EAAgC;AAAA;;AAC/B,yCAAOmB,MAAP,aAAOA,MAAP,uBAAOA,MAAM,CAAEC,MAAf,2DAAyBD,MAAzB,aAAyBA,MAAzB,uBAAyBA,MAAM,CAAEE,KAAjC,uCAA0CF,MAA1C,aAA0CA,MAA1C,uBAA0CA,MAAM,CAAEG,OAAlD;AACA;;AACD,aAAOH,MAAP;AACA,KAND;;AAQA,QAAIA,MAAJ;;AACA,YAASjB,MAAT;AACC,WAAK,KAAL;AACCiB,QAAAA,MAAM,GAAGF,eAAe,CAAEb,YAAF,CAAxB;AACA;;AACD,WAAK,MAAL;AACCe,QAAAA,MAAM,GAAGF,eAAe,CAAEV,UAAF,CAAxB;AACA;;AACD,WAAK,MAAL;AACCY,QAAAA,MAAM,GAAGF,eAAe,CAAEX,UAAF,CAAxB;AACA;;AACD;AACC,cAAM,oBAAN;AAXF;;AAcA,WAAOa,MAAP;AACA,GA7BD,CAxB6D,CAuD7D;;;AACA,QAAMI,kBAAkB,4BACvBT,yBAAyB,CAAEb,SAAF,CADF,yEACmBa,yBAAyB,EADpE;AAGA,SAAO,CAAES,kBAAF,EAAsBd,UAAtB,CAAP;AACA;AAED,OAAO,SAASe,QAAT,CAAmBxB,IAAnB,EAAyBC,SAAzB,EAAqD;AAAA;;AAAA,MAAjBC,MAAiB,uEAAR,KAAQ;AAC3D,QAAM;AACLC,IAAAA,MAAM,EAAEC,YADH;AAELC,IAAAA,IAAI,EAAEC,UAFD;AAGLX,IAAAA,IAAI,EAAEY,UAHD;AAILV,IAAAA;AAJK,MAKFjB,UAAU,CAAEU,mBAAF,CALd;AAMA,QAAMmC,SAAS,GAAG,CAAExB,SAAF,GACd,UAAUD,IAAM,EADF,GAEd,iBAAiBC,SAAW,IAAID,IAAM,EAF1C;;AAIA,QAAM0B,QAAQ,GAAKhB,QAAF,IAAgB;AAChCb,IAAAA,aAAa,CAAIc,aAAF,IAAqB;AACnC,YAAMC,aAAa,GAAGpC,SAAS,CAAEmC,aAAF,CAA/B;AACAlC,MAAAA,GAAG,CACFmC,aADE,EAEFa,SAFE,EAGFpC,0BAA0B,CACzBe,YAAY,CAACZ,QADY,EAEzBS,SAFyB,EAGzBD,IAHyB,EAIzBU,QAJyB,CAHxB,CAAH;AAUA,aAAOE,aAAP;AACA,KAbY,CAAb;AAcA,GAfD;;AAiBA,MAAIO,MAAJ;;AACA,UAASjB,MAAT;AACC,SAAK,KAAL;AACCiB,MAAAA,MAAM,GAAG/B,oBAAoB,CAC5BgB,YAD4B,EAE5BH,SAF4B,UAG5B1B,GAAG,CAAEgC,UAAF,EAAckB,SAAd,CAHyB,uCAGIlD,GAAG,CAAE+B,UAAF,EAAcmB,SAAd,CAHP,CAA7B;AAKA;;AACD,SAAK,MAAL;AACCN,MAAAA,MAAM,GAAG/B,oBAAoB,CAC5BgB,YAD4B,EAE5BH,SAF4B,EAG5B1B,GAAG,CAAEgC,UAAF,EAAckB,SAAd,CAHyB,CAA7B;AAKA;;AACD,SAAK,MAAL;AACCN,MAAAA,MAAM,GAAG/B,oBAAoB,CAC5BkB,UAD4B,EAE5BL,SAF4B,EAG5B1B,GAAG,CAAE+B,UAAF,EAAcmB,SAAd,CAHyB,CAA7B;AAKA;;AACD;AACC,YAAM,oBAAN;AAvBF;;AA0BA,SAAO,CAAEN,MAAF,EAAUO,QAAV,CAAP;AACA;AAED,MAAMC,mBAAmB,GAAG,CAC3B,YAD2B,EAE3B,iBAF2B,EAG3B,OAH2B,EAI3B,WAJ2B,EAK3B,aAL2B,EAM3B,YAN2B,EAO3B,UAP2B,EAQ3B,WAR2B,EAS3B,YAT2B,EAU3B,YAV2B,EAW3B,gBAX2B,EAY3B,eAZ2B,EAa3B,SAb2B,EAc3B,aAd2B,EAe3B,UAf2B,EAgB3B,UAhB2B,CAA5B;AAmBA,OAAO,SAASC,8BAAT,CAAyCb,IAAzC,EAAgD;AAAA;;AACtD,MAAK,CAAEA,IAAP,EAAc;AACb,WAAOY,mBAAP;AACA;;AAED,QAAME,SAAS,GAAG9C,YAAY,CAAEgC,IAAF,CAA9B;;AAEA,MAAK,CAAEc,SAAP,EAAmB;AAClB,WAAO,EAAP;AACA;;AAED,QAAMC,WAAW,GAAG,EAApB,CAXsD,CAatD;AACA;AACA;;AACA,MACCD,SAAS,SAAT,IAAAA,SAAS,WAAT,2BAAAA,SAAS,CAAEE,QAAX,6FAAqBC,OAArB,wEAA8BC,QAA9B,IACA,CAAAJ,SAAS,SAAT,IAAAA,SAAS,WAAT,oCAAAA,SAAS,CAAEE,QAAX,uGAAqBC,OAArB,gFAA8BE,+BAA9B,MACC,IAFD,IAGA,EAAEL,SAAF,aAAEA,SAAF,uCAAEA,SAAS,CAAEE,QAAb,0EAAE,qBAAqBC,OAAvB,4EAAE,sBAA8BE,+BAAhC,6EAAE,uBAA+DC,IAAjE,mDAAE,oDACCC,WAAF,IAAmBA,WAAW,KAAK,UADlC,CAAF,CAJD,EAOE;AACDN,IAAAA,WAAW,CAACO,IAAZ,CAAkB,UAAlB;AACA;;AAEDC,EAAAA,MAAM,CAACC,IAAP,CAAapD,cAAb,EAA8BqD,OAA9B,CAAyCC,SAAF,IAAiB;AACvD,QAAK,CAAEtD,cAAc,CAAEsD,SAAF,CAAd,CAA4BC,OAAnC,EAA6C;AAC5C;AACA,KAHsD,CAKvD;AACA;AACA;;;AACA,QAAKvD,cAAc,CAAEsD,SAAF,CAAd,CAA4BE,cAAjC,EAAkD;AACjD,UACCxD,cAAc,CAAEsD,SAAF,CAAd,CAA4BC,OAA5B,CAAqC,CAArC,KACCb,SAAS,CAACE,QADX,IAEAxD,GAAG,CACFsD,SAAS,CAACE,QADR,EAEF5C,cAAc,CAAEsD,SAAF,CAAd,CAA4BC,OAF1B,CAAH,KAGM,KANP,EAOE;AACD,eAAOZ,WAAW,CAACO,IAAZ,CAAkBI,SAAlB,CAAP;AACA;AACD;;AAED,QACClE,GAAG,CACFsD,SAAS,CAACE,QADR,EAEF5C,cAAc,CAAEsD,SAAF,CAAd,CAA4BC,OAF1B,EAGF,KAHE,CADJ,EAME;AACD,aAAOZ,WAAW,CAACO,IAAZ,CAAkBI,SAAlB,CAAP;AACA;AACD,GA9BD;AAgCA,SAAOX,WAAP;AACA;AAED,OAAO,SAASc,kBAAT,CAA6B7B,IAA7B,EAAoC;AAC1C,QAAM,CAAE8B,YAAF,IAAmB9C,UAAU,CAAE,sBAAF,EAA0BgB,IAA1B,CAAnC;AACA,QAAM,CAAE+B,WAAF,IAAkB/C,UAAU,CAAE,qBAAF,EAAyBgB,IAAzB,CAAlC;AACA,QAAM,CAAEgC,aAAF,IAAoBhD,UAAU,CAAE,uBAAF,EAA2BgB,IAA3B,CAApC;AACA,QAAM,CAAEiC,0BAAF,IAAiCjD,UAAU,CAAE,sBAAF,CAAjD;AAEA,SAAOjB,OAAO,CAAE,MAAM;AACrB,UAAMqC,MAAM,GAAG,EAAf;;AACA,QAAK2B,WAAW,IAAIA,WAAW,CAACG,MAAhC,EAAyC;AACxC9B,MAAAA,MAAM,CAACkB,IAAP,CAAa;AACZtB,QAAAA,IAAI,EAAEpC,EAAE,CACP,OADO,EAEP,8CAFO,CADI;AAKZuE,QAAAA,MAAM,EAAEJ;AALI,OAAb;AAOA;;AACD,QACCE,0BAA0B,IAC1BD,aADA,IAEAA,aAAa,CAACE,MAHf,EAIE;AACD9B,MAAAA,MAAM,CAACkB,IAAP,CAAa;AACZtB,QAAAA,IAAI,EAAEpC,EAAE,CACP,SADO,EAEP,8CAFO,CADI;AAKZuE,QAAAA,MAAM,EAAEH;AALI,OAAb;AAOA;;AACD,QAAKF,YAAY,IAAIA,YAAY,CAACI,MAAlC,EAA2C;AAC1C9B,MAAAA,MAAM,CAACkB,IAAP,CAAa;AACZtB,QAAAA,IAAI,EAAEpC,EAAE,CACP,QADO,EAEP,gDAFO,CADI;AAKZuE,QAAAA,MAAM,EAAEL;AALI,OAAb;AAOA;;AACD,WAAO1B,MAAP;AACA,GAlCa,EAkCX,CAAE0B,YAAF,EAAgBC,WAAhB,EAA6BC,aAA7B,CAlCW,CAAd;AAmCA;AAED,OAAO,SAASI,qBAAT,CAAgCpC,IAAhC,EAAuC;AAC7C,QAAM,CAAEqC,eAAF,IAAsBrD,UAAU,CAAE,wBAAF,EAA4BgB,IAA5B,CAAtC;AACA,QAAM,CAAEsC,cAAF,IAAqBtD,UAAU,CAAE,uBAAF,EAA2BgB,IAA3B,CAArC;AACA,QAAM,CAAEuC,gBAAF,IAAuBvD,UAAU,CAAE,yBAAF,EAA6BgB,IAA7B,CAAvC;AACA,QAAM,CAAEwC,6BAAF,IAAoCxD,UAAU,CACnD,wBADmD,CAApD;AAIA,SAAOjB,OAAO,CAAE,MAAM;AACrB,UAAMqC,MAAM,GAAG,EAAf;;AACA,QAAKkC,cAAc,IAAIA,cAAc,CAACJ,MAAtC,EAA+C;AAC9C9B,MAAAA,MAAM,CAACkB,IAAP,CAAa;AACZtB,QAAAA,IAAI,EAAEpC,EAAE,CACP,OADO,EAEP,8CAFO,CADI;AAKZ6E,QAAAA,SAAS,EAAEH;AALC,OAAb;AAOA;;AACD,QACCE,6BAA6B,IAC7BD,gBADA,IAEAA,gBAAgB,CAACL,MAHlB,EAIE;AACD9B,MAAAA,MAAM,CAACkB,IAAP,CAAa;AACZtB,QAAAA,IAAI,EAAEpC,EAAE,CACP,SADO,EAEP,8CAFO,CADI;AAKZ6E,QAAAA,SAAS,EAAEF;AALC,OAAb;AAOA;;AACD,QAAKF,eAAe,IAAIA,eAAe,CAACH,MAAxC,EAAiD;AAChD9B,MAAAA,MAAM,CAACkB,IAAP,CAAa;AACZtB,QAAAA,IAAI,EAAEpC,EAAE,CACP,QADO,EAEP,gDAFO,CADI;AAKZ6E,QAAAA,SAAS,EAAEJ;AALC,OAAb;AAOA;;AACD,WAAOjC,MAAP;AACA,GAlCa,EAkCX,CAAEiC,eAAF,EAAmBC,cAAnB,EAAmCC,gBAAnC,CAlCW,CAAd;AAmCA","sourcesContent":["/**\n * External dependencies\n */\nimport { get, cloneDeep, set, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\t__EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE,\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! isEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useSetting( path, blockName, source = 'all' ) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\n\tconst fullPath = ! blockName\n\t\t? `settings.${ path }`\n\t\t: `settings.blocks.${ blockName }.${ path }`;\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\tconst newUserConfig = cloneDeep( currentConfig );\n\t\t\tconst pathToSet = PATHS_WITH_MERGE[ path ]\n\t\t\t\t? fullPath + '.custom'\n\t\t\t\t: fullPath;\n\t\t\tset( newUserConfig, pathToSet, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tconst getSettingValueForContext = ( name ) => {\n\t\tconst currentPath = ! name\n\t\t\t? `settings.${ path }`\n\t\t\t: `settings.blocks.${ name }.${ path }`;\n\n\t\tconst getSettingValue = ( configToUse ) => {\n\t\t\tconst result = get( configToUse, currentPath );\n\t\t\tif ( PATHS_WITH_MERGE[ path ] ) {\n\t\t\t\treturn result?.custom ?? result?.theme ?? result?.default;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tlet result;\n\t\tswitch ( source ) {\n\t\t\tcase 'all':\n\t\t\t\tresult = getSettingValue( mergedConfig );\n\t\t\t\tbreak;\n\t\t\tcase 'user':\n\t\t\t\tresult = getSettingValue( userConfig );\n\t\t\t\tbreak;\n\t\t\tcase 'base':\n\t\t\t\tresult = getSettingValue( baseConfig );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Unlike styles settings get inherited from top level settings.\n\tconst resultWithFallback =\n\t\tgetSettingValueForContext( blockName ) ?? getSettingValueForContext();\n\n\treturn [ resultWithFallback, setSetting ];\n}\n\nexport function useStyle( path, blockName, source = 'all' ) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst finalPath = ! blockName\n\t\t? `styles.${ path }`\n\t\t: `styles.blocks.${ blockName }.${ path }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\tconst newUserConfig = cloneDeep( currentConfig );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tgetPresetVariableFromValue(\n\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\tblockName,\n\t\t\t\t\tpath,\n\t\t\t\t\tnewValue\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tmergedConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( userConfig, finalPath ) ?? get( baseConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tmergedConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( userConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tbaseConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( baseConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\nconst ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'buttonColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n\t'contentSize',\n\t'wideSize',\n\t'blockGap',\n];\n\nexport function getSupportedGlobalStylesPanels( name ) {\n\tif ( ! name ) {\n\t\treturn ROOT_BLOCK_SUPPORTS;\n\t}\n\n\tconst blockType = getBlockType( name );\n\n\tif ( ! blockType ) {\n\t\treturn [];\n\t}\n\n\tconst supportKeys = [];\n\n\t// Check for blockGap support.\n\t// Block spacing support doesn't map directly to a single style property, so needs to be handled separately.\n\t// Also, only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tif (\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization !==\n\t\t\ttrue &&\n\t\t! blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t)\n\t) {\n\t\tsupportKeys.push( 'blockGap' );\n\t}\n\n\tObject.keys( STYLE_PROPERTY ).forEach( ( styleName ) => {\n\t\tif ( ! STYLE_PROPERTY[ styleName ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ styleName ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\tSTYLE_PROPERTY[ styleName ].support[ 0 ] in\n\t\t\t\t\tblockType.supports &&\n\t\t\t\tget(\n\t\t\t\t\tblockType.supports,\n\t\t\t\t\tSTYLE_PROPERTY[ styleName ].support\n\t\t\t\t) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( styleName );\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tget(\n\t\t\t\tblockType.supports,\n\t\t\t\tSTYLE_PROPERTY[ styleName ].support,\n\t\t\t\tfalse\n\t\t\t)\n\t\t) {\n\t\t\treturn supportKeys.push( styleName );\n\t\t}\n\t} );\n\n\treturn supportKeys;\n}\n\nexport function useColorsPerOrigin( name ) {\n\tconst [ customColors ] = useSetting( 'color.palette.custom', name );\n\tconst [ themeColors ] = useSetting( 'color.palette.theme', name );\n\tconst [ defaultColors ] = useSetting( 'color.palette.default', name );\n\tconst [ shouldDisplayDefaultColors ] = useSetting( 'color.defaultPalette' );\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [ customColors, themeColors, defaultColors ] );\n}\n\nexport function useGradientsPerOrigin( name ) {\n\tconst [ customGradients ] = useSetting( 'color.gradients.custom', name );\n\tconst [ themeGradients ] = useSetting( 'color.gradients.theme', name );\n\tconst [ defaultGradients ] = useSetting( 'color.gradients.default', name );\n\tconst [ shouldDisplayDefaultGradients ] = useSetting(\n\t\t'color.defaultGradients'\n\t);\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [ customGradients, themeGradients, defaultGradients ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/hooks.js"],"names":["get","set","isEqual","_x","useContext","useCallback","useMemo","getBlockType","__EXPERIMENTAL_PATHS_WITH_MERGE","PATHS_WITH_MERGE","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","getValueFromVariable","getPresetVariableFromValue","GlobalStylesContext","EMPTY_CONFIG","settings","styles","useGlobalStylesReset","user","config","setUserConfig","canReset","useSetting","path","blockName","source","merged","mergedConfig","base","baseConfig","userConfig","fullPath","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","pathToSet","getSettingValueForContext","name","currentPath","getSettingValue","configToUse","result","custom","theme","default","resultWithFallback","useStyle","finalPath","setStyle","ROOT_BLOCK_SUPPORTS","getSupportedGlobalStylesPanels","blockType","supportKeys","supports","spacing","blockGap","__experimentalSkipSerialization","some","spacingType","push","Object","keys","forEach","styleName","support","requiresOptOut","useColorsPerOrigin","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","length","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, set, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\t__EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE,\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! isEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useSetting( path, blockName, source = 'all' ) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\n\tconst fullPath = ! blockName\n\t\t? `settings.${ path }`\n\t\t: `settings.blocks.${ blockName }.${ path }`;\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tconst pathToSet = PATHS_WITH_MERGE[ path ]\n\t\t\t\t? fullPath + '.custom'\n\t\t\t\t: fullPath;\n\t\t\tset( newUserConfig, pathToSet, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tconst getSettingValueForContext = ( name ) => {\n\t\tconst currentPath = ! name\n\t\t\t? `settings.${ path }`\n\t\t\t: `settings.blocks.${ name }.${ path }`;\n\n\t\tconst getSettingValue = ( configToUse ) => {\n\t\t\tconst result = get( configToUse, currentPath );\n\t\t\tif ( PATHS_WITH_MERGE[ path ] ) {\n\t\t\t\treturn result?.custom ?? result?.theme ?? result?.default;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tlet result;\n\t\tswitch ( source ) {\n\t\t\tcase 'all':\n\t\t\t\tresult = getSettingValue( mergedConfig );\n\t\t\t\tbreak;\n\t\t\tcase 'user':\n\t\t\t\tresult = getSettingValue( userConfig );\n\t\t\t\tbreak;\n\t\t\tcase 'base':\n\t\t\t\tresult = getSettingValue( baseConfig );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Unlike styles settings get inherited from top level settings.\n\tconst resultWithFallback =\n\t\tgetSettingValueForContext( blockName ) ?? getSettingValueForContext();\n\n\treturn [ resultWithFallback, setSetting ];\n}\n\nexport function useStyle( path, blockName, source = 'all' ) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst finalPath = ! blockName\n\t\t? `styles.${ path }`\n\t\t: `styles.blocks.${ blockName }.${ path }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tgetPresetVariableFromValue(\n\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\tblockName,\n\t\t\t\t\tpath,\n\t\t\t\t\tnewValue\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tmergedConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( userConfig, finalPath ) ?? get( baseConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tmergedConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( userConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\tresult = getValueFromVariable(\n\t\t\t\tbaseConfig,\n\t\t\t\tblockName,\n\t\t\t\tget( baseConfig, finalPath )\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\nconst ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'buttonColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n\t'contentSize',\n\t'wideSize',\n\t'blockGap',\n];\n\nexport function getSupportedGlobalStylesPanels( name ) {\n\tif ( ! name ) {\n\t\treturn ROOT_BLOCK_SUPPORTS;\n\t}\n\n\tconst blockType = getBlockType( name );\n\n\tif ( ! blockType ) {\n\t\treturn [];\n\t}\n\n\tconst supportKeys = [];\n\n\t// Check for blockGap support.\n\t// Block spacing support doesn't map directly to a single style property, so needs to be handled separately.\n\t// Also, only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tif (\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization !==\n\t\t\ttrue &&\n\t\t! blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t)\n\t) {\n\t\tsupportKeys.push( 'blockGap' );\n\t}\n\n\tObject.keys( STYLE_PROPERTY ).forEach( ( styleName ) => {\n\t\tif ( ! STYLE_PROPERTY[ styleName ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ styleName ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\tSTYLE_PROPERTY[ styleName ].support[ 0 ] in\n\t\t\t\t\tblockType.supports &&\n\t\t\t\tget(\n\t\t\t\t\tblockType.supports,\n\t\t\t\t\tSTYLE_PROPERTY[ styleName ].support\n\t\t\t\t) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( styleName );\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tget(\n\t\t\t\tblockType.supports,\n\t\t\t\tSTYLE_PROPERTY[ styleName ].support,\n\t\t\t\tfalse\n\t\t\t)\n\t\t) {\n\t\t\treturn supportKeys.push( styleName );\n\t\t}\n\t} );\n\n\treturn supportKeys;\n}\n\nexport function useColorsPerOrigin( name ) {\n\tconst [ customColors ] = useSetting( 'color.palette.custom', name );\n\tconst [ themeColors ] = useSetting( 'color.palette.theme', name );\n\tconst [ defaultColors ] = useSetting( 'color.palette.default', name );\n\tconst [ shouldDisplayDefaultColors ] = useSetting( 'color.defaultPalette' );\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [ customColors, themeColors, defaultColors ] );\n}\n\nexport function useGradientsPerOrigin( name ) {\n\tconst [ customGradients ] = useSetting( 'color.gradients.custom', name );\n\tconst [ themeGradients ] = useSetting( 'color.gradients.theme', name );\n\tconst [ defaultGradients ] = useSetting( 'color.gradients.default', name );\n\tconst [ shouldDisplayDefaultGradients ] = useSetting(\n\t\t'color.defaultGradients'\n\t);\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [ customGradients, themeGradients, defaultGradients ] );\n}\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * External dependencies
5
5
  */
6
- import { first, forEach, get, isEmpty, kebabCase, pickBy, reduce, set } from 'lodash';
6
+ import { get, isEmpty, kebabCase, pickBy, reduce, set } from 'lodash';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
@@ -190,7 +190,7 @@ export function getStylesDeclarations() {
190
190
 
191
191
  const pathToValue = value;
192
192
 
193
- if (first(pathToValue) === 'elements' || useEngine) {
193
+ if (pathToValue[0] === 'elements' || useEngine) {
194
194
  return declarations;
195
195
  }
196
196
 
@@ -296,8 +296,8 @@ export function getLayoutStyles(_ref6) {
296
296
  spacingStyles
297
297
  } = _ref7;
298
298
 
299
- // Allow skipping default layout for themes that opt-in to block styles, but opt-out of blockGap.
300
- if (!hasBlockGapSupport && 'default' === name) {
299
+ // Allow outputting fallback gap styles for flex layout type when block gap support isn't available.
300
+ if (!hasBlockGapSupport && 'flex' !== name) {
301
301
  return;
302
302
  }
303
303
 
@@ -370,7 +370,7 @@ export function getLayoutStyles(_ref6) {
370
370
  return ruleset;
371
371
  }
372
372
  export const getNodesWithStyles = (tree, blockSelectors) => {
373
- var _tree$styles3;
373
+ var _tree$styles$blocks, _tree$styles3;
374
374
 
375
375
  const nodes = [];
376
376
 
@@ -390,9 +390,11 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
390
390
  });
391
391
  }
392
392
 
393
- forEach(ELEMENTS, (selector, name) => {
393
+ Object.entries(ELEMENTS).forEach(_ref11 => {
394
394
  var _tree$styles;
395
395
 
396
+ let [name, selector] = _ref11;
397
+
396
398
  if (!!((_tree$styles = tree.styles) !== null && _tree$styles !== void 0 && _tree$styles.elements[name])) {
397
399
  var _tree$styles2;
398
400
 
@@ -403,9 +405,10 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
403
405
  }
404
406
  }); // Iterate over blocks: they can have styles & elements.
405
407
 
406
- forEach((_tree$styles3 = tree.styles) === null || _tree$styles3 === void 0 ? void 0 : _tree$styles3.blocks, (node, blockName) => {
407
- var _blockSelectors$block;
408
+ Object.entries((_tree$styles$blocks = (_tree$styles3 = tree.styles) === null || _tree$styles3 === void 0 ? void 0 : _tree$styles3.blocks) !== null && _tree$styles$blocks !== void 0 ? _tree$styles$blocks : {}).forEach(_ref12 => {
409
+ var _blockSelectors$block, _node$elements;
408
410
 
411
+ let [blockName, node] = _ref12;
409
412
  const blockStyles = pickStyleKeys(node);
410
413
 
411
414
  if (!!blockStyles && !!(blockSelectors !== null && blockSelectors !== void 0 && (_blockSelectors$block = blockSelectors[blockName]) !== null && _blockSelectors$block !== void 0 && _blockSelectors$block.selector)) {
@@ -419,7 +422,9 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
419
422
  });
420
423
  }
421
424
 
422
- forEach(node === null || node === void 0 ? void 0 : node.elements, (value, elementName) => {
425
+ Object.entries((_node$elements = node === null || node === void 0 ? void 0 : node.elements) !== null && _node$elements !== void 0 ? _node$elements : {}).forEach(_ref13 => {
426
+ let [elementName, value] = _ref13;
427
+
423
428
  if (!!value && !!(blockSelectors !== null && blockSelectors !== void 0 && blockSelectors[blockName]) && !!(ELEMENTS !== null && ELEMENTS !== void 0 && ELEMENTS[elementName])) {
424
429
  nodes.push({
425
430
  styles: value,
@@ -434,7 +439,7 @@ export const getNodesWithStyles = (tree, blockSelectors) => {
434
439
  return nodes;
435
440
  };
436
441
  export const getNodesWithSettings = (tree, blockSelectors) => {
437
- var _tree$settings3, _tree$settings4;
442
+ var _tree$settings3, _tree$settings$blocks, _tree$settings4;
438
443
 
439
444
  const nodes = [];
440
445
 
@@ -444,10 +449,10 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
444
449
 
445
450
  const pickPresets = treeToPickFrom => {
446
451
  const presets = {};
447
- PRESET_METADATA.forEach(_ref11 => {
452
+ PRESET_METADATA.forEach(_ref14 => {
448
453
  let {
449
454
  path
450
- } = _ref11;
455
+ } = _ref14;
451
456
  const value = get(treeToPickFrom, path, false);
452
457
 
453
458
  if (value !== false) {
@@ -470,7 +475,8 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
470
475
  } // Blocks.
471
476
 
472
477
 
473
- forEach((_tree$settings4 = tree.settings) === null || _tree$settings4 === void 0 ? void 0 : _tree$settings4.blocks, (node, blockName) => {
478
+ Object.entries((_tree$settings$blocks = (_tree$settings4 = tree.settings) === null || _tree$settings4 === void 0 ? void 0 : _tree$settings4.blocks) !== null && _tree$settings$blocks !== void 0 ? _tree$settings$blocks : {}).forEach(_ref15 => {
479
+ let [blockName, node] = _ref15;
474
480
  const blockPresets = pickPresets(node);
475
481
  const blockCustom = node.custom;
476
482
 
@@ -487,12 +493,12 @@ export const getNodesWithSettings = (tree, blockSelectors) => {
487
493
  export const toCustomProperties = (tree, blockSelectors) => {
488
494
  const settings = getNodesWithSettings(tree, blockSelectors);
489
495
  let ruleset = '';
490
- settings.forEach(_ref12 => {
496
+ settings.forEach(_ref16 => {
491
497
  let {
492
498
  presets,
493
499
  custom,
494
500
  selector
495
- } = _ref12;
501
+ } = _ref16;
496
502
  const declarations = getPresetsDeclarations(presets, tree === null || tree === void 0 ? void 0 : tree.settings);
497
503
  const customProps = flattenTree(custom, '--wp--custom--', '--');
498
504
 
@@ -537,11 +543,17 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
537
543
  }
538
544
 
539
545
  if (useRootPaddingAlign) {
540
- ruleset += 'padding-right: 0; padding-left: 0; padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom) } .has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); } .has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); } .has-global-padding > .alignfull > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left);';
546
+ ruleset += `padding-right: 0; padding-left: 0; padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom) }
547
+ .has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
548
+ .has-global-padding :where(.has-global-padding) { padding-right: 0; padding-left: 0; }
549
+ .has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }
550
+ .has-global-padding :where(.has-global-padding) > .alignfull { margin-right: 0; margin-left: 0; }
551
+ .has-global-padding > .alignfull:where(:not(.has-global-padding)) > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
552
+ .has-global-padding :where(.has-global-padding) > .alignfull:where(:not(.has-global-padding)) > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: 0; padding-left: 0;`;
541
553
  }
542
554
 
543
555
  ruleset += '}';
544
- nodesWithStyles.forEach(_ref13 => {
556
+ nodesWithStyles.forEach(_ref17 => {
545
557
  let {
546
558
  selector,
547
559
  duotoneSelector,
@@ -549,13 +561,13 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
549
561
  fallbackGapValue,
550
562
  hasLayoutSupport,
551
563
  featureSelectors
552
- } = _ref13;
564
+ } = _ref17;
553
565
 
554
566
  // Process styles for block support features with custom feature level
555
567
  // CSS selectors set.
556
568
  if (featureSelectors) {
557
- Object.entries(featureSelectors).forEach(_ref14 => {
558
- let [featureName, featureSelector] = _ref14;
569
+ Object.entries(featureSelectors).forEach(_ref18 => {
570
+ let [featureName, featureSelector] = _ref18;
559
571
 
560
572
  if (styles !== null && styles !== void 0 && styles[featureName]) {
561
573
  const featureStyles = {
@@ -607,14 +619,14 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
607
619
  } // Check for pseudo selector in `styles` and handle separately.
608
620
 
609
621
 
610
- const pseudoSelectorStyles = Object.entries(styles).filter(_ref15 => {
611
- let [key] = _ref15;
622
+ const pseudoSelectorStyles = Object.entries(styles).filter(_ref19 => {
623
+ let [key] = _ref19;
612
624
  return key.startsWith(':');
613
625
  });
614
626
 
615
627
  if (pseudoSelectorStyles !== null && pseudoSelectorStyles !== void 0 && pseudoSelectorStyles.length) {
616
- pseudoSelectorStyles.forEach(_ref16 => {
617
- let [pseudoKey, pseudoStyle] = _ref16;
628
+ pseudoSelectorStyles.forEach(_ref20 => {
629
+ let [pseudoKey, pseudoStyle] = _ref20;
618
630
  const pseudoDeclarations = getStylesDeclarations(pseudoStyle);
619
631
 
620
632
  if (!(pseudoDeclarations !== null && pseudoDeclarations !== void 0 && pseudoDeclarations.length)) {
@@ -650,11 +662,11 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
650
662
  ruleset = ruleset + `.wp-site-blocks > * + * { margin-block-start: ${gapValue}; }`;
651
663
  }
652
664
 
653
- nodesWithSettings.forEach(_ref17 => {
665
+ nodesWithSettings.forEach(_ref21 => {
654
666
  let {
655
667
  selector,
656
668
  presets
657
- } = _ref17;
669
+ } = _ref21;
658
670
 
659
671
  if (ROOT_BLOCK_SELECTOR === selector) {
660
672
  // Do not add extra specificity for top-level classes.
@@ -671,10 +683,10 @@ export const toStyles = function (tree, blockSelectors, hasBlockGapSupport, hasF
671
683
  };
672
684
  export function toSvgFilters(tree, blockSelectors) {
673
685
  const nodesWithSettings = getNodesWithSettings(tree, blockSelectors);
674
- return nodesWithSettings.flatMap(_ref18 => {
686
+ return nodesWithSettings.flatMap(_ref22 => {
675
687
  let {
676
688
  presets
677
- } = _ref18;
689
+ } = _ref22;
678
690
  return getPresetsSvgFilters(presets);
679
691
  });
680
692
  }
@@ -690,10 +702,10 @@ export const getBlockSelectors = blockTypes => {
690
702
  const fallbackGapValue = blockType === null || blockType === void 0 ? void 0 : (_blockType$supports4 = blockType.supports) === null || _blockType$supports4 === void 0 ? void 0 : (_blockType$supports4$ = _blockType$supports4.spacing) === null || _blockType$supports4$ === void 0 ? void 0 : (_blockType$supports4$2 = _blockType$supports4$.blockGap) === null || _blockType$supports4$2 === void 0 ? void 0 : _blockType$supports4$2.__experimentalDefault; // For each block support feature add any custom selectors.
691
703
 
692
704
  const featureSelectors = {};
693
- Object.entries(BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS).forEach(_ref19 => {
705
+ Object.entries(BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS).forEach(_ref23 => {
694
706
  var _blockType$supports5, _blockType$supports5$;
695
707
 
696
- let [featureKey, featureName] = _ref19;
708
+ let [featureKey, featureName] = _ref23;
697
709
  const featureSelector = blockType === null || blockType === void 0 ? void 0 : (_blockType$supports5 = blockType.supports) === null || _blockType$supports5 === void 0 ? void 0 : (_blockType$supports5$ = _blockType$supports5[featureKey]) === null || _blockType$supports5$ === void 0 ? void 0 : _blockType$supports5$.__experimentalSelector;
698
710
 
699
711
  if (featureSelector) {