client/components/tinymce/plugins/touch-scroll-toolbar/plugin.js
function hideToolbarFadeOnFullScroll() {
		editor
			.$( [
				editor.$( '.mce-inline-toolbar-grp .mce-container-body', document.body ),
				editor.$( '.mce-toolbar-grp', editor.theme.panel.getEl() ),
			] )
			.each( ( i, toolbar ) => {
				toolbar.on(
					'scroll',
					throttle( ( { target } ) => {
						let action;
						if ( target.scrollLeft === target.scrollWidth - target.clientWidth ) {
							action = 'add';
						} else if ( tinymce.DOM.hasClass( target, 'is-scrolled-full' ) ) {
							action = 'remove';
						}

						if ( action ) {
							const elements = editor.$( target );
							if ( ! elements.hasClass( 'mce-container-body' ) ) {
								elements.add( tinymce.DOM.getParent( target, '.mce-container-body' ) );
							}

							elements[ action + 'Class' ]( 'is-scrolled-full' );
						}
					}, 200 )
				);
			} );
	}
function hideToolbarFadeOnFullScroll() {
		editor
			.$( [
				editor.$( '.mce-inline-toolbar-grp .mce-container-body', document.body ),
				editor.$( '.mce-toolbar-grp', editor.theme.panel.getEl() ),
			] )
			.each( ( i, toolbar ) => {
				toolbar.on(
					'scroll',
					throttle( ( { target } ) => {
						let action;
						if ( target.scrollLeft === target.scrollWidth - target.clientWidth ) {
							action = 'add';
						} else if ( tinymce.DOM.hasClass( target, 'is-scrolled-full' ) ) {
							action = 'remove';
						}

						if ( action ) {
							const elements = editor.$( target );
							if ( ! elements.hasClass( 'mce-container-body' ) ) {
								elements.add( tinymce.DOM.getParent( target, '.mce-container-body' ) );
							}

							elements[ action + 'Class' ]( 'is-scrolled-full' );
						}
					}, 200 )
				);
			} );
	}
Monitors the toolbar's `scroll` event, applying a `.is-scrolled-full`
class if and only if the left scroll position has reached the element's
maximum scroll offset.