UNPKG

2.84 kBSource Map (JSON)View Raw
1{"version":3,"sources":["@wordpress/edit-post/src/components/fullscreen-mode/index.js"],"names":["Component","withSelect","FullscreenMode","isSticky","sync","document","body","classList","contains","remove","add","prevProps","props","isActive","select","isFeatureActive"],"mappings":";;;;;;AAAA;;;AAGA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,UAAT,QAA2B,iBAA3B;AAEA,WAAaC,cAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,wCACqB;AACnB,WAAKC,QAAL,GAAgB,KAAhB;AACA,WAAKC,IAAL,GAFmB,CAInB;AACA;AACA;AACA;;AACA,UAAKC,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,QAAxB,CAAkC,aAAlC,CAAL,EAAyD;AACxD,aAAKL,QAAL,GAAgB,IAAhB;AACAE,QAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAAgC,aAAhC;AACA;AACD;AAbF;AAAA;AAAA,2CAewB;AACtB,UAAK,KAAKN,QAAV,EAAqB;AACpBE,QAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBG,GAAxB,CAA6B,aAA7B;AACA;AACD;AAnBF;AAAA;AAAA,uCAqBqBC,SArBrB,EAqBiC;AAC/B,UAAK,KAAKC,KAAL,CAAWC,QAAX,KAAwBF,SAAS,CAACE,QAAvC,EAAkD;AACjD,aAAKT,IAAL;AACA;AACD;AAzBF;AAAA;AAAA,2BA2BQ;AAAA,UACES,QADF,GACe,KAAKD,KADpB,CACEC,QADF;;AAEN,UAAKA,QAAL,EAAgB;AACfR,QAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBG,GAAxB,CAA6B,oBAA7B;AACA,OAFD,MAEO;AACNL,QAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAAgC,oBAAhC;AACA;AACD;AAlCF;AAAA;AAAA,6BAoCU;AACR,aAAO,IAAP;AACA;AAtCF;;AAAA;AAAA,EAAoCT,SAApC;AAyCA,eAAeC,UAAU,CAAE,UAAEa,MAAF;AAAA,SAAgB;AAC1CD,IAAAA,QAAQ,EAAEC,MAAM,CAAE,gBAAF,CAAN,CAA2BC,eAA3B,CAA4C,gBAA5C;AADgC,GAAhB;AAAA,CAAF,CAAV,CAERb,cAFQ,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\nexport class FullscreenMode extends Component {\n\tcomponentDidMount() {\n\t\tthis.isSticky = false;\n\t\tthis.sync();\n\n\t\t// `is-fullscreen-mode` is set in PHP as a body class by Gutenberg, and this causes\n\t\t// `sticky-menu` to be applied by WordPress and prevents the admin menu being scrolled\n\t\t// even if `is-fullscreen-mode` is then removed. Let's remove `sticky-menu` here as\n\t\t// a consequence of the FullscreenMode setup\n\t\tif ( document.body.classList.contains( 'sticky-menu' ) ) {\n\t\t\tthis.isSticky = true;\n\t\t\tdocument.body.classList.remove( 'sticky-menu' );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.isSticky ) {\n\t\t\tdocument.body.classList.add( 'sticky-menu' );\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.isActive !== prevProps.isActive ) {\n\t\t\tthis.sync();\n\t\t}\n\t}\n\n\tsync() {\n\t\tconst { isActive } = this.props;\n\t\tif ( isActive ) {\n\t\t\tdocument.body.classList.add( 'is-fullscreen-mode' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-fullscreen-mode' );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default withSelect( ( select ) => ( {\n\tisActive: select( 'core/edit-post' ).isFeatureActive( 'fullscreenMode' ),\n} ) )( FullscreenMode );\n"]}
\No newline at end of file